From 37cbf28e79e739b46c4fb2e8b07296090fbed5fc Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Tue, 21 Nov 2017 17:22:19 +0000 Subject: [PATCH] EntryExitInstrumenter: support __cyg_profile_func_enter_bare It works just like __cyg_profile_func_enter but takes no arguments. llvm-svn: 318783 --- llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp | 3 ++- llvm/test/Transforms/CountingFunctionInserter/mcount.ll | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp b/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp index bdcd3d4..064d7d0 100644 --- a/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp +++ b/llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp @@ -29,7 +29,8 @@ static void insertCall(Function &CurFn, StringRef Func, Func == "\01_mcount" || Func == "\01mcount" || Func == "__mcount" || - Func == "_mcount") { + Func == "_mcount" || + Func == "__cyg_profile_func_enter_bare") { Constant *Fn = M.getOrInsertFunction(Func, Type::getVoidTy(C)); CallInst::Create(Fn, "", InsertionPt); return; diff --git a/llvm/test/Transforms/CountingFunctionInserter/mcount.ll b/llvm/test/Transforms/CountingFunctionInserter/mcount.ll index 6d9aaab..50e6b13 100644 --- a/llvm/test/Transforms/CountingFunctionInserter/mcount.ll +++ b/llvm/test/Transforms/CountingFunctionInserter/mcount.ll @@ -73,6 +73,10 @@ define void @f6() #6 { entry: ret void } ; CHECK-LABEL: define void @f6 ; CHECK: call void @_mcount +define void @f7() #7 { entry: ret void } +; CHECK-LABEL: define void @f7 +; CHECK: call void @__cyg_profile_func_enter_bare + ; The attributes are "consumed" when the instrumentation is inserted. ; CHECK: attributes @@ -84,3 +88,4 @@ attributes #3 = { "instrument-function-entry-inlined"="\01_mcount" } attributes #4 = { "instrument-function-entry-inlined"="\01mcount" } attributes #5 = { "instrument-function-entry-inlined"="__mcount" } attributes #6 = { "instrument-function-entry-inlined"="_mcount" } +attributes #7 = { "instrument-function-entry-inlined"="__cyg_profile_func_enter_bare" } -- 2.7.4