llvm-project/llvm/test/DebugInfo/X86
Nirav Dave 1241dcb3cf Bias physical register immediate assignments
The machine scheduler currently biases register copies to/from
physical registers to be closer to their point of use / def to
minimize their live ranges. This change extends this to also physical
register assignments from immediate values.

This causes a reduction in reduction in overall register pressure and
minor reduction in spills and indirectly fixes an out-of-registers
assertion (PR39391).

Most test changes are from minor instruction reorderings and register
name selection changes and direct consequences of that.

Reviewers: MatzeB, qcolombet, myatsina, pcc

Subscribers: nemanjai, jvesely, nhaehnle, eraman, hiraditya,
  javed.absar, arphaman, jfb, jsji, llvm-commits

Differential Revision: https://reviews.llvm.org/D54218

llvm-svn: 346894
2018-11-14 21:11:53 +00:00
..
2010-04-13-PubType.ll
2011-09-26-GlobalVarContext.ll
2011-12-16-BadStructRef.ll
DIModule.ll
DIModuleContext.ll
DW_AT_byte_size.ll
DW_AT_calling-convention.ll
DW_AT_linkage_name.ll
DW_AT_location-reference.ll
DW_AT_object_pointer.ll
DW_AT_specification.ll
DW_AT_stmt_list_sec_offset.ll
DW_TAG_friend.ll
FrameIndexExprs.ll
InlinedFnLocalVar.ll
PR26148.ll
PR37234.ll
abbr_offset.s
abstract_origin.ll
accel-tables-dwarf5.ll
accel-tables.ll
align_c11.ll
align_cpp11.ll
align_objc.ll
aligned_stack_var.ll
arange-and-stub.ll
arange.ll
arguments.ll
array.ll
array2.ll
asm-macro-line-number.s
atomic-c11-dwarf-4.ll
atomic-c11-dwarf-5.ll
bbjoin.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
bitcast-di.ll
bitfields-dwarf4.ll
bitfields.ll
block-capture.ll
byvalstruct.ll
c-type-units.ll
clang-module.ll
clone-module-2.ll
clone-module.ll
coff_debug_info_type.ll
coff_relative_names.ll
concrete_out_of_line.ll
constant-aggregate.ll
constant-loclist.ll
containing-type-extension-rust.ll
cu-ranges-odr.ll
cu-ranges.ll
data_member_location.ll
dbg-abstract-vars-g-gmlt.ll
dbg-addr-dse.ll
dbg-addr.ll
dbg-asm.s
dbg-byval-parameter.ll
dbg-const-int.ll
dbg-const.ll
dbg-declare-alloca.ll
dbg-declare-arg.ll
dbg-declare-inalloca.ll Relax dbg-declare-inalloca.ll test more 2018-10-02 22:28:10 +00:00
dbg-declare.ll
dbg-file-name.ll
dbg-i128-const.ll
dbg-merge-loc-entry.ll
dbg-prolog-end.ll
dbg-subrange.ll
dbg-value-const-byref.ll
dbg-value-dag-combine.ll
dbg-value-frame-index.ll
dbg-value-g-gmlt.ll
dbg-value-inlined-parameter.ll
dbg-value-isel.ll
dbg-value-location.ll
dbg-value-range.ll
dbg-value-regmask-clobber.ll
dbg-value-terminator.ll
dbg-value-transfer-order.ll
dbg-vector-size.ll
dbg_value_direct.ll
debug-dead-local-var.ll
debug-info-access.ll
debug-info-block-captured-self.ll
debug-info-blocks.ll
debug-info-packed-struct.ll
debug-info-producer-with-flags.ll
debug-info-static-member.ll
debug-label-unreached.ll [DebugInfo] Do not generate address info for removed debug labels. 2018-09-26 04:19:23 +00:00
debug-loc-asan.mir test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
debug-loc-frame.ll
debug-loc-offset.mir test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
debug-macro.ll
debug-names-ir-disabled.ll
debug-names-partial.ll
debug-names-split-dwarf.ll
debug-ranges-offset.ll
debug_addr.ll DebugInfo: Use debug_addr for non-dwo addresses in DWARF 5 2018-10-20 06:02:15 +00:00
debug_and_nodebug_CUs.ll
debug_frame.ll
debugger-tune.ll
decl-derived-member.ll
default-subrange-array.ll
deleted-bit-piece.ll
discriminator.ll
discriminator2.ll
discriminator3.ll
dllimport.ll
double-declare.ll
dw_op_minus.mir test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
dw_op_minus_direct.ll
dwarf-aranges-no-dwarf-labels.ll
dwarf-aranges.ll
dwarf-callsite-related-attrs.ll Specify -mtriple=x86_64 in an X86-specific dwarf test 2018-10-05 21:54:58 +00:00
dwarf-linkage-names.ll
dwarf-no-source-loc.ll Revert "DwarfDebug: Pick next location in case of missing location at block begin" 2018-10-11 23:37:58 +00:00
dwarf-public-names.ll
dwarf-pubnames-split.ll
dwarfdump-bogus-LNE.s
dwarfdump-debug-loc-simple.test
dwarfdump-debug-loclists.test llvm-dwarfdump: loclists: Don't expect an (albeit empty) expression for LLE_base_address 2018-10-25 21:35:59 +00:00
dwarfdump-debug-names.s
dwarfdump-header-64.s
dwarfdump-header.s [DWARFv5] Read and dump multiple .debug_info sections. 2018-11-07 21:39:09 +00:00
dwarfdump-line-dwo.s
dwarfdump-line-mismatch.s
dwarfdump-line-only.s
dwarfdump-ranges-baseaddr-exe.s
dwarfdump-ranges-baseaddr.s Revert "[DWARF] reposting r342048, which was reverted in r342056 due to buildbot errors. Adjusted 2 test cases for ARM and darwin and fixed a bug with the original change in dsymutil." 2018-09-17 15:40:01 +00:00
dwarfdump-ranges-unrelocated.s [dwarfdump] Hide ranges in diff-mode. 2018-10-19 17:57:53 +00:00
dwarfdump-rnglists.s
dwarfdump-str-offsets-dwp.s
dwarfdump-str-offsets-invalid-1.s
dwarfdump-str-offsets-invalid-2.s
dwarfdump-str-offsets-invalid-3.s
dwarfdump-str-offsets-invalid-4.s
dwarfdump-str-offsets-invalid-5.s
dwarfdump-str-offsets-invalid-6.s
dwarfdump-str-offsets-macho.s
dwarfdump-str-offsets.s [DWARF v5] Verifier: Add checks for DW_FORM_strx* forms. 2018-11-03 00:27:35 +00:00
earlydup-crash.ll
elf-names.ll
empty-and-one-elem-array.ll
empty-array.ll
empty.ll
empty_macinfo.ll
ending-run.ll
enum-class.ll
enum-fwd-decl.ll
fi-expr.ll
fi-piece.ll
fission-cu.ll
fission-hash.ll
fission-inline.ll
fission-no-inlining.ll
fission-ranges.ll DebugInfo: Use address pool forms in debug_rnglists 2018-10-20 07:36:39 +00:00
float_const.ll
float_const_loclist.ll
formal_parameter.ll
fragment-offset-order.ll
frame-register.ll
generate-odr-hash.ll
ghost-sdnode-dbgvalues.ll
global-expression.ll
global-sra-fp80-array.ll
global-sra-fp80-struct.ll
gmlt.test
gnu-public-names-empty.ll
gnu-public-names-gmlt.ll
gnu-public-names-multiple-cus-2.s [DWARF] Change pubnames to use DWARFSection instead of StringRef 2018-11-11 18:57:28 +00:00
gnu-public-names-multiple-cus.ll
gnu-public-names-tu.ll
gnu-public-names.ll [AsmPrinter] Fix DebugInfo/X86/gnu-public-names.ll after rL346790 2018-11-13 20:59:25 +00:00
header.ll
inline-asm-locs.ll
inline-member-function.ll
inline-namespace.ll
inline-seldag-test.ll
inlined-formal-parameter.ll
inlined-indirect-value.ll
instcombine-instrinsics.ll
invalid-prologue-end.ll
isel-cse-line.ll
lexical-block-file-inline.ll
lexical_block.ll
line-info.ll
line.test
linkage-name.ll
lit.local.cfg
live-debug-values.ll Bias physical register immediate assignments 2018-11-14 21:11:53 +00:00
live-debug-variables.ll [X86] Handle COPYs of physregs better (regalloc hints) 2018-09-19 18:59:08 +00:00
live-debug-vars-discard-invalid.mir MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
live-debug-vars-dse.mir MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
live-debug-vars-index.mir MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
live-debug-vars-keep-undef.ll
loclists-dwp.ll [DWARF] Make llvm-dwarfdump display location lists in a .dwp file correctly. Fixes PR38990. 2018-10-19 19:23:16 +00:00
low-pc-cu.ll
main-file-name.s
mem2reg_fp80.ll
memberfnptr.ll
merge_inlined_loc.ll
mi-print.ll
misched-dbg-value.ll
missing-file-line.ll
mixed-nodebug-cu.ll
multiple-aranges.ll
multiple-at-const-val.ll
no-public-sections-metadata.ll
no_debug_ranges.ll
nodebug.ll
nodebug_with_debug_loc.ll
nondefault-subrange-array.ll
nophysreg.ll
noreturn_c11.ll
noreturn_cpp11.ll
noreturn_objc.ll
objc-fwd-decl.ll
objc-property-void.ll
op_deref.ll
parameters.ll Relax fast register allocator related test cases; NFC 2018-10-29 20:10:42 +00:00
partial-constant.ll
pieces-1.ll Relax fast register allocator related test cases; NFC 2018-10-29 20:10:42 +00:00
pieces-2.ll
pieces-3.ll [X86] Handle COPYs of physregs better (regalloc hints) 2018-09-19 18:59:08 +00:00
pieces-4.ll
pointer-type-size.ll
pr11300.ll
pr12831.ll
pr13303.ll
pr19307.mir test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
pr28270.ll
pr34545.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
processes-relocations.ll
prologue-stack.ll
range_reloc.ll DebugInfo: Add a CU metadata attribute for use of DWARF ranges base address specifiers 2018-11-13 20:08:10 +00:00
range_reloc_base.ll
ref_addr_relocation.ll
reference-argument.ll
rematerialize.ll
rnglists_base_attr.ll
rnglists_curanges.ll DebugInfo: Use address pool forms in debug_rnglists 2018-10-20 07:36:39 +00:00
rvalue-ref.ll
safestack-byval.ll
sdag-combine.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-dangling-dbgvalue.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-dbgvalue-phi-use-1.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-dbgvalue-phi-use-2.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-dbgvalue-phi-use-3.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-dbgvalue-phi-use-4.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-legalize-multires.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-salvage-add.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sdag-split-arg.ll Relax fast register allocator related test cases; NFC 2018-10-29 20:10:42 +00:00
sdagsplit-1.ll MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
sections_as_references.ll
single-dbg_value.ll
single-fi.ll
spill-indirect-nrvo.ll
spill-nontrivial-param.ll
spill-nospill.ll
split-dwarf-cross-unit-reference.ll
split-dwarf-multiple-cu-hash.ll
split-dwarf-omit-empty.ll
split-dwarf-v5-ranges.ll DebugInfo: Reuse common addresses for rnglist base address selections 2018-10-24 23:36:29 +00:00
split-global.ll
sret.ll
sroasplit-1.ll
sroasplit-2.ll
sroasplit-3.ll
sroasplit-4.ll
sroasplit-5.ll
sroasplit-dbg-declare.ll
stack-args.ll
stack-value-dwarf2.ll
stack-value-dwarf4.ll
stack-value-piece.ll
static_member_array.ll
stmt-list-multiple-compile-units.ll
stmt-list.ll
string-offsets-multiple-cus.ll [DWARFv5] Emit normal type units in .debug_info comdats. 2018-11-09 19:06:09 +00:00
string-offsets-table-order.ll
string-offsets-table.ll
stringpool.ll
strip-broken-debuginfo.ll
struct-loc.ll
subrange-type.ll
subreg.ll
subregisters.ll
tail-merge.ll
template.ll Emit template type and value parameter DIEs for template variables. 2018-10-03 18:44:53 +00:00
this-stack_value.ll
tls.ll [DWARF] - Emit the correct value for DW_AT_addr_base. 2018-09-20 09:17:36 +00:00
type_units_with_addresses.ll
unattached-global.ll
union-const.ll
union-template.ll
v5-loc.ll DebugInfo: Use DW_OP_addrx in DWARFv5 2018-10-20 08:54:05 +00:00
vector.ll
vla-dependencies.ll
vla-global.ll
vla-multi.ll
vla.ll Relax fast register allocator related test cases; NFC 2018-10-29 20:10:42 +00:00
void-typedef.ll
xray-split-dwarf-interaction.ll
zextload.ll