[PATCH] D39287: Use CountingFunctionInserter both mcount and cygprofile calls, before and after inlining

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 9 16:29:24 PST 2017


hans updated this revision to Diff 122360.
hans retitled this revision from "Add a flag to disable inlining calls to cygprofile functions generated by -finstrument-functions" to "Use CountingFunctionInserter both mcount and cygprofile calls, before and after inlining".
hans edited the summary of this revision.
hans edited reviewers, added: hfinkel; removed: thakis.
hans added a comment.
Herald added subscribers: mgorny, nemanjai.

Here's a new approach which renames and extends the existing CountingFunctionInserter to run both before and after inlining (with the old PM it's two passes actually) and handle both cygprofile and mcount calls as controlled by function attributes.

I haven't hooked up the Clang side yet, but I'd be interested to hear your thoughts on this approach.


https://reviews.llvm.org/D39287

Files:
  include/llvm/CodeGen/Passes.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/Scalar.h
  include/llvm/Transforms/Utils/EntryExitInstrumenter.h
  lib/CodeGen/CMakeLists.txt
  lib/CodeGen/CodeGen.cpp
  lib/CodeGen/CountingFunctionInserter.cpp
  lib/CodeGen/TargetPassConfig.cpp
  lib/Passes/PassBuilder.cpp
  lib/Passes/PassRegistry.def
  lib/Transforms/Scalar/Scalar.cpp
  lib/Transforms/Utils/CMakeLists.txt
  lib/Transforms/Utils/EntryExitInstrumenter.cpp
  test/CodeGen/PowerPC/mcount-insertion.ll
  test/CodeGen/X86/O0-pipeline.ll
  test/Transforms/CountingFunctionInserter/mcount.ll
  tools/llc/llc.cpp
  tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39287.122360.patch
Type: text/x-patch
Size: 20551 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171110/819147ea/attachment.bin>


More information about the llvm-commits mailing list