Value names may be prefixed with a binary '1' to indicate that the
backend should not modify the symbols due to any platform naming
convention.
This should not show up in the YAML opt record file because it breaks
the YAML parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283656
91177308-0d34-0410-b5e6-
96231b3b80d8
std::string Val;
explicit Argument(StringRef Str = "") : Key("String"), Val(Str) {}
- Argument(StringRef Key, Value *V) : Key(Key), Val(V->getName()) {}
+ Argument(StringRef Key, Value *V);
Argument(StringRef Key, int N);
Argument(StringRef Key, unsigned N);
Argument(StringRef Key, bool B) : Key(Key), Val(B ? "true" : "false") {}
getLocation(&Filename, &Line, &Column);
return (Filename + ":" + Twine(Line) + ":" + Twine(Column)).str();
}
+DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, Value *V)
+ : Key(Key), Val(GlobalValue::getRealLinkageName(V->getName())) {}
DiagnosticInfoOptimizationBase::Argument::Argument(StringRef Key, int N)
: Key(Key), Val(itostr(N)) {}
define i32 @baz() !dbg !7 !prof !14 {
entry:
%call = call i32 (...) @foo(), !dbg !9
- %call1 = call i32 (...) @bar(), !dbg !10
+ %call1 = call i32 (...) @"\01bar"(), !dbg !10
%add = add nsw i32 %call, %call1, !dbg !12
ret i32 %add, !dbg !13
}
declare i32 @foo(...)
-declare i32 @bar(...)
+declare i32 @"\01bar"(...)
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4, !5}