llvm-project/llvm/lib/Transforms/Instrumentation
Teresa Johnson 0d7f3464ce [MemProf] Update metadata during inlining
Update both memprof and callsite metadata to reflect inlined functions.

For callsite metadata this is simply a concatenation of each cloned
call's call stack with that of the inlined callsite's.

For memprof metadata, each profiled memory info block (MIB) is either
moved to the cloned allocation call or left on the original allocation
call depending on whether its context matches the newly refined call
stack context on the cloned call. We also reapply context trimming
optimizations based on the refined set of contexts on each of the calls
(cloned and original), via utilities in MemoryProfileInfo.

Depends on D128142.

Differential Revision: https://reviews.llvm.org/D128143
2022-09-30 16:46:17 -07:00
..
AddressSanitizer.cpp [sanitizers] Invalidate GlobalsAA 2022-09-08 14:00:43 -07:00
BoundsChecking.cpp [BoundsChecking] Fix merging of sizes 2022-08-03 17:21:19 -07:00
CFGMST.h
CGProfile.cpp [LegacyPM] Remove CGProfileLegacyPass 2022-07-16 00:39:56 -07:00
CMakeLists.txt [SanitizerBinaryMetadata] Introduce SanitizerBinaryMetadata instrumentation pass 2022-09-07 21:25:40 +02:00
ControlHeightReduction.cpp Analysis: Add AssumptionCache to isSafeToSpeculativelyExecute 2022-09-19 19:25:22 -04:00
DataFlowSanitizer.cpp [DFSan] Don't crash with the legacy pass manager 2022-09-12 19:11:55 +02:00
GCOVProfiling.cpp [Transform] Use range-based for loops (NFC) 2022-08-27 23:54:32 -07:00
HWAddressSanitizer.cpp [NFC] [HWASan] remove unnecessary cast 2022-09-28 17:48:19 -07:00
IndirectCallPromotion.cpp [llvm] Qualify auto (NFC) 2022-08-07 23:55:27 -07:00
InstrOrderFile.cpp [LegacyPM] Remove InstrOrderFileLegacyPass 2022-07-19 23:58:51 -07:00
InstrProfiling.cpp [InstrProfiling] Fix emitting runtime hook once 2022-09-29 01:21:49 +00:00
Instrumentation.cpp [LegacyPM] Remove InstrOrderFileLegacyPass 2022-07-19 23:58:51 -07:00
MemProfiler.cpp [Transforms] Fix comment typos (NFC) 2022-08-07 23:55:24 -07:00
MemorySanitizer.cpp [msan] Instrument vtest instrinsics 2022-09-21 16:57:44 -07:00
PGOInstrumentation.cpp [MemProf] Update metadata during inlining 2022-09-30 16:46:17 -07:00
PGOMemOPSizeOpt.cpp Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options 2022-06-05 00:31:44 -07:00
PoisonChecking.cpp [Transform] Use range-based for loops (NFC) 2022-08-27 23:54:32 -07:00
SanitizerBinaryMetadata.cpp [SanitizerBinaryMetadata] Introduce SanitizerBinaryMetadata instrumentation pass 2022-09-07 21:25:40 +02:00
SanitizerCoverage.cpp Add -fsanitizer-coverage=control-flow 2022-09-15 15:56:04 -07:00
ThreadSanitizer.cpp [tsan] Replace mem intrinsics with calls to interceptors 2022-09-06 13:09:31 -07:00
ValueProfileCollector.cpp Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
ValueProfileCollector.h Cleanup includes: Transforms/Instrumentation & Transforms/Vectorize 2022-03-23 11:06:13 +01:00
ValueProfilePlugins.inc Cleanup includes: Transforms/Instrumentation & Transforms/Vectorize 2022-03-23 11:06:13 +01:00