1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/Mips
Aleksandar Beserminji 179e3b577d [mips] Handle branch expansion corner cases
When potential jump instruction and target are in the same segment, use
jump instruction with immediate field.

In cases where offset does not fit immediate value of a bc/j instructions,
offset is stored into register, and then jump register instruction is used.

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

llvm-svn: 339126
2018-08-07 10:45:45 +00:00
..
cconv [DAGCombiner] Call SimplifyDemandedVectorElts from EXTRACT_VECTOR_ELT 2018-07-17 09:45:35 +00:00
compactbranches Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
cstmaterialization [mips] Add microMIPS specific addressing patterns. 2018-06-20 22:40:12 +00:00
Fast-ISel [Mips][FastISel] Fix handling of icmp with i1 type 2018-07-17 14:57:46 +00:00
GlobalISel [MIPS GlobalISel] Select global address 2018-08-01 09:03:23 +00:00
indirect-jump-hazard Emit a left-shift instead of a power-of-two multiply for jump-tables 2018-05-16 08:58:26 +00:00
instverify Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +00:00
llvm-ir [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
longbranch [mips] Handle branch expansion corner cases 2018-08-07 10:45:45 +00:00
micromips-sizereduction [mips][microMIPS] Extending size reduction pass with LWP and SWP 2018-06-13 12:51:37 +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 [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
tailcall [SelectionDAG] Provide adequate register class for RegisterSDNode 2018-02-09 13:55:25 +00:00
2008-06-05-Carry.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
2008-07-03-SRet.ll
2008-07-06-fadd64.ll
2008-07-07-Float2Int.ll
2008-07-07-FPExtend.ll
2008-07-07-IntDoubleConvertions.ll
2008-07-15-InternalConstant.ll
2008-07-15-SmallSection.ll [mips] Lift the assertion on the types that can be used with MipsGPRel 2017-08-11 14:36:05 +00:00
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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2013-11-18-fp64-const0.ll
abicalls.ll
abiflags32.ll
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 Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding" 2018-02-27 16:59:10 +00:00
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 [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
atomic.ll [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
atomicCmpSwapPW.ll [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
atomicops.ll
beqzc1.ll
beqzc.ll
biggot.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
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 Increase tail dup threshold for -O3 from 3 to 4. 2017-08-17 23:38:41 +00:00
brcongt.ll
brconle.ll Increase tail dup threshold for -O3 from 3 to 4. 2017-08-17 23:38:41 +00:00
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 [mips] Guard indirect and tailcall pseudo instructions correctly. 2017-11-08 11:13:44 +00:00
brind.ll
brsize3.ll
brsize3a.ll
brundef.ll [MIPS] BuildCondBr should preserve MO flags 2017-06-13 14:11:29 +00:00
bswap.ll [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
buildpairextractelementf64.ll
cache-intrinsic.ll
call-optimization.ll
cfi_offset.ll
check-adde-redundant-moves.ll
check-noat.ll
ci2.ll
cins.ll [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
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 [mips] Replace assert by an error message 2017-12-29 19:18:24 +00:00
constraint-c.ll [mips] Replace assert by an error message 2017-12-29 19:18:24 +00:00
countleading.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
cprestore.ll
ctlz-v.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
ctlz.ll
cttz-v.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
dagcombine_crash.ll
dagcombine-store-gep-chain-slow.ll [DAGCombine] Disable finding better chains for stores at O0 2017-11-28 04:07:59 +00:00
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 [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
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 Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
dsp-r1.ll [mips][dsp] Modify repl.ph to accept signed immediate values 2017-06-07 14:48:46 +00:00
dsp-r2.ll
dsp-spill-reload.ll [mips] Enable spilling and reloading of the dsp register set. 2017-10-03 13:45:49 +00:00
dsp-vec-load-store.ll
dynamic-stack-realignment.ll
eh-dwarf-cfa.ll
eh-return32.ll
eh-return64.ll
eh.ll
ehframe-indirect.ll
elf_eflags.ll
emergency-spill-slot-near-fp.ll RegScavenging: Add scavengeRegisterBackwards() 2017-06-17 02:08:18 +00:00
emit-big-cst.ll
emutls_generic.ll [TLS] use emulated TLS if the target supports only this mode 2018-02-28 17:48:55 +00:00
ex2.ll
extins.ll
f16abs.ll
fabs.ll
fastcc_byval.ll [mips] Generate memory dependencies for byVal arguments 2018-02-22 13:40:42 +00:00
fastcc.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
fcmp.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
fcopysign-f32-f64.ll Reland "[mips] Fix the target specific instruction verifier" 2017-12-18 15:56:40 +00:00
fcopysign.ll Reland "[mips] Fix the target specific instruction verifier" 2017-12-18 15:56:40 +00:00
fixdfsf.ll
fmadd1.ll [mips] Add madd4 subtarget feature 2017-06-06 15:33:01 +00:00
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.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 [mips] Handle variables with an explicit section and interactions with .sdata, .sbss 2017-08-16 12:18:04 +00:00
gpreg-lazy-binding.ll
gprestore.ll [mips] UnXFAIL gprestore.ll test. 2018-02-09 10:46:16 +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
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 [mips] Fix 'l' constraint handling for types smaller than 32 bits 2018-02-12 12:21:55 +00:00
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 [mips] Fix 'l' constraint handling for types smaller than 32 bits 2018-02-12 12:21:55 +00:00
inlineasm-constraint_ZC_2.ll
inlineasm-opcode-bad-y.ll [mips] Support 'y' operand code to print exact log2 of the operand 2018-02-07 12:36:39 +00:00
inlineasm-operand-code.ll [mips] Support 'y' operand code to print exact log2 of the operand 2018-02-07 12:36:39 +00:00
inlineasmmemop.ll [mips] Handle 'M' and 'L' operand codes for memory operands 2018-02-07 12:36:33 +00:00
insn-zero-size-bb.ll
int-to-float-conversion.ll
internalfunc.ll
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 Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
lazy-binding.ll
lb1.ll
lbu1.ll
lcb2.ll
lcb3c.ll
lcb4a.ll [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
lcb5.ll
lh1.ll
lhu1.ll
lit.local.cfg
llcarry.ll Reland "[mips] Fix multiprecision arithmetic." 2017-07-13 11:28:05 +00:00
load-store-left-right.ll [Mips] Add support to match more patterns for DEXT and CINS 2017-03-15 13:10:08 +00:00
long-call-attr.ll [mips] Support long_call/far/near attributes passed by front-end 2017-07-20 12:19:26 +00:00
long-call-mcount.ll [mips] Add test case to check that calls to mcount follow long calls / short calls options. NFC 2017-12-22 13:45:46 +00:00
long-calls.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
longbranch.ll [mips] Merge MipsLongBranch and MipsHazardSchedule passes 2018-05-22 13:24:38 +00:00
lw16-base-reg.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
machineverifier.ll
madd-msub.ll [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
mature-mc-support.ll
mbrsize4a.ll
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
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 [mips] Set microMIPS ASE flag 2017-11-24 14:00:47 +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 [mips] Support micromips attribute passed by front-end 2017-05-22 12:47:41 +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-gp-rc.ll evert "[mips] Fix test mips64fpldst.ll with machine verifier enabled" 2017-06-07 11:21:37 +00:00
micromips-jal.ll
micromips-li.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
micromips-load-effective-address.ll
micromips-lwc1-swc1.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
micromips-not16.ll
micromips-or16.ll
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-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 In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
mips64-f128.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
mips64-libcall.ll
mips64-sret.ll
mips64directive.ll
mips64ext.ll
mips64extins.ll [mips] Pick the right variant of DINS upfront and enable target instruction verification 2017-09-14 10:58:00 +00:00
mips64fpimm0.ll
mips64fpldst.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
mips64imm.ll
mips64instrs.ll
mips64intldst.ll
mips64lea.ll
mips64muldiv.ll
mips64shift.ll [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00
mips64signextendsesf.ll [CodeGen] Always use printReg to print registers in both MIR and debug 2017-11-30 16:12:24 +00:00
mips64sinttofpsf.ll
mips-shf-gprel.s
mipslopat.ll
misha.ll
mno-ldc1-sdc1.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
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 [mips] Correct the instruction predicates for microMIPSr3 2017-10-10 20:52:53 +00:00
no-odd-spreg-msa.ll
no-odd-spreg.ll [FileCheck] Add -allow-deprecated-dag-overlap to failing llvm tests 2018-07-11 20:25:49 +00:00
nomips16.ll
not1.ll
null-streamer.ll
null.ll
o32_cc_byval.ll Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding" 2018-02-27 16:59:10 +00:00
o32_cc_vararg.ll In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled. 2017-03-14 00:34:14 +00:00
o32_cc.ll
octeon_popcnt.ll
octeon.ll [MIPS] Add support to match more patterns for BBIT instruction 2017-08-30 11:25:38 +00:00
optimize-fp-math.ll
optimize-pic-o0.ll
or1.ll
pbqp-reserved-physreg.ll RegAllocPBQP: Do not assign reserved physical register 2017-06-08 21:30:54 +00:00
powif64_16.ll
pr33682.ll Fix endianness bug in DAGCombiner::visitTRUNCATE and visitEXTRACT_VECTOR_ELT 2017-07-25 09:40:35 +00:00
pr33978.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
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 [mips] Fix incorrect sign extension for fpowi libcall 2018-01-30 16:24:10 +00:00
prevent-hoisting.ll [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
private-addr.ll
private.ll
ra-allocatable.ll
rdhwr-directives.ll
rem.ll
remat-immed-load.ll
remu.ll
return_address.ll [mips] Fix return lowering 2017-03-09 11:19:48 +00:00
return-vector.ll Reland "[SelectionDAG] Enable target specific vector scalarization of calls and returns" 2017-06-09 14:37:08 +00:00
rotate.ll
s2rem.ll
sb1.ll
sel1c.ll
sel2c.ll
select.ll [Mips] Return true in enableMultipleCopyHints(). 2018-02-23 08:30:15 +00:00
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-wrapping.ll [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
simplebr.ll
sint-fp-store_pattern.ll
sitofp-selectcc-opt.ll
sll1.ll
sll2.ll
sll-micromips-r6-encoding.mir Followup on Proposal to move MIR physical register namespace to '$' sigil. 2018-01-31 22:04:26 +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 [MIPS] Implement support for -mstack-alignment. 2017-08-14 21:49:38 +00:00
stackcoloring.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
stacksize.ll
start-asm-file.ll
stchar.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
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] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
tnaked.ll [mips] Fix return lowering 2017-03-09 11:19:48 +00:00
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 [MIPS] Don't crash on unsized extern types with -mgpopt 2018-01-26 15:56:14 +00:00
v2i16tof32.ll [mips] Provide additional DSP bitconvert patterns 2017-12-13 10:13:35 +00:00
vector-load-store.ll
vector-setcc.ll
weak.ll
whitespace.ll [mips] fix asmstring of Ext and Ins instructions and mips16 JALRC/JRC 2017-11-27 14:25:36 +00:00
xor1.ll
xray-mips-attribute-instrumentation.ll
xray-section-group.ll [XRay][CodeGen] Use the current function symbol as the associated symbol for the instrumentation map 2017-09-14 07:08:23 +00:00
zeroreg.ll