aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SymbolRewriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Utils/SymbolRewriter.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SymbolRewriter.cpp30
1 files changed, 16 insertions, 14 deletions
diff --git a/llvm/lib/Transforms/Utils/SymbolRewriter.cpp b/llvm/lib/Transforms/Utils/SymbolRewriter.cpp
index aacf81d83519..ec4ea848a5d4 100644
--- a/llvm/lib/Transforms/Utils/SymbolRewriter.cpp
+++ b/llvm/lib/Transforms/Utils/SymbolRewriter.cpp
@@ -117,8 +117,9 @@ public:
const std::string Target;
ExplicitRewriteDescriptor(StringRef S, StringRef T, const bool Naked)
- : RewriteDescriptor(DT), Source(Naked ? StringRef("\01" + S.str()) : S),
- Target(T) {}
+ : RewriteDescriptor(DT),
+ Source(std::string(Naked ? StringRef("\01" + S.str()) : S)),
+ Target(std::string(T)) {}
bool performOnModule(Module &M) override;
@@ -159,7 +160,8 @@ public:
const std::string Transform;
PatternRewriteDescriptor(StringRef P, StringRef T)
- : RewriteDescriptor(DT), Pattern(P), Transform(T) { }
+ : RewriteDescriptor(DT), Pattern(std::string(P)),
+ Transform(std::string(T)) {}
bool performOnModule(Module &M) override;
@@ -189,7 +191,7 @@ performOnModule(Module &M) {
continue;
if (GlobalObject *GO = dyn_cast<GlobalObject>(&C))
- rewriteComdat(M, GO, C.getName(), Name);
+ rewriteComdat(M, GO, std::string(C.getName()), Name);
if (Value *V = (M.*Get)(Name))
C.setValueName(V->getValueName());
@@ -352,19 +354,19 @@ parseRewriteFunctionDescriptor(yaml::Stream &YS, yaml::ScalarNode *K,
if (KeyValue.equals("source")) {
std::string Error;
- Source = Value->getValue(ValueStorage);
+ Source = std::string(Value->getValue(ValueStorage));
if (!Regex(Source).isValid(Error)) {
YS.printError(Field.getKey(), "invalid regex: " + Error);
return false;
}
} else if (KeyValue.equals("target")) {
- Target = Value->getValue(ValueStorage);
+ Target = std::string(Value->getValue(ValueStorage));
} else if (KeyValue.equals("transform")) {
- Transform = Value->getValue(ValueStorage);
+ Transform = std::string(Value->getValue(ValueStorage));
} else if (KeyValue.equals("naked")) {
std::string Undecorated;
- Undecorated = Value->getValue(ValueStorage);
+ Undecorated = std::string(Value->getValue(ValueStorage));
Naked = StringRef(Undecorated).lower() == "true" || Undecorated == "1";
} else {
YS.printError(Field.getKey(), "unknown key for function");
@@ -421,15 +423,15 @@ parseRewriteGlobalVariableDescriptor(yaml::Stream &YS, yaml::ScalarNode *K,
if (KeyValue.equals("source")) {
std::string Error;
- Source = Value->getValue(ValueStorage);
+ Source = std::string(Value->getValue(ValueStorage));
if (!Regex(Source).isValid(Error)) {
YS.printError(Field.getKey(), "invalid regex: " + Error);
return false;
}
} else if (KeyValue.equals("target")) {
- Target = Value->getValue(ValueStorage);
+ Target = std::string(Value->getValue(ValueStorage));
} else if (KeyValue.equals("transform")) {
- Transform = Value->getValue(ValueStorage);
+ Transform = std::string(Value->getValue(ValueStorage));
} else {
YS.printError(Field.getKey(), "unknown Key for Global Variable");
return false;
@@ -484,15 +486,15 @@ parseRewriteGlobalAliasDescriptor(yaml::Stream &YS, yaml::ScalarNode *K,
if (KeyValue.equals("source")) {
std::string Error;
- Source = Value->getValue(ValueStorage);
+ Source = std::string(Value->getValue(ValueStorage));
if (!Regex(Source).isValid(Error)) {
YS.printError(Field.getKey(), "invalid regex: " + Error);
return false;
}
} else if (KeyValue.equals("target")) {
- Target = Value->getValue(ValueStorage);
+ Target = std::string(Value->getValue(ValueStorage));
} else if (KeyValue.equals("transform")) {
- Transform = Value->getValue(ValueStorage);
+ Transform = std::string(Value->getValue(ValueStorage));
} else {
YS.printError(Field.getKey(), "unknown key for Global Alias");
return false;