1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/CodeGen/Mips
Matt Arsenault 5fe7f3e187 RegAllocFast: Improve hinting heuristic
Trace through multiple COPYs when looking for a physreg source. Add
hinting for vregs that will be copied into physregs (we only hinted
for vregs getting copied to a physreg previously).  Give hinted a
register a bonus when deciding which value to spill.  This is part of
my rewrite regallocfast series. In fact this one doesn't even have an
effect unless you also flip the allocation to happen from back to
front of a basic block. Nonetheless it helps to split this up to ease
review of D52010

Patch by Matthias Braun

llvm-svn: 360887
2019-05-16 12:50:39 +00:00
..
cconv [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
compactbranches
cstmaterialization [mips] Add microMIPS specific addressing patterns. 2018-06-20 22:40:12 +00:00
Fast-ISel RegAllocFast: Remove early selection loop, the spill calculation will report cost 0 anyway for free regs 2019-03-19 19:01:34 +00:00
GlobalISel [GlobalISel] Enable CSE in the IRTranslator & legalizer for -O0 with constants only. 2019-04-15 05:04:20 +00:00
indirect-jump-hazard Revert r356996 "[DAG] Avoid smart constructor-based dangling nodes." 2019-03-27 19:54:41 +00:00
instverify
llvm-ir [MIPS] Use custom bitcast lowering to avoid excessive instructions 2019-04-25 07:47:28 +00:00
longbranch [Mips] Supplement long branch pseudo instructions 2018-11-05 14:37:41 +00:00
micromips-sizereduction [mips][microMIPS] Extending size reduction pass with MOVEP 2018-09-19 18:46:29 +00:00
mips32r6
mips64r6
mirparser [mips] Correct predicates for loads, bit manipulation instructions and some pseudos 2018-06-20 19:59:58 +00:00
msa [mips] Fix lowering a signed immediate for *.d MSA instructions 2019-03-29 15:15:22 +00:00
tailcall
2008-06-05-Carry.ll
2008-07-03-SRet.ll
2008-07-06-fadd64.ll
2008-07-07-Float2Int.ll Regenerate FP_TO_INT tests. 2018-10-27 15:00:38 +00:00
2008-07-07-FPExtend.ll
2008-07-07-IntDoubleConvertions.ll
2008-07-15-InternalConstant.ll
2008-07-15-SmallSection.ll
2008-07-16-SignExtInReg.ll
2008-07-22-Cstpool.ll
2008-07-23-fpcmp.ll
2008-07-29-icmp.ll
2008-07-31-fcopysign.ll
2008-08-01-AsmInline.ll
2008-08-03-fabs64.ll
2008-08-03-ReturnDouble.ll
2008-08-04-Bitconvert.ll
2008-08-06-Alloca.ll
2008-08-07-CC.ll
2008-08-07-FPRound.ll
2008-08-08-ctlz.ll
2008-10-13-LegalizerBug.ll
2008-11-10-xint_to_fp.ll
2009-11-16-CstPoolLoad.ll
2010-07-20-Switch.ll Emit a left-shift instead of a power-of-two multiply for jump-tables 2018-05-16 08:58:26 +00:00
2010-11-09-CountLeading.ll
2010-11-09-Mul.ll
2011-05-26-BranchKillsVreg.ll
2012-12-12-ExpandMemcpy.ll
2013-11-18-fp64-const0.ll [MIPS] Remove fcmp undef from reduced test 2019-03-30 20:16:16 +00:00
abicalls.ll
abiflags32.ll [mips] Emit .module softfloat directive 2019-02-26 14:45:17 +00:00
abiflags-xx.ll
addc.ll
addi.ll
address-selection.ll [mips] Add microMIPS specific addressing patterns. 2018-06-20 22:40:12 +00:00
addressing-mode.ll
adjust-callstack-sp.ll
align16.ll
alloca16.ll
alloca.ll
analyzebranch.ll
and1.ll
ase_warnings.ll [mips] Warn when crc, ginv, virt flags are used with too old revision 2018-07-04 19:26:31 +00:00
asm-large-immediate.ll
assertzext-trunc.ll
atomic64.ll Reapply r359906, "RegAllocFast: Add heuristic to detect values not live-out of a block" 2019-05-03 19:06:57 +00:00
atomic.ll RegAllocFast: Improve hinting heuristic 2019-05-16 12:50:39 +00:00
atomicCmpSwapPW.ll RegAllocFast: Improve hinting heuristic 2019-05-16 12:50:39 +00:00
atomicops.ll
beqzc1.ll
beqzc.ll
biggot.ll
blez_bgez.ll [mips] Add microMIPS case to the tests and regenerate assertions using update_llc_test_checks.py. NFC 2018-07-13 15:03:24 +00:00
blockaddr.ll
br-jmp.ll Reland r331175: "[mips] Fix the predicates of jump and branch and link instructions" 2018-05-01 13:06:49 +00:00
branch-relaxation-with-hazard.ll [mips] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +00:00
brconeq.ll
brconeqk.ll
brconeqz.ll
brconge.ll
brcongt.ll
brconle.ll
brconlt.ll
brconne.ll
brconnek.ll
brconnez.ll
brdelayslot.ll [mips] Support shrink-wrapping 2018-06-29 16:37:16 +00:00
brind-tailcall.ll
brind.ll
brsize3.ll
brsize3a.ll
brundef.ll
bswap.ll [mips] Remove -allow-deprecated-dag-overlap flag from tests. NFC 2018-10-03 22:02:23 +00:00
buildpairextractelementf64.ll
buildpairf64-extractelementf64-implicit-sp.ll [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
cache-intrinsic.ll
call-optimization.ll
cfi_offset.ll
check-adde-redundant-moves.ll
check-noat.ll
ci2.ll
cins.ll
cmov.ll
cmplarge.ll
coalesce-partial-redundant-reguse-terminator.mir [RegisterCoalescing] Don't move COPY if it would interfere with another value 2018-03-28 06:01:30 +00:00
const1.ll
const4a.ll
const6.ll
const6a.ll
const-mult.ll [DAGCombiner] Teach DAG combiner that A-(B-C) can be folded to A+(C-B) 2018-07-28 00:27:25 +00:00
constantfp0.ll
constraint-c-err.ll
constraint-c.ll
countleading.ll
cprestore.ll
ctlz-v.ll
ctlz.ll
cttz-v.ll
dagcombine_crash.ll
dagcombine-store-gep-chain-slow.ll
DbgValueOtherTargets.test
delay-slot-fill-forward.ll
delay-slot-kill.ll [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
dext.ll
dins.ll Fix typo in test/CodeGen/Mips/dins.ll 2018-07-23 23:19:53 +00:00
disable-tail-merge.ll
div_rem.ll
div.ll
divrem.ll
divu_remu.ll
divu.ll
double2int.ll [mips] Fix predicate for the MipsTruncIntFP pattern 2018-07-18 14:11:22 +00:00
dsp-patterns-cmp-vselect.ll
dsp-patterns.ll
dsp-r1.ll
dsp-r2.ll
dsp-spill-reload.ll Reapply r359906, "RegAllocFast: Add heuristic to detect values not live-out of a block" 2019-05-03 19:06:57 +00:00
dsp-vec-load-store.ll
dynamic-stack-realignment.ll [MIPS][microMIPS] Enable dynamic stack realignment 2019-03-19 17:01:24 +00:00
eh-dwarf-cfa.ll
eh-return32.ll
eh-return64.ll
eh.ll
ehframe-indirect.ll
elf_eflags.ll
emergency-spill-slot-near-fp.ll
emit-big-cst.ll
emutls_generic.ll
ex2.ll
extins.ll
f16abs.ll
f32-to-i64-single-float.ll [MIPS] Fix illegal type assert in single-float mode 2018-09-11 15:32:47 +00:00
fabs.ll [mips] Support for +abs2008 attribute 2019-01-28 14:59:30 +00:00
fastcc_byval.ll
fastcc.ll [DAGCombine] Improve alias analysis for chain of independent stores. 2018-11-08 19:14:20 +00:00
fcmp.ll
fcopysign-f32-f64.ll
fcopysign.ll
fixdfsf.ll
fmadd1.ll
fneg.ll
fp16-promote.ll
fp16instrinsmc.ll
fp16mix.ll
fp16static.ll
fp64a.ll
fp-contract.ll [mips] Fix how compiler fuse instructions to fmadd/fmsub 2018-04-27 13:30:27 +00:00
fp-indexed-ls.ll
fp-spill-reload.ll
fpbr.ll
fpneeded.ll
fpnotneeded.ll
fpxx.ll
frame-address-err.ll [mips] Replace assertion by error message while lowering RETURNADDR and FRAMEADDR 2019-03-06 22:40:28 +00:00
frame-address.ll
frameindex.ll [mips] Select the correct instruction for computing frameindexes 2018-06-01 10:07:10 +00:00
frem.ll
global-address.ll
global-pointer-reg.ll
gpopt-explict-section.ll
gpreg-lazy-binding.ll
gprestore.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
helloworld.ll
hf1_body.ll
hf16_1.ll
hf16call32_body.ll Use .set instead of = when printing assignment in assembly output 2018-03-27 16:44:41 +00:00
hf16call32.ll
hfptrcall.ll
i32k.ll
i64arg.ll
imm.ll
indirectcall.ll
init-array.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
inlineasm64.ll
inlineasm_constraint_m.ll
inlineasm_constraint_R.ll
inlineasm_constraint_ZC.ll
inlineasm_constraint.ll
inlineasm-assembler-directives.ll
inlineasm-cnstrnt-bad-I-1.ll
inlineasm-cnstrnt-bad-J.ll
inlineasm-cnstrnt-bad-K.ll
inlineasm-cnstrnt-bad-l1.ll
inlineasm-cnstrnt-bad-L.ll
inlineasm-cnstrnt-bad-N.ll
inlineasm-cnstrnt-bad-O.ll
inlineasm-cnstrnt-bad-P.ll
inlineasm-cnstrnt-reg64.ll
inlineasm-cnstrnt-reg.ll
inlineasm-constraint_ZC_2.ll
inlineasm-opcode-bad-y.ll
inlineasm-operand-code.ll
inlineasm-output-template.ll [AsmPrinter] refactor to support %c w/ GlobalAddress' 2019-04-26 18:45:04 +00:00
inlineasmmemop.ll
insn-zero-size-bb.ll
int-to-float-conversion.ll
internalfunc.ll Revert "[MIR] Add simple PRE pass to MachineCSE" 2019-05-03 12:36:22 +00:00
interrupt-attr-64-error.ll
interrupt-attr-args-error.ll
interrupt-attr-error.ll
interrupt-attr.ll
jtstat.ll
jump-table-mul.ll Emit a left-shift instead of a power-of-two multiply for jump-tables 2018-05-16 08:58:26 +00:00
jumptable_labels.ll
l3mc.ll
largeimm1.ll
largeimmprinting.ll
lazy-binding.ll
lb1.ll
lbu1.ll
lcb2.ll
lcb3c.ll
lcb4a.ll
lcb5.ll
lh1.ll
lhu1.ll
lit.local.cfg
llcarry.ll
load-store-left-right.ll
long-call-attr.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
long-call-mcount.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
long-calls.ll
longbranch.ll [mips] Involves microMIPS's jump in the analyzable branch set 2018-08-29 14:53:55 +00:00
lw16-base-reg.ll
machineverifier.ll
madd-msub.ll [mips] Remove -allow-deprecated-dag-overlap flag from tests. NFC 2018-10-03 22:02:23 +00:00
mature-mc-support.ll
mbrsize4a.ll
memcpy.ll
micromips64-unsupported.ll [mips] Mark microMIPS64 as being unsupported. 2018-06-19 16:05:44 +00:00
micromips-addiu.ll
micromips-addu16.ll
micromips-and16.ll
micromips-andi.ll
micromips-ase-function-attribute.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
micromips-atomic1.ll
micromips-atomic.ll [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
micromips-attr.ll
micromips-b-range.ll [mips][micromips] Fix how values in .gcc_except_table are calculated 2019-02-07 22:57:33 +00:00
micromips-compact-branches.ll
micromips-compact-jump.ll
micromips-delay-slot-jr.ll
micromips-delay-slot.ll
micromips-directives.ll
micromips-eva.mir [MIR] Add support for debug metadata for fixed stack objects 2018-04-25 18:58:06 +00:00
micromips-gcc-except-table.ll [mips][micromips] Fix how values in .gcc_except_table are calculated 2018-10-16 08:27:28 +00:00
micromips-gp-rc.ll
micromips-jal.ll
micromips-li.ll
micromips-load-effective-address.ll
micromips-lwc1-swc1.ll
micromips-mtc-mfc.ll [mips] Fix encoding of the mov.d command for microMIPS R6 2019-03-13 14:23:12 +00:00
micromips-not16.ll
micromips-or16.ll
micromips-pseudo-mtlohi-expand.ll Fixup tests to check for any MCInst number instead of a specific one. 2019-03-14 01:24:35 +00:00
micromips-rdhwr-directives.ll
micromips-shift.ll
micromips-short-delay-slot.mir [MIR] Add support for debug metadata for fixed stack objects 2018-04-25 18:58:06 +00:00
micromips-subu16.ll
micromips-sw-lw-16.ll
micromips-sw.ll [mips] Map SW instruction to its microMIPS R6 variant 2019-03-13 13:09:30 +00:00
micromips-target-external-symbol-reloc.ll [mips][micromips] Fix JmpLink to TargetExternalSymbol 2018-11-01 13:57:54 +00:00
micromips-xor16.ll
mips3-spill-slot.ll [mips] Fix spill slot for mips3, n64 abi 2018-06-11 16:50:28 +00:00
mips16_32_1.ll
mips16_32_3.ll
mips16_32_4.ll
mips16_32_5.ll
mips16_32_6.ll
mips16_32_7.ll
mips16_32_8.ll
mips16_32_9.ll
mips16_32_10.ll
mips16_fpret.ll
mips16-hf-attr-2.ll
mips16-hf-attr.ll
mips16ex.ll Use .set instead of = when printing assignment in assembly output 2018-03-27 16:44:41 +00:00
mips16fpe.ll
mips64-f128-call.ll
mips64-f128.ll
mips64-libcall.ll
mips64-sret.ll
mips64directive.ll
mips64ext.ll
mips64extins.ll
mips64fpimm0.ll
mips64fpldst.ll
mips64imm.ll
mips64instrs.ll
mips64intldst.ll
mips64lea.ll
mips64muldiv.ll
mips64shift.ll
mips64signextendsesf.ll
mips64sinttofpsf.ll
mips-shf-gprel.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
mipslopat.ll
misha.ll
mno-ldc1-sdc1.ll
mul.ll
mulll.ll
mulull.ll
nacl-align.ll
nacl-branch-delay.ll
nacl-reserved-regs.ll
named-register-n32.ll
named-register-n64.ll
named-register-o32.ll
neg1.ll
nmadd.ll
no-odd-spreg-msa.ll [mips] Use AltOrders to prevent using odd FP-registers 2019-04-02 13:57:32 +00:00
no-odd-spreg.ll [mips] Remove -allow-deprecated-dag-overlap flag from tests. NFC 2018-10-03 22:02:23 +00:00
nomips16.ll
not1.ll
null-streamer.ll
null.ll
o32_cc_byval.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
o32_cc_vararg.ll [DAGCombine] Improve Load-Store Forwarding 2018-10-10 14:15:52 +00:00
o32_cc.ll
octeon_popcnt.ll
octeon.ll
optimize-fp-math.ll
optimize-pic-o0.ll
or1.ll
pbqp-reserved-physreg.ll
powif64_16.ll
pr33682.ll
pr33978.ll
pr34975.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
pr35071.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
pr36061.ll
prevent-hoisting.ll
private-addr.ll
private.ll
pseudo-jump-fill.ll [mips][micromips] fix filling delay slots for PseudoIndirectBranch_MM 2019-02-22 14:53:58 +00:00
ra-allocatable.ll
rdhwr-directives.ll
reloc-jalr.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
rem.ll
remat-immed-load.ll
remu.ll
return_address_err.ll [mips] Replace assertion by error message while lowering RETURNADDR and FRAMEADDR 2019-03-06 22:40:28 +00:00
return_address.ll
return-vector.ll
rotate.ll
s2rem.ll
sb1.ll
sel1c.ll
sel2c.ll
select.ll
selectcc.ll
selectiondag-optlevel.ll
seleq.ll
seleqk.ll
selgek.ll
selgt.ll
selle.ll
selltk.ll
selne.ll
selnek.ll
selpat.ll
selTBteqzCmpi.ll
selTBtnezCmpi.ll
selTBtnezSlti.ll
setcc-se.ll
seteq.ll
seteqz.ll
setge.ll
setgek.ll
setle.ll
setlt.ll
setltk.ll
setne.ll
setuge.ll
setugt.ll
setule.ll
setult.ll
setultk.ll
sh1.ll
shift-parts.ll
shrink-wrap-buildpairf64-extractelementf64.mir [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
shrink-wrapping.ll [mips] Emit .reloc R_{MICRO}MIPS_JALR along with j(al)r(c) $25 2019-01-17 21:50:37 +00:00
simplebr.ll
sint-fp-store_pattern.ll
sitofp-selectcc-opt.ll
sll1.ll
sll2.ll
sll-micromips-r6-encoding.mir [MIPS] Fix a incorrect test. (NFC) 2019-02-23 15:56:32 +00:00
slt.ll
small-section-reserve-gp.ll
spill-copy-acreg.ll
sr1.ll
sra1.ll
sra2.ll
srl1.ll
srl2.ll
stack-alignment.ll
stackcoloring.ll
stacksize.ll
start-asm-file.ll
stchar.ll
stldst.ll
sub1.ll
sub2.ll
swzero.ll
tail16.ll
tglobaladdr-wrapper.ll [mips] Move out the WrapperPat declaration from the NotInMicroMips predicate 2018-07-21 16:16:03 +00:00
thread-pointer.ll
tls16_2.ll
tls16.ll
tls-alias.ll
tls-models.ll
tls.ll [mips] Add a pattern for 64-bit GPR variant of the rdhwr instruction 2018-09-11 09:57:25 +00:00
tnaked.ll
trap1.ll
trap.ll
uitofp.ll
ul1.ll
unaligned-memops-mapping.mir [mips] Correct the definitions of the unaligned word memory operation instructions 2018-04-19 13:33:51 +00:00
unaligned-memops.ll [mips] Correct the definitions of the unaligned word memory operation instructions 2018-04-19 13:33:51 +00:00
unalignedload.ll
unsized-global.ll
v2i16tof32.ll [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
vector-load-store.ll
vector-setcc.ll
weak.ll
whitespace.ll
xor1.ll
xray-mips-attribute-instrumentation.ll
xray-section-group.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
zeroreg.ll