1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/tools
Hal Finkel d3039d9a41 Add a counter-function insertion pass
As discussed in https://reviews.llvm.org/D22666, our current mechanism to
support -pg profiling, where we insert calls to mcount(), or some similar
function, is fundamentally broken. We insert these calls in the frontend, which
means they get duplicated when inlining, and so the accumulated execution
counts for the inlined-into functions are wrong.

Because we don't want the presence of these functions to affect optimizaton,
they should be inserted in the backend. Here's a pass which would do just that.
The knowledge of the name of the counting function lives in the frontend, so
we're passing it here as a function attribute. Clang will be updated to use
this mechanism.

Differential Revision: https://reviews.llvm.org/D22825

llvm-svn: 280347
2016-09-01 09:42:39 +00:00
..
bugpoint [PM] Port the always inliner to the new pass manager in a much more 2016-08-17 02:56:20 +00:00
bugpoint-passes
dsymutil Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
gold [ThinLTO] Move loading of cache entry to client 2016-08-26 23:29:14 +00:00
llc Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
lli [Orc] Simplify LogicalDylib and move it back inside CompileOnDemandLayer. Also 2016-08-29 00:54:29 +00:00
llvm-ar Use the range variant of find_if instead of unpacking begin/end 2016-08-12 00:18:03 +00:00
llvm-as
llvm-as-fuzzer
llvm-bcanalyzer
llvm-c-test
llvm-config Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +00:00
llvm-cov [llvm-cov] Drop redundant "No." suffix in a column title 2016-08-31 00:09:44 +00:00
llvm-cxxdump
llvm-diff
llvm-dis
llvm-dwarfdump
llvm-dwp
llvm-extract
llvm-go
llvm-jitlistener
llvm-link
llvm-lto [ThinLTO] Fix temp file dumping, enable via llvm-lto and test it 2016-08-15 23:24:57 +00:00
llvm-lto2 [ThinLTO] Move loading of cache entry to client 2016-08-26 23:29:14 +00:00
llvm-mc Replace a few more "fall through" comments with LLVM_FALLTHROUGH 2016-08-17 20:30:52 +00:00
llvm-mc-fuzzer
llvm-mcmarkup
llvm-nm Use the range variant of transform instead of unpacking begin/end 2016-08-12 04:32:45 +00:00
llvm-objdump llvm-objdump: ELF: Handle code and data mix in all scenarios 2016-08-25 19:41:08 +00:00
llvm-pdbdump [codeview] Have visitTypeBegin return the record type. 2016-08-31 23:14:31 +00:00
llvm-profdata llvm-profdata: Clarify the top level help 2016-08-03 23:10:51 +00:00
llvm-readobj Fix the MSVC 2013 build by using Elf_Word instead of making a local typedef 2016-08-31 22:45:36 +00:00
llvm-rtdyld [ExecutionEngine][MCJIT][Orc] Replace RuntimeDyld::SymbolInfo with JITSymbol. 2016-08-01 20:49:11 +00:00
llvm-shlib
llvm-size Add the first of what will be a long line of additional error checks for invalid Mach-O files. 2016-08-05 18:19:40 +00:00
llvm-split
llvm-stress
llvm-symbolizer
lto
msbuild
obj2yaml [macho2yaml] String table can contain null strings 2016-08-04 19:19:25 +00:00
opt Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
sancov [sancov] MachO indirect symbols support. 2016-08-12 19:25:59 +00:00
sanstats
verify-uselistorder
xcode-toolchain [CMake] Minor fix to regex in r279152 2016-08-18 21:36:36 +00:00
yaml2obj
CMakeLists.txt
LLVMBuild.txt