llvm-6502/include/llvm
Justin Bogner 70b0751080 InstrProf: An intrinsic and lowering for instrumentation based profiling
Introduce the ``llvm.instrprof_increment`` intrinsic and the
``-instrprof`` pass. These provide the infrastructure for writing
counters for profiling, as in clang's ``-fprofile-instr-generate``.

The implementation of the instrprof pass is ported directly out of the
CodeGenPGO classes in clang, and with the followup in clang that rips
that code out to use these new intrinsics this ends up being NFC.

Doing the instrumentation this way opens some doors in terms of
improving the counter performance. For example, this will make it
simple to experiment with alternate lowering strategies, and allows us
to try handling profiling specially in some optimizations if we want
to.

Finally, this drastically simplifies the frontend and puts all of the
lowering logic in one place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223672 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-08 18:02:35 +00:00
..
ADT Make the DenseMap bucket type configurable and use a smaller bucket for DenseSet. 2014-12-06 19:22:44 +00:00
Analysis Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
AsmParser
Bitcode Revert commits r222146 and r222137. 2014-11-17 19:26:40 +00:00
CodeGen Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
Config cmake: Remove MAXPATHLEN define as autoconf does not provide it 2014-12-02 18:59:08 +00:00
DebugInfo Reapply "[dwarfdump] Add support for dumping accelerator tables." 2014-11-14 16:15:53 +00:00
ExecutionEngine [MCJIT] Unique-ptrify the RTDyldMemoryManager member of MCJIT. NFC. 2014-12-03 00:51:19 +00:00
IR InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
IRReader
LineEditor
Linker Turn some DenseMaps that are only used for set operations into DenseSets. 2014-12-06 19:22:54 +00:00
LTO Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
MC Fix typo 2014-12-06 02:14:41 +00:00
Object Add mach-o LC_RPATH support to llvm-objdump 2014-12-04 07:37:02 +00:00
Option
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Remove dead code. NFC. 2014-12-04 16:59:36 +00:00
TableGen Revert r222965 "Make MultiClass::DefPrototypes own their Records to fix memory leaks." 2014-11-30 00:43:50 +00:00
Target Masked Load / Store Intrinsics - the CodeGen part. 2014-12-04 09:40:44 +00:00
Transforms InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
CMakeLists.txt
InitializePasses.h InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
LinkAllIR.h
LinkAllPasses.h InstrProf: An intrinsic and lowering for instrumentation based profiling 2014-12-08 18:02:35 +00:00
module.modulemap Try to make the modules buildbot happy again. 2014-11-26 03:44:47 +00:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassManager.h
PassRegistry.h [PM] Remove an unused and rather expensive mapping from an analysis 2014-10-06 00:30:59 +00:00
PassSupport.h Defining a new API for debug options that doesn't rely on static global cl::opts. 2014-10-15 21:54:35 +00:00