1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/MC/ARM
Peter Collingbourne 5b721561aa DI: Reverse direction of subprogram -> function edge.
Previously, subprograms contained a metadata reference to the function they
described. Because most clients need to get or set a subprogram for a given
function rather than the other way around, this created unneeded inefficiency.

For example, many passes needed to call the function llvm::makeSubprogramMap()
to build a mapping from functions to subprograms, and the IR linker needed to
fix up function references in a way that caused quadratic complexity in the IR
linking phase of LTO.

This change reverses the direction of the edge by storing the subprogram as
function-level metadata and removing DISubprogram's function field.

Since this is an IR change, a bitcode upgrade has been provided.

Fixes PR23367. An upgrade script for textual IR for out-of-tree clients is
attached to the PR.

Differential Revision: http://reviews.llvm.org/D14265

llvm-svn: 252219
2015-11-05 22:03:56 +00:00
..
AlignedBundling
Windows
2010-11-30-reloc-movt.s
2013-03-18-Br-to-label-named-like-reg.s
align_arm_2_thumb.s
align_thumb_2_arm.s
arm11-hint-instr.s
arm_addrmode2.s
arm_addrmode3.s
arm_fixups.s
arm_instructions.s
arm-aliases.s
arm-arithmetic-aliases.s
arm-elf-relocation-diagnostics.s
arm-elf-relocations.s
arm-elf-symver.s
arm-it-block.s
arm-ldrd.s
arm-load-store-multiple-deprecated.s
arm-memory-instructions.s
arm-qualifier-diagnostics.s
arm-shift-encoding.s
arm-thumb-cpus-default.s
arm-thumb-cpus.s
arm-thumb-trustzone.s
arm-trustzone.s
basic-arm-instructions-v8.1a.s
basic-arm-instructions-v8.s
basic-arm-instructions.s
basic-thumb2-instructions-v8.s
basic-thumb2-instructions.s
basic-thumb-instructions.s
big-endian-arm-fixup.s
big-endian-thumb2-fixup.s
big-endian-thumb-fixup.s
bkpt.s
bracket-darwin.s
bracket-exprs.s
cmp-immediate-fixup2.s
cmp-immediate-fixup-error2.s
cmp-immediate-fixup-error.s
cmp-immediate-fixup.s
coff-debugging-secrel.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
coff-file.s
coff-function-type-info.ll
coff-relocations.s
comment.s
complex-operands.s
coproc-diag.s
cps.s
cpu-test.s
crc32-thumb.s
crc32.s
cxx-global-constructor.ll
d16.s
data-in-code.ll
deprecated-v8.s
diagnostics-noneon.s
diagnostics.s
directive-align.s
directive-arch_extension-crc.s
directive-arch_extension-crypto.s
directive-arch_extension-fp.s
directive-arch_extension-idiv.s
directive-arch_extension-mode-switch.s
directive-arch_extension-mp.s
directive-arch_extension-sec.s
directive-arch_extension-simd.s
directive-arch_extension-toggle.s
directive-arch-armv2.s
directive-arch-armv2a.s
directive-arch-armv3.s
directive-arch-armv3m.s
directive-arch-armv4.s
directive-arch-armv4t.s
directive-arch-armv5.s
directive-arch-armv5t.s
directive-arch-armv5te.s
directive-arch-armv6-m.s
directive-arch-armv6.s
directive-arch-armv6j.s
directive-arch-armv6k.s
directive-arch-armv6t2.s
directive-arch-armv6z.s
directive-arch-armv6zk.s
directive-arch-armv7-a.s
directive-arch-armv7-m.s
directive-arch-armv7-r.s
directive-arch-armv7.s
directive-arch-armv7a.s
directive-arch-armv7m.s
directive-arch-armv7r.s
directive-arch-armv8-a.s
directive-arch-armv8a.s
directive-arch-iwmmxt2.s
directive-arch-iwmmxt.s
directive-arch-semantic-action.s
directive-cpu.s
directive-eabi_attribute-diagnostics.s
directive-eabi_attribute-overwrite.s
directive-eabi_attribute.s
directive-even.s
directive-fpu-diagnostics.s
directive-fpu-instrs.s
directive-fpu-multiple.s
directive-fpu-softvfp.s
directive-fpu.s
directive-literals.s
directive-object_arch-2.s
directive-object_arch-3.s
directive-object_arch-diagnostics.s
directive-object_arch.s
directive-thumb_func.s
directive-tlsdescseq-diagnostics.s
directive-tlsdescseq.s
directive-type-diagnostics.s
directive-unsupported.s
directive-word-diagnostics.s
dot-req-case-insensitive.s
dot-req.s
dwarf-asm-multiple-sections-dwarf-2.s
dwarf-asm-multiple-sections.s
dwarf-asm-no-code.s
dwarf-asm-nonstandard-section.s
dwarf-asm-single-section.s
dwarf-cfi-initial-state.s
eh-compact-pr0.s
eh-compact-pr1.s
eh-directive-cantunwind-diagnostics.s
eh-directive-cantunwind.s
eh-directive-fnend-diagnostics.s
eh-directive-fnstart-diagnostics.s
eh-directive-handlerdata.s
eh-directive-integrated-test.s
eh-directive-movsp-diagnostics.s
eh-directive-movsp.s
eh-directive-multiple-offsets.s
eh-directive-pad-diagnostics.s
eh-directive-pad.s
eh-directive-personality-diagnostics.s
eh-directive-personality.s
eh-directive-personalityindex-diagnostics.s
eh-directive-personalityindex.s
eh-directive-save-diagnostics.s
eh-directive-save.s
eh-directive-section-comdat.s Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
eh-directive-section-multiple-func.s Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
eh-directive-section.s Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
eh-directive-setfp-diagnostics.s
eh-directive-setfp.s
eh-directive-text-section-multiple-func.s
eh-directive-text-section.s
eh-directive-unwind_raw-diagnostics.s
eh-directive-unwind_raw.s
eh-directive-vsave-diagnostics.s
eh-directive-vsave.s
eh-link.s Don't create empty sections just to look like gas. 2015-11-03 20:02:22 +00:00
elf-eflags-eabi.s
elf-jump24-fixup.s
elf-movt.s
elf-reloc-01.s
elf-reloc-02.s
elf-reloc-03.s
elf-reloc-condcall.s
elf-thumbfunc-reloc2.s
elf-thumbfunc-reloc.s
elf-thumbfunc.s
fconst.s
fixup-cpu-mode.s
fp-armv8.s
fp-const-errors.s
full_line_comment.s
gas-compl-copr-reg.s
hilo-16bit-relocations.s
idiv.s
inst-arm-suffixes.s
inst-constant-required.s
inst-directive-emit.s
inst-directive.s
inst-overflow.s
inst-thumb-overflow-2.s
inst-thumb-overflow.s
inst-thumb-suffixes.s
invalid-barrier.s
invalid-crc32.s
invalid-fp-armv8.s
invalid-hint-arm.s
invalid-hint-thumb.s
invalid-idiv.s
invalid-neon-v8.s
invalid-vector-index.s
ldr-pseudo-darwin.s
ldr-pseudo-obj-errors.s
ldr-pseudo-parse-errors.s
ldr-pseudo.s
ldrd-strd-gnu-arm-bad-imm.s
ldrd-strd-gnu-arm.s
ldrd-strd-gnu-sp.s
ldrd-strd-gnu-thumb-bad-regs.s
ldrd-strd-gnu-thumb.s
lit.local.cfg
load-store-acquire-release-v8-thumb.s
load-store-acquire-release-v8.s
ltorg-darwin.s
ltorg.s
macho-relocs-with-addend.s
mapping-within-section.s
mode-switch.s
move-banked-regs.s
mul-v4.s
multi-section-mapping.s
neon-abs-encoding.s
neon-absdiff-encoding.s
neon-add-encoding.s
neon-bitcount-encoding.s
neon-bitwise-encoding.s
neon-cmp-encoding.s
neon-convert-encoding.s
neon-crypto.s
neon-dup-encoding.s
neon-minmax-encoding.s
neon-mov-encoding.s
neon-mov-vfp.s
neon-mul-accum-encoding.s
neon-mul-encoding.s
neon-neg-encoding.s
neon-pairwise-encoding.s
neon-reciprocal-encoding.s
neon-reverse-encoding.s
neon-satshift-encoding.s
neon-shift-encoding.s
neon-shiftaccum-encoding.s
neon-shuffle-encoding.s
neon-sub-encoding.s
neon-table-encoding.s
neon-v8.s
neon-vld-encoding.s
neon-vld-vst-align.s
neon-vst-encoding.s
neon-vswp.s
neont2-abs-encoding.s
neont2-absdiff-encoding.s
neont2-add-encoding.s
neont2-bitcount-encoding.s
neont2-bitwise-encoding.s
neont2-cmp-encoding.s
neont2-convert-encoding.s
neont2-dup-encoding.s
neont2-minmax-encoding.s
neont2-mov-encoding.s
neont2-mul-accum-encoding.s
neont2-mul-encoding.s
neont2-neg-encoding.s
neont2-pairwise-encoding.s
neont2-reciprocal-encoding.s
neont2-reverse-encoding.s
neont2-satshift-encoding.s
neont2-shift-encoding.s
neont2-shiftaccum-encoding.s
neont2-shuffle-encoding.s
neont2-sub-encoding.s
neont2-table-encoding.s
neont2-vld-encoding.s
neont2-vst-encoding.s
not-armv4.s
obsolete-v8.s
pool.s
pr11877.s
pr22395-2.s
pr22395.s
relocated-mapping.s
simple-fp-encoding.s
single-precision-fp.s
symbol-variants-errors.s
symbol-variants.s
target-expressions.s
thumb1-relax-adr-local.s
thumb1-relax-adr.s
thumb1-relax-bcc-local.s
thumb1-relax-bcc.s
thumb1-relax-br-local.s
thumb1-relax-br.s
thumb1-relax-ldrlit-local-behind.s
thumb1-relax-ldrlit-local-misaligned.s
thumb1-relax-ldrlit-local-range.s
thumb1-relax-ldrlit.s
thumb2-b.w-encodingT4.s
thumb2-branches.s
thumb2-bxj-v8.s
thumb2-bxj.s
thumb2-cbn-to-next-inst.s
thumb2-diagnostics.s
thumb2-dsp-diag.s
thumb2-exception-return-mclass.s
thumb2-ldrb-ldrh.s
thumb2-ldrd.s
thumb2-ldrexd-strexd.s
thumb2-mclass.s
thumb2-narrow-dp.ll
thumb2-pldw.s
thumb2-strd.s
thumb2be-b.w-encoding.s
thumb2be-beq.w-encoding.s
thumb2be-movt-encoding.s
thumb2be-movw-encoding.s
thumb_rewrites.s
thumb_set-diagnostics.s
thumb_set.s
thumb-branches.s Go back to producing relocations for out of range symbols. 2015-11-05 01:10:15 +00:00
thumb-diagnostics.s
thumb-far-jump.s
thumb-fp-armv8.s
thumb-hints.s
thumb-invalid-crypto.txt
thumb-load-store-multiple.s
thumb-neon-crypto.s
thumb-neon-v8.s
thumb-not-mclass.s
thumb-only-conditionals.s
thumb-shift-encoding.s
thumb-st_other.s
thumb-types.s
thumb.s
thumbv7em.s
thumbv7m.s
udf-arm-diagnostics.s
udf-arm.s
udf-thumb-2-diagnostics.s
udf-thumb-2.s
udf-thumb-diagnostics.s
udf-thumb.s
unwind-stack-diagnostics.s
v7k-dsp.s WatchOS: update default CPU for triple after t2dsp -> dsp rename 2015-11-02 18:21:07 +00:00
v8_IT_manual.s
variant-diagnostics.s
vfp4.s
vfp-aliases-diagnostics.s
vfp-aliases.s
virtexts-arm.s
virtexts-thumb.s
vmov-vmvn-byte-replicate.s
vmov-vmvn-illegal-cases.s
vorr-vbic-illegal-cases.s
vpush-vpop.s