llvm-project/llvm/lib/Transforms/Instrumentation
Philip Pfaffe b39a97c8f6 [NewPM] Port Msan
Summary:
Keeping msan a function pass requires replacing the module level initialization:
That means, don't define a ctor function which calls __msan_init, instead just
declare the init function at the first access, and add that to the global ctors
list.

Changes:
- Pull the actual sanitizer and the wrapper pass apart.
- Add a newpm msan pass. The function pass inserts calls to runtime
  library functions, for which it inserts declarations as necessary.
- Update tests.

Caveats:
- There is one test that I dropped, because it specifically tested the
  definition of the ctor.

Reviewers: chandlerc, fedor.sergeev, leonardchan, vitalybuka

Subscribers: sdardis, nemanjai, javed.absar, hiraditya, kbarton, bollu, atanasyan, jsji

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

llvm-svn: 350305
2019-01-03 13:42:44 +00:00
..
AddressSanitizer.cpp [IR] Add Instruction::isLifetimeStartOrEnd, NFC 2018-12-21 21:49:40 +00:00
BoundsChecking.cpp Fix crash in bounds checking. 2018-08-03 17:12:23 +00:00
CFGMST.h [TI removal] Make variables declared as `TerminatorInst` and initialized 2018-10-15 10:04:59 +00:00
CGProfile.cpp [CGProfile] Turn constant-size SmallVector into array 2018-10-22 10:51:34 +00:00
CMakeLists.txt [PGO] Control Height Reduction 2018-09-04 17:19:13 +00:00
ControlHeightReduction.cpp [ProfileSummary] Standardize methods and fix comment 2018-11-19 05:23:16 +00:00
DataFlowSanitizer.cpp [cxx2a] Fix warning triggered by r343285 2018-09-29 02:17:12 +00:00
EfficiencySanitizer.cpp [TI removal] Remove `TerminatorInst` from BasicBlockUtils.h 2018-10-15 09:34:05 +00:00
GCOVProfiling.cpp Reapply "Adapt gcov to changes in CFE." 2018-12-06 18:44:48 +00:00
HWAddressSanitizer.cpp [HWASAN] Instrument memorty intrinsics by default 2018-12-24 16:02:48 +00:00
IndirectCallPromotion.cpp [ProfileSummary] Standardize methods and fix comment 2018-11-19 05:23:16 +00:00
InstrProfiling.cpp Add NetBSD support in needsRuntimeRegistrationOfSectionRange. 2018-12-15 16:51:35 +00:00
Instrumentation.cpp [NewPM] Port Msan 2019-01-03 13:42:44 +00:00
LLVMBuild.txt
MaximumSpanningTree.h Remove unneeded use of #undef DEBUG_TYPE. NFC 2017-07-12 20:49:21 +00:00
MemorySanitizer.cpp [NewPM] Port Msan 2019-01-03 13:42:44 +00:00
PGOInstrumentation.cpp [PGO] Exit early if all count values are zero 2018-11-07 23:51:20 +00:00
PGOMemOPSizeOpt.cpp [PGOMemOPSize] Preserve the DominatorTree 2018-07-09 08:07:21 +00:00
SanitizerCoverage.cpp [sancov] Put .SCOV* sections into the right comdat groups on COFF 2018-11-08 00:57:33 +00:00
ThreadSanitizer.cpp Use SmallPtrSet explicitly for SmallSets with pointer types (NFC). 2018-06-12 11:16:56 +00:00