[PATCH] D101129: [gcov] Set nounwind and respect module flags metadata "frame-pointer" & "uwtable" for synthesized functions

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 23 10:32:27 PDT 2021


nickdesaulniers accepted this revision.
nickdesaulniers added a comment.
This revision is now accepted and ready to land.

Thanks @MaskRay !



================
Comment at: llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp:1046
+  Function *F = createInternalFunction(FTy, "__llvm_gcov_init");
   F->addFnAttr(Attribute::NoInline);
   if (Options.NoRedZone)
----------------
MaskRay wrote:
> I think not all three functions need `noinline`, so I do not place `noinline` in the common function.
> 
> @void Do you know why `noredzone` is needed? Many other instrumentation passes don't set this attribute.
With KCOV (not GCOV) and LTO, we can and sometimes do inline the coverage runtime helper functions, FWIW.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101129/new/

https://reviews.llvm.org/D101129



More information about the llvm-commits mailing list