forked from OSchip/llvm-project
[OptRemarks] Remove non-printable chars from function name
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. llvm-svn: 283656
This commit is contained in:
parent
f82bda0a7a
commit
ee5cf031ce
|
@ -387,7 +387,7 @@ public:
|
|||
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") {}
|
||||
|
|
|
@ -170,6 +170,8 @@ const std::string DiagnosticInfoWithDebugLocBase::getLocationStr() const {
|
|||
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)) {}
|
||||
|
|
|
@ -50,14 +50,14 @@ target triple = "x86_64-apple-macosx10.11.0"
|
|||
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}
|
||||
|
|
Loading…
Reference in New Issue