llvm-project/llvm/test/MC/ELF
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
..
ARM Report error for non-zero data in .bss 2014-06-22 00:33:44 +00:00
abs.s Teach llvm-readobj to print human friendly description of reserved sections. 2014-03-24 05:00:34 +00:00
alias-reloc.s Teach llvm-readobj to print human friendly description of reserved sections. 2014-03-24 05:00:34 +00:00
alias-to-local.s Don't walk aliases from global to local symbols in comdats. 2015-04-17 08:46:11 +00:00
alias.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
align-bss.s
align-nops.s
align-size.s
align-text.s
align.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
bad-expr.s Forgot to add testcase for r198590 2014-01-21 20:39:11 +00:00
bad-expr2.s Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
bad-expr3.s Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
bad-relocation.s
bad-section.s
basic-elf-32.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
basic-elf-64.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
bracket-exprs.s [MC] Use LShr for constant evaluation of ">>" on ELF/arm64--darwin. 2015-04-28 01:37:11 +00:00
bracket.s
bss-large.ll
bss.ll
call-abs.s
cfi-adjust-cfa-offset.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-advance-loc2.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-def-cfa-offset.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-def-cfa-register.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-def-cfa.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-escape.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-large-model.s Use CIE version 1 for .eh_frame. 2015-04-27 22:04:24 +00:00
cfi-offset.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-reg.s
cfi-register.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-rel-offset.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-rel-offset2.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-remember.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-restore.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-same-value.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-sections.s [DWARF] Add CIE header fields address_size and segment_size when generating dwarf-4 2015-05-12 15:25:08 +00:00
cfi-signal-frame.s Use CIE version 1 for .eh_frame. 2015-04-27 22:04:24 +00:00
cfi-undefined.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-version.ll DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
cfi-window-save.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi-zero-addr-delta.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
cfi.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
comdat-dup-group-name.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
comdat-reloc.s Write sections mostly in one pass. 2015-04-30 14:21:49 +00:00
comdat.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
common-error1.s Produce errors when an assignment expression would use a common symbol. 2015-01-19 17:30:24 +00:00
common-error2.s Produce errors when an assignment expression would use a common symbol. 2015-01-19 17:30:24 +00:00
common-error3.s [MC] Common symbols weren't being checked for redeclaration which allowed an assembly file to generate an assertion in setCommon(): !isCommon(). This change allows redeclaration as long as the size and alignment match exactly, otherwise report a fatal error. 2015-06-06 20:12:40 +00:00
common-redeclare.s [MC] Common symbols weren't being checked for redeclaration which allowed an assembly file to generate an assertion in setCommon(): !isCommon(). This change allows redeclaration as long as the size and alignment match exactly, otherwise report a fatal error. 2015-06-06 20:12:40 +00:00
common.s Update tests to not be as dependent on section numbers. 2015-04-15 15:59:37 +00:00
common2.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
comp-dir.s X86MCAsmInfoGNUCOFF: Set PointerSize as 8 for targeting x64. It caused DW_LNE_set_address was misemitted on x64. 2014-04-08 15:28:50 +00:00
compression.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
debug-line.s Write section and section table entries in the same order. 2015-04-15 13:07:47 +00:00
debug-line2.s
debug-loc.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
diff.s
diff2.s
discriminator.s Diagnose undefined temporary symbols. 2015-06-25 20:10:45 +00:00
dot-symbol-assignment.s Add support for assigning to . in AsmParser. 2014-02-17 20:48:32 +00:00
elf_directive_previous.s
elf_directive_section.s
empty-dwarf-lines.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
empty.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
entsize.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
entsize.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
fde.s
file-double.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
file.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
gen-dwarf.s Don't print labels that on ELF are never used. 2015-03-11 04:20:31 +00:00
global-offset.s
gnu-type-diagnostics.s Revert part of r241149, "Fix PR23872: Integrated assembler error message when using .type directive with @ in AArch32 assembly." 2015-07-01 10:28:09 +00:00
gnu-type.s MC: make ELF .type handling more GNU AS compatible 2014-06-08 00:34:34 +00:00
got.s Don't create an unused _GLOBAL_OFFSET_TABLE_. 2015-05-28 15:20:00 +00:00
ident.s
ifunc-reloc.s Update tests to not be as dependent on section numbers. 2015-04-15 15:59:37 +00:00
invalid-symver.s
lcomm.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
leb128.s
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
local-reloc.s Update tests to not be as dependent on section numbers. 2015-04-15 15:59:37 +00:00
many-sections-2.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
many-sections-3.s Don't get confused with sections whose section number is reserved. 2015-06-24 14:48:54 +00:00
many-sections.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
merge.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
n_bytes.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
no-fixup.s
no-reloc.s Avoid revocations when possible. 2014-07-01 14:34:30 +00:00
nocompression.s llvm/test/MC/ELF/nocompression.s: Loosen an expression to match "llvm-mc.EXE". 2014-03-30 14:04:00 +00:00
noexec.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
norelocation.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
offset.s Add an option for evaluating past symbols. 2014-04-28 20:53:11 +00:00
org.s
pic-diff.s ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
plt.s
popsection.s Fix a regression in .pop_section. 2015-06-08 20:08:55 +00:00
pr9292.s ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
pr19430.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
pr19582.s MC: For variable symbols, maintain MCSymbol::Section as a cache. 2015-04-03 01:46:11 +00:00
relax-all-flag.s
relax-arith.s [X86] Fix incorrect/inefficient pushw encodings for x86-64 targets 2015-07-05 10:25:41 +00:00
relax-arith2.s [X86] Fix incorrect/inefficient pushw encodings for x86-64 targets 2015-07-05 10:25:41 +00:00
relax-arith3.s [X86] Avoid over-relaxation of 8-bit immediates in integer arithmetic instructions. 2015-07-01 10:54:42 +00:00
relax-arith4.s [X86] Fix incorrect/inefficient pushw encodings for x86-64 targets 2015-07-05 10:25:41 +00:00
relax-crash.s
relax.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
reloc-same-name-section.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
relocation-386.s Revert r240302 ("Bring r240130 back."). 2015-06-23 11:31:32 +00:00
relocation-pc.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
relocation.s Handle 16 bit PC relative relocations. 2015-06-06 02:29:56 +00:00
rename.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
section-quoting.s
section-sym-err.s Add back commits r219835 and a fixed version of r219829. 2014-10-17 01:48:58 +00:00
section-sym.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
section-sym2.s Fix the interpretation of a 0 st_name. 2015-06-03 05:14:22 +00:00
section-unique-err1.s Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
section-unique-err2.s Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
section-unique-err3.s Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
section-unique-err4.s Use a comma after the unique keyword. 2015-04-06 16:34:41 +00:00
section-unique.s Write the section header string table directly to the output stream. 2015-04-29 20:25:24 +00:00
section.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
set.s ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
size.s Expand variables when evaluating absolute expressions. 2015-03-04 22:03:21 +00:00
sleb.s Convert tests under MC/ELF from macho-dump to llvm-readobj. 2015-08-14 15:16:37 +00:00
strtab-suffix-opt.s Don't special case undefined symbol when deciding the symbol order. 2015-05-28 21:59:34 +00:00
subsection.s
subtraction-error.s Produce an error instead of a crash in an expr we cannot represent. 2014-04-28 12:40:50 +00:00
symbol-names.s
symver-msvc.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
symver-pr23914.s Fix PR23914. 2015-06-22 23:36:03 +00:00
symver.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
tls-i386.s ELFObjectWriter: deduplicate suffices in strtab 2014-04-30 16:25:02 +00:00
tls.s Update tests to not be as dependent on section numbers. 2015-04-15 15:59:37 +00:00
type-propagate.s Don't constrain the section order in tests that don't depend on it. 2015-04-29 13:55:07 +00:00
type.s Relax these tests a bit. 2015-05-22 21:37:13 +00:00
uleb.s Convert tests under MC/ELF from macho-dump to llvm-readobj. 2015-08-14 15:16:37 +00:00
undef-temp.s Diagnose undefined temporary symbols. 2015-06-25 20:10:45 +00:00
undef.s Diagnose undefined temporary symbols. 2015-06-25 20:10:45 +00:00
version.s
weak-diff.s Compute A-B when A or B is weak. 2015-04-17 21:15:17 +00:00
weak-relocation.s
weak.s Teach llvm-readobj to print human friendly description of reserved sections. 2014-03-24 05:00:34 +00:00
weakref-plt.s
weakref-reloc.s Don't create an unused _GLOBAL_OFFSET_TABLE_. 2015-05-28 15:20:00 +00:00
weakref.s Omit unused section symbols from the symbol table. 2015-06-04 15:33:30 +00:00
x86_64-reloc-sizetest.s
zero.s