Go to file
Duncan P. N. Exon Smith 814b8e91c7 DI: Require subprogram definitions to be distinct
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
2015-08-28 20:26:49 +00:00
clang Updating the AST matcher documentation with a new entry; NFC. 2015-08-28 19:39:56 +00:00
clang-tools-extra Updated to make use of the AST matcher instead of a custom matcher; NFC. 2015-08-28 19:40:30 +00:00
compiler-rt [CMake] Unify build rules for sanitizer_common for Apple and non-Apple platforms. 2015-08-27 22:23:27 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Update mailing list reference. 2015-08-24 22:43:24 +00:00
libcxx Fix most GCC warnings during build. Only -Wattribute left. 2015-08-28 07:02:42 +00:00
libcxxabi Fix or disable C++11 tests in C++03 mode 2015-08-20 01:22:17 +00:00
libunwind [libunwind] Remove unused includes. 2015-08-27 06:58:31 +00:00
lld Add support for weak absolute symbols. 2015-08-28 20:19:34 +00:00
lldb Differential Review: http://reviews.llvm.org/D12363 2015-08-28 14:42:03 +00:00
llgo Update to new lists.llvm.org 2015-08-05 04:03:05 +00:00
llvm DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
openmp Add kmp_config.h.cmake 2015-08-28 19:24:39 +00:00
polly [NFC] Make SCEVAffinator work without a statement 2015-08-28 09:24:35 +00:00