mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 12:02:58 +02:00
0c1aee0b16
As a follow-up to r246098, require `DISubprogram` definitions (`isDefinition: true`) to be 'distinct'. Specifically, add an assembler check, a verifier check, and bitcode upgrading logic to combat testcase bitrot after the `DIBuilder` change. While working on the testcases, I realized that test/Linker/subprogram-linkonce-weak-odr.ll isn't relevant anymore. Its purpose was to check for a corner case in PR22792 where two subprogram definitions match exactly and share the same metadata node. The new verifier check, requiring that subprogram definitions are 'distinct', precludes that possibility. I updated almost all the IR with the following script: git grep -l -E -e '= !DISubprogram\(.* isDefinition: true' | grep -v test/Bitcode | xargs sed -i '' -e 's/= \(!DISubprogram(.*, isDefinition: true\)/= distinct \1/' Likely some variant of would work for out-of-tree testcases. llvm-svn: 246327 |
||
---|---|---|
.. | ||
X86 | ||
adaptive_global_redzones.ll | ||
asan-vs-gvn.ll | ||
basic.ll | ||
debug_info_noninstrumented_alloca.ll | ||
debug_info.ll | ||
do-not-instrument-cstring.ll | ||
do-not-instrument-internal-globals.ll | ||
do-not-instrument-llvm-metadata-darwin.ll | ||
do-not-instrument-llvm-metadata.ll | ||
do-not-instrument-promotable-allocas.ll | ||
do-not-touch-comdat-global.ll | ||
do-not-touch-odr-global.ll | ||
do-not-touch-threadlocal.ll | ||
experiment-call.ll | ||
experiment.ll | ||
freebsd.ll | ||
global_metadata.ll | ||
instrument_global.ll | ||
instrument_initializer_metadata.ll | ||
instrument_load_then_store.ll | ||
instrument-dynamic-allocas.ll | ||
instrument-no-return.ll | ||
instrument-stack.ll | ||
instrumentation-with-call-threshold.ll | ||
lifetime-uar.ll | ||
lifetime.ll | ||
localescape.ll | ||
stack_dynamic_alloca.ll | ||
stack_layout.ll | ||
stack-poisoning.ll | ||
test64.ll | ||
ubsan.ll |