llvm-project/llvm/lib/Transforms/Instrumentation
Matthias Braun 6a383369f9 PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges regardless of PHIs
The `SplitIndirectBrCriticalEdges` function was originally designed for
`CodeGenPrepare` and skipped splitting of edges when the destination
block didn't contain any `PHI` instructions. This only makes sense when
reducing COPYs like `CodeGenPrepare`. In the case of
`PGOInstrumentation` or `GCOVProfiling` it would result in missed
counters and wrong result in functions with computed goto.

Differential Revision: https://reviews.llvm.org/D120096
2022-02-23 16:27:37 -08:00
..
AddressSanitizer.cpp Add DriverKit support 2022-02-22 13:42:53 +00:00
BoundsChecking.cpp BoundsChecking.cpp - tidy implicit header dependencies. NFCI. 2021-06-13 17:08:15 +01:00
CFGMST.h
CGProfile.cpp [CGProfile] Don't emit call graph profile edges with zero weight 2021-10-28 11:32:49 -04:00
CMakeLists.txt
ControlHeightReduction.cpp [Transforms] Use default member initialization in CHRStats (NFC) 2022-02-13 10:33:56 -08:00
DataFlowSanitizer.cpp [llvm] Fix bugprone argument comments (NFC) 2022-01-08 11:56:38 -08:00
GCOVProfiling.cpp PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges regardless of PHIs 2022-02-23 16:27:37 -08:00
HWAddressSanitizer.cpp [NFC] [MTE] [HWASan] Remove unnecessary member of AllocaInfo 2022-02-16 15:19:30 -08:00
IndirectCallPromotion.cpp Fix some -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build 2021-06-04 23:34:43 -07:00
InstrOrderFile.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
InstrProfiling.cpp [InstrProf] Add single byte coverage mode 2022-01-27 17:38:55 -08:00
Instrumentation.cpp [IR] Rename `comdat noduplicates` to `comdat nodeduplicate` 2021-07-20 12:47:10 -07:00
MemProfiler.cpp [llvm] Use = default (NFC) 2022-02-06 22:18:35 -08:00
MemorySanitizer.cpp [MSan][OpaquePtr] Use inline asm elementtype instead of getPointerElementType() 2022-02-11 11:50:35 -08:00
PGOInstrumentation.cpp PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges regardless of PHIs 2022-02-23 16:27:37 -08:00
PGOMemOPSizeOpt.cpp [NewPM] Don't mark AA analyses as preserved 2021-05-18 13:49:03 -07:00
PoisonChecking.cpp
SanitizerCoverage.cpp Reduce dependencies on llvm/BinaryFormat/Dwarf.h 2022-02-04 11:44:03 +01:00
ThreadSanitizer.cpp [llvm][NFC] Inclusive language: Reword replace uses of sanity in llvm/lib/Transform comments and asserts 2021-11-23 13:22:55 -05:00
ValueProfileCollector.cpp
ValueProfileCollector.h
ValueProfilePlugins.inc