llvm-mirror/test/MC/X86
Adrian Prantl fb3abba237 [PR27284] Reverse the ownership between DICompileUnit and DISubprogram.
Currently each Function points to a DISubprogram and DISubprogram has a
scope field. For member functions the scope is a DICompositeType. DIScopes
point to the DICompileUnit to facilitate type uniquing.

Distinct DISubprograms (with isDefinition: true) are not part of the type
hierarchy and cannot be uniqued. This change removes the subprograms
list from DICompileUnit and instead adds a pointer to the owning compile
unit to distinct DISubprograms. This would make it easy for ThinLTO to
strip unneeded DISubprograms and their transitively referenced debug info.

Motivation
----------

Materializing DISubprograms is currently the most expensive operation when
doing a ThinLTO build of clang.

We want the DISubprogram to be stored in a separate Bitcode block (or the
same block as the function body) so we can avoid having to expensively
deserialize all DISubprograms together with the global metadata. If a
function has been inlined into another subprogram we need to store a
reference the block containing the inlined subprogram.

Attached to https://llvm.org/bugs/show_bug.cgi?id=27284 is a python script
that updates LLVM IR testcases to the new format.

http://reviews.llvm.org/D19034
<rdar://problem/25256815>

llvm-svn: 266446
2016-04-15 15:57:41 +00:00
..
AlignedBundling Revert r265817 2016-04-08 18:15:37 +00:00
3DNow.s
2011-09-06-NoNewline.s
address-size.s
avx512-encodings.s AVX512: Fix scalar mem operands. 2016-02-22 11:48:27 +00:00
avx512-err.s
avx512bw-encoding.s
avx512ifma-encoding.s [X86] Change FeatureIFMA string to 'avx512ifma'. Matches gcc and fixes PR26461. 2016-02-08 01:23:15 +00:00
avx512ifmavl-encoding.s [X86] Change FeatureIFMA string to 'avx512ifma'. Matches gcc and fixes PR26461. 2016-02-08 01:23:15 +00:00
avx512vbmi-encoding.s [X86][AVX512VBMI] add encoding and intrinsics for Multishift 2016-02-01 15:48:21 +00:00
avx512vl-encoding.s
cfi_def_cfa-crash.s
compact-unwind.s
encoder-fail.s
error-reloc.s Add a triple to the test. 2016-01-13 23:13:38 +00:00
expand-var.s
faultmap-section-parsing.s
fde-reloc.s
fixup-cpu-mode.s Revert r265817 2016-04-08 18:15:37 +00:00
gnux32-dwarf-gen.s
hex-immediates.s Revert r265817 2016-04-08 18:15:37 +00:00
i386-darwin-frame-register.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
index-operations.s [X86] Adding support for missing variations of X86 string related instructions 2016-01-19 15:37:56 +00:00
inline-asm-obj.ll
intel-syntax-2.s
intel-syntax-ambiguous.s
intel-syntax-avx512.s AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling. 2016-02-25 13:30:17 +00:00
intel-syntax-bitwise-ops.s
intel-syntax-directional-label.s
intel-syntax-encoding.s
intel-syntax-error.s
intel-syntax-hex.s
intel-syntax-invalid-basereg.s
intel-syntax-invalid-scale.s
intel-syntax-print.ll
intel-syntax-ptr-sized.s
intel-syntax-unsized-memory.s
intel-syntax-x86-64-avx512f_vl.s AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling. 2016-02-25 13:30:17 +00:00
intel-syntax-x86-64-avx.s AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling. 2016-02-25 13:30:17 +00:00
intel-syntax.s AVX512F: Add GATHER/SCATTER assembler Intel syntax tests for knl/skx/avx . Change memory operand parser handling. 2016-02-25 13:30:17 +00:00
invalid_opcode.s [llvm-objdump] Print <unknown> in place of instruction text if it couldn't be disassembled. 2016-03-18 16:26:48 +00:00
invalid-sleb.s
large-bss.s
lit.local.cfg
macho-reloc-errors-x86_64.s
macho-reloc-errors-x86.s
macho-uleb.s
mpx-encodings.s
no-elf-compact-unwind.s
padlock.s
relax-insn.s
reloc-directive.s [MC] Add support for encoding CodeView variable definition ranges 2016-02-05 01:55:49 +00:00
reloc-macho.s
reloc-undef-global.s
ret.s
sgx-encoding.s
shuffle-comments.s
stackmap-nops.ll
validate-inst-att.s
validate-inst-intel.s
variant-diagnostics.s
x86_64-avx-clmul-encoding.s
x86_64-avx-encoding.s
x86_64-bmi-encoding.s
x86_64-encoding.s
x86_64-fma3-encoding.s
x86_64-fma4-encoding.s
x86_64-hle-encoding.s
x86_64-imm-widths.s
x86_64-rand-encoding.s
x86_64-rtm-encoding.s
x86_64-signed-reloc.s
x86_64-sse4a.s
x86_64-tbm-encoding.s
x86_64-xop-encoding.s
x86_directives.s
x86_errors.s [X86] Add test cases for r261977 and fix a grammatical error. 2016-02-26 06:50:24 +00:00
x86_long_nop.s [X86] Restrict max long nop length for Lakemont. 2016-04-11 10:07:36 +00:00
x86_nop.s Revert r253557 "Alternative to long nops for X86 CPUs, by Andrey Turetsky" 2016-02-19 21:26:31 +00:00
x86_operands.s
x86-16.s
x86-32-avx.s
x86-32-coverage.s
x86-32-fma3.s
x86-32-ms-inline-asm.s
x86-32.s
x86-64-avx512bw_vl.s
x86-64-avx512bw.s
x86-64-avx512cd_vl.s
x86-64-avx512cd.s
x86-64-avx512dq_vl.s
x86-64-avx512dq.s
x86-64-avx512f_vl.s
x86-64.s [X86] Make X86MCCodeEmitter::DetermineREXPrefix locate operands more like how VEX prefix handling does. 2016-03-02 07:32:43 +00:00
x86-evenDirective.s
x86-itanium.ll
x86-target-directives.s
x86-windows-itanium-libcalls.ll
X86_64-pku.s