forked from OSchip/llvm-project
b39a97c8f6
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 |
||
---|---|---|
.. | ||
AArch64 | ||
Mips | ||
PowerPC | ||
X86 | ||
alloca.ll | ||
array_types.ll | ||
atomics.ll | ||
byval-alignment.ll | ||
check-constant-shadow.ll | ||
check_access_address.ll | ||
csr.ll | ||
instrumentation-with-call-threshold.ll | ||
manual-shadow.ll | ||
masked-store-load.ll | ||
missing_origin.ll | ||
msan_asm_conservative.ll | ||
msan_basic.ll | ||
msan_kernel_basic.ll | ||
msan_llvm_is_constant.ll | ||
msan_x86_bts_asm.ll | ||
msan_x86intrinsics.ll | ||
mul_by_constant.ll | ||
nosanitize.ll | ||
origin-alignment.ll | ||
origin-array.ll | ||
pr32842.ll | ||
return_from_main.ll | ||
store-long-origin.ll | ||
store-origin.ll | ||
str-nobuiltin.ll | ||
unreachable.ll | ||
unsized_type.ll | ||
vector_arith.ll | ||
vector_cmp.ll | ||
vector_cvt.ll | ||
vector_pack.ll | ||
vector_shift.ll | ||
with-call-type-size.ll |