1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/CodeGen/Hexagon
Pranav Bhandarkar 36cbef5143 Check vector elements for equivalence in the HexagonVectorLoopCarriedReuse pass
If the two instructions being compared for equivalence have corresponding operands
that are integer constants, then check their values to determine equivalence.

Patch by Suyog Sarda!

llvm-svn: 313993
2017-09-22 16:43:31 +00:00
..
intrinsics [Hexagon] Add intrinsics for data cache operations 2017-07-14 15:58:48 +00:00
loop-idiom [Hexagon] Generate correct runtime check when recognizing memmove 2017-08-24 11:59:53 +00:00
vect [Hexagon] Remove custom lowering of loads of v4i16 2017-07-17 15:45:45 +00:00
absaddr-store.ll
absimm.ll
adde.ll
addh-sext-trunc.ll
addh-shifted.ll
addh.ll
addr-calc-opt.ll
addrmode-globoff.mir [Hexagon] Generate proper offset in opt-addr-mode 2017-04-19 15:15:51 +00:00
addrmode-indoff.ll
addrmode-keepdeadphis.mir [Hexagon] Keep all phi nodes when building DFG in addr-mode-opt 2017-06-29 15:55:59 +00:00
adjust-latency-stackST.ll [Hexagon] Adjust latency between allocframe and the first store on stack 2017-05-03 15:33:09 +00:00
alu64.ll
always-ext.ll
anti-dep-partial.mir
args.ll
ashift-left-right.ll
Atomics.ll
avoid-predspill-calleesaved.ll
avoid-predspill.ll
bank-conflict-load.mir [Hexagon] Check for potential bank conflicts in post-RA scheduling 2017-08-28 18:36:21 +00:00
barrier-flag.ll
base-offset-addr.ll
base-offset-post.ll
bit-bitsplit-at.ll
bit-bitsplit-src.ll
bit-bitsplit.ll
bit-eval.ll
bit-ext-sat.ll
bit-extract-off.ll
bit-extract.ll
bit-extractu-half.ll
bit-gen-rseq.ll
bit-has.ll
bit-loop-rc-mismatch.ll
bit-loop.ll
bit-phi.ll
bit-rie.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
bit-skip-byval.ll
bit-validate-reg.ll
bit-visit-flowq.ll
bitconvert-vector.ll
bitmanip.ll
block-addr.ll
block-ranges-nodef.ll
branch-folder-hoist-kills.mir [IfConversion] More simple, correct dead/kill liveness handling 2017-09-14 15:53:11 +00:00
branch-non-mbb.ll
branchfolder-insert-impdef.mir Insert IMPLICIT_DEFS for undef uses in tail merging 2017-09-06 20:45:24 +00:00
branchfolder-keep-impdef.ll
BranchPredict.ll
brev_ld.ll
brev_st.ll
bugAsmHWloop.ll
build-vector-shuffle.ll
builtin-expect.ll
builtin-prefetch-offset.ll
builtin-prefetch.ll
calling-conv-2.ll
callr-dep-edge.ll
cext-check.ll
cext-valid-packet1.ll
cext-valid-packet2.ll
cext.ll
cexti16.ll
cfgopt-fall-through.ll [Hexagon] Do not move a block if it is on a fall-through path 2017-04-28 21:54:11 +00:00
cfi-late.ll
cfi-offset.ll
checktabs.ll
circ_ld.ll
circ_ldd_bug.ll
circ_ldw.ll
circ_st.ll
circ-load-isel.ll
clr_set_toggle.ll
cmp_pred2.ll
cmp_pred_reg.ll
cmp_pred.ll
cmp-extend.ll
cmp-promote.ll
cmp-to-genreg.ll
cmp-to-predreg.ll
cmp.ll
cmpb_pred.ll
cmpb-eq.ll
combine_ir.ll
combine.ll
common-gep-basic.ll
common-gep-icm.ll
common-gep-inbounds.ll [Hexagon] Generate 'inbounds' GEPs in HexagonCommonGEP 2017-06-07 20:04:33 +00:00
compound.ll
const64.ll
const-pool-tf.ll
constp-clb.ll
constp-combine-neg.ll
constp-ctb.ll
constp-extract.ll
constp-physreg.ll
constp-rewrite-branches.ll
constp-rseq.ll
constp-vsplat.ll
convert_const_i1_to_i8.ll [Hexagon] Convert HVX vector constants of i1 to i8 2017-08-01 13:12:53 +00:00
convert-to-dot-old.ll
convertdptoint.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
convertdptoll.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
convertsptoint.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
convertsptoll.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
copy-to-combine-dbg.ll
csr-func-usedef.ll
ctor.ll
dadd.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
dead-store-stack.ll
dmul.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
double.ll
doubleconvert-ieee-rnd-near.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
dsub.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
dualstore.ll
duplex-addi-global-imm.mir [Hexagon] Fix typo in a testcase 2017-06-22 16:25:46 +00:00
duplex.ll
early-if-conversion-bug1.ll
early-if-debug.mir [Hexagon] Ignore DBG_VALUEs when counting instructions in hexagon-early-if 2017-08-09 21:22:05 +00:00
early-if-merge-loop.ll
early-if-phi-i1.ll
early-if-spare.ll
early-if-vecpi.ll
early-if-vecpred.ll
early-if.ll
eh_return.ll
eliminate-pred-spill.ll [Hexagon] Use -mattr to select HVX mode in a testcase, NFC 2017-04-05 19:46:37 +00:00
expand-condsets-basic.ll
expand-condsets-dead-bad.ll
expand-condsets-dead-pred.ll
expand-condsets-def-undef.mir
expand-condsets-extend.ll
expand-condsets-imm.mir [Hexagon] Handle more types of immediate operands in expand-condsets 2017-06-21 19:21:30 +00:00
expand-condsets-impuse.mir
expand-condsets-pred-undef.ll
expand-condsets-rm-reg.mir
expand-condsets-rm-segment.ll
expand-condsets-same-inputs.mir
expand-condsets-undef2.ll
expand-condsets-undef.ll
expand-condsets-undefvni.ll Missed a check for UndefVI in r306466 2017-06-28 15:46:16 +00:00
expand-vselect-kill.ll [Hexagon] Use proper predicate register state when expanding PS_vselect 2017-06-27 19:59:46 +00:00
expand-vstorerw-undef2.ll
expand-vstorerw-undef.ll
extload-combine.ll
extract-basic.ll
fadd.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
fcmp.ll
find-loop-instr.ll
fixed-spill-mutable.ll
float-amode.ll
float.ll
floatconvert-ieee-rnd-near.ll
fminmax.ll
fmul.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
fpelim-basic.ll [Hexagon] Implement frame pointer elimination with -fomit-frame-pointer 2017-06-30 21:21:40 +00:00
frame-offset-overflow.ll
fsel.ll
fsub.ll [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
fusedandshift.ll
gp-plus-offset-load.ll
gp-plus-offset-store.ll
gp-rel.ll
hasfp-crash1.ll [Hexagon] Do not rely on callee-saved info in hasFP 2017-07-11 17:11:54 +00:00
hasfp-crash2.ll [Hexagon] Do not rely on callee-saved info in hasFP 2017-07-11 17:11:54 +00:00
hexagon_vector_loop_carried_reuse_constant.ll Check vector elements for equivalence in the HexagonVectorLoopCarriedReuse pass 2017-09-22 16:43:31 +00:00
hexagon_vector_loop_carried_reuse.ll [Hexagon] - Fix testcase for the HexagonVectorLoopCarriedReuse pass. 2017-09-21 23:11:28 +00:00
hvx-nontemporal.ll [Hexagon] Add support for nontemporal loads and stores on HVX 2017-07-11 16:39:33 +00:00
hwloop1.ll
hwloop2.ll
hwloop3.ll
hwloop4.ll
hwloop5.ll
hwloop-cleanup.ll
hwloop-const.ll
hwloop-crit-edge.ll
hwloop-dbg.ll
hwloop-le.ll
hwloop-loop1.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
hwloop-lt1.ll
hwloop-lt.ll
hwloop-missed.ll
hwloop-ne.ll
hwloop-noreturn-call.ll
hwloop-ph-deadcode.ll
hwloop-pos-ivbump1.ll
hwloop-preh.ll
hwloop-preheader.ll
hwloop-range.ll
hwloop-recursion.ll
hwloop-wrap2.ll
hwloop-wrap.ll
i1_VarArg.ll
i8_VarArg.ll
i16_VarArg.ll
idxload-with-zero-offset.ll
ifcvt-common-kill.mir [IfConversion] Remove kill flags from common instructions as well 2017-09-06 17:57:13 +00:00
ifcvt-diamond-bad.ll
ifcvt-diamond-bug-2016-08-26.ll [Hexagon] Fix typo in HexagonEarlyIfCConv.cpp 2017-03-31 20:36:00 +00:00
ifcvt-edge-weight.ll
ifcvt-impuse-livein.mir [IfConversion] More simple, correct dead/kill liveness handling 2017-09-14 15:53:11 +00:00
ifcvt-live-subreg.mir [IfConversion] More simple, correct dead/kill liveness handling 2017-09-14 15:53:11 +00:00
ifcvt-simple-bprob.ll
indirect-br.ll
inline-asm-a.ll [Hexagon] Add inline-asm constraint 'a' for modifier register class 2017-07-21 17:51:27 +00:00
inline-asm-hexagon.ll
inline-asm-i1.ll
inline-asm-qv.ll
inline-asm-vecpred128.ll
insert4.ll
insert-basic.ll
invalid-dotnew-attempt.mir [Hexagon] Fix dependence check in the packetizer 2017-06-01 18:02:40 +00:00
is-legal-void.ll
isel-exti1.ll
isel-i1arg-crash.ll
isel-op-zext-i1.ll
jt-in-text.ll [Hexagon] Emit jump tables in text section based on a flag 2017-06-30 20:21:48 +00:00
lit.local.cfg
livephysregs-add-pristines.mir [IfConversion] More simple, correct dead/kill liveness handling 2017-09-14 15:53:11 +00:00
livephysregs-lane-masks2.mir Insert IMPLICIT_DEFS for undef uses in tail merging 2017-09-06 20:45:24 +00:00
livephysregs-lane-masks.mir
loadi1-G0.ll
loadi1-v4-G0.ll
loadi1-v4.ll
loadi1.ll
long-calls.ll
loop-prefetch.ll
lower-extract-subvector.ll
macint.ll
maxd.ll
maxh.ll
maxud.ll
maxuw.ll
maxw.ll
mem-fi-add.ll
memcpy-likely-aligned.ll
memops1.ll
memops2.ll
memops3.ll
memops-stack.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
memops.ll
mind.ll
minu-zext-8.ll
minu-zext-16.ll
minud.ll
minuw.ll
minw.ll
misaligned_double_vector_store_not_fast.ll
misaligned-access.ll
misched-top-rptracker-sync.ll
mpy.ll
mul64-sext.ll [Hexagon] Improve code generation for 32x32-bit multiplication 2017-05-30 17:47:51 +00:00
mulh.ll [Hexagon] Generate multiply-high instruction in isel 2017-06-13 16:21:57 +00:00
mulhs.ll
multi-cycle.ll [Hexagon] Don't ignore mult-cycle latency information 2017-05-02 18:12:19 +00:00
mux-basic.ll
mux-kill1.mir [Hexagon] Use LivePhysRegs to fix up kills in HexagonGenMux 2017-06-22 20:43:02 +00:00
mux-kill2.mir [Hexagon] Use LivePhysRegs to fix up kills in HexagonGenMux 2017-06-22 20:43:02 +00:00
mux-kill3.mir [Hexagon] Use LivePhysRegs to fix up kills in HexagonGenMux 2017-06-22 20:43:02 +00:00
mux-undef.ll [Hexagon] Skip mux generation when predicate register is undefined 2017-06-08 20:56:36 +00:00
newify-crash.ll [Hexagon] Return 0 from getDotNewPredOp when .new opcode does not exist 2017-06-02 14:07:06 +00:00
newvaluejump2.ll [Hexagon] Implement frame pointer elimination with -fomit-frame-pointer 2017-06-30 21:21:40 +00:00
newvaluejump3.ll
newvaluejump-c4.mir [Hexagon] Recognize C4_cmpneqi, C4_cmpltei and C4_cmplteui in NewValueJump 2017-07-24 19:35:48 +00:00
newvaluejump-kill2.mir [Hexagon] Update kills in hexagon-nvj even more properly than before 2017-06-27 18:37:16 +00:00
newvaluejump-kill.ll [Hexagon] Properly update kill flags in HexagonNewValueJump 2017-06-22 21:11:44 +00:00
newvaluejump.ll
newvalueSameReg.ll
newvaluestore.ll
NVJumpCmp.ll
opt-addr-mode.ll
opt-fabs.ll
opt-fneg.ll
opt-spill-volatile.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
packetize_cond_inst.ll
packetize-cfi-location.ll
packetize-return-arg.ll
packetize-tailcall-arg.ll
peephole-kill-flags.ll
peephole-op-swap.ll
pic-jumptables.ll
pic-local.ll
pic-regusage.ll
pic-simple.ll
pic-static.ll
plt-rel.ll [Hexagon] Add extenders for GD_PLT_B22_PCREL and LD_PLT_B22_PCREL 2017-05-02 18:15:33 +00:00
post-inc-aa-metadata.ll
post-ra-kill-update.mir ScheduleDAGInstrs: Fix fixupKills() 2017-05-27 02:50:50 +00:00
postinc-baseoffset.mir [Hexagon] Fix a bug in r308502: post-inc offset is always 0 2017-07-19 19:17:32 +00:00
postinc-load.ll
postinc-offset.ll
postinc-store.ll
pred-absolute-store.ll
pred-gp.ll
pred-instrs.ll
predicate-copy.ll
predicate-logical.ll
predicate-rcmp.ll
propagate-vcombine.ll
rdf-copy-undef2.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
rdf-copy.ll
rdf-cover-use.ll [RDF] Remove covered parts of reached uses for phi and use in same block 2017-05-05 22:10:32 +00:00
rdf-dead-loop.ll
rdf-def-mask.ll [RDF] Correctly calculate lane masks for defs 2017-04-28 21:57:53 +00:00
rdf-extra-livein.ll
rdf-filter-defs.ll
rdf-ignore-undef.ll
rdf-inline-asm-fixed.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
rdf-inline-asm.ll
rdf-multiple-phis-up.ll
rdf-phi-shadows.ll
rdf-phi-up.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
rdf-reset-kills.ll
readcyclecounter.ll
reg-scavengebug-3.ll
reg-scavenger-valid-slot.ll
regalloc-bad-undef.mir Add extra operand to CALLSEQ_START to keep frame part set up previously 2017-05-09 13:35:13 +00:00
regalloc-block-overlap.ll
regalloc-liveout-undef.mir Create a PHI value when merging with a known undef live-in 2017-06-27 21:30:46 +00:00
relax.ll
remove_lsr.ll
remove-endloop.ll
restore-single-reg.ll
ret-struct-by-val.ll
runtime-stkchk.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
sdata-array.ll
sdata-basic.ll
sdr-basic.ll
sdr-shr32.ll
section_7275.ll
select-instr-align.ll
sf-min-max.ll
sffms.ll
shrink-frame-basic.ll
signed_immediates.ll
simple_addend.ll
simpletailcall.ll
split-const32-const64.ll
stack-align1.ll
stack-align2.ll
stack-align-reset.ll [Hexagon] Handle cases when the aligned stack pointer is missing 2017-06-26 14:17:58 +00:00
stack-alloca1.ll
stack-alloca2.ll
static.ll
store-imm-large-stack.ll [Hexagon] Recognize potential offset overflow for store-imm to stack 2017-06-22 14:11:23 +00:00
store-imm-stack-object.ll [Hexagon] Generate store-immediate instructions for stack objects 2017-06-13 17:10:16 +00:00
store-shift.ll
store-widen-aliased-load.ll
store-widen-negv2.ll
store-widen-negv.ll
store-widen.ll
storerd-io-over-rr.ll
storerinewabs.ll
struct_args_large.ll
struct_args.ll
sube.ll
subi-asl.ll
SUnit-boundary-prob.ll
switch-lut-explicit-section.ll [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
switch-lut-function-section.ll [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
switch-lut-multiple-functions.ll [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
switch-lut-text-section.ll [Hexagon] Emit lookup tables in text section based on a flag 2017-07-18 15:31:37 +00:00
swp-const-tc.ll [LSR / TTI / SystemZ] Eliminate TargetTransformInfo::isFoldableMemAccess() 2017-08-09 11:28:01 +00:00
swp-dag-phi.ll
swp-epilog-phi10.ll
swp-epilog-reuse-1.ll
swp-epilog-reuse.ll
swp-matmul-bitext.ll [Hexagon] Use automatically-generated scheduling information for HVX 2017-05-03 20:10:36 +00:00
swp-max.ll
swp-multi-loops.ll
swp-prolog-phi4.ll
swp-stages4.ll
swp-stages5.ll
swp-vect-dotprod.ll
swp-vmult.ll
swp-vsum.ll
tail-call-mem-intrinsics.ll
tail-call-trunc.ll
tail-dup-subreg-abort.ll
tail-dup-subreg-map.ll
tailcall_fastcc_ccc.ll
target-flag-ext.mir [Hexagon] Fix check for HMOTF_ConstExtend operand flag 2017-07-10 18:38:52 +00:00
tfr-to-combine.ll
tls_pic.ll
tls_static.ll
trap-unreachable.ll [Hexagon] Add option to generate calls to "abort" for "unreachable" 2017-09-06 16:22:55 +00:00
two-crash.ll
undo-dag-shift.ll
union-1.ll
unreachable-mbb-phi-subreg.mir Properly handle PHIs with subregisters in UnreachableBlockElim 2017-04-28 21:56:33 +00:00
usr-ovf-dep.ll
v6vec-vprint.ll [llvm] Remove redundant check-prefix=CHECK from tests. NFC. 2017-07-17 17:32:45 +00:00
v60-cur.ll
v60-vsel1.ll
v60Intrins.ll
v60small.ll
v60Vasr.ll
vaddh.ll
validate-offset.ll
vassign-to-combine.ll
vdmpy-halide-test.ll
vec-pred-spill1.ll
vec-vararg-align.ll [Hexagon] Handle cases when the aligned stack pointer is missing 2017-06-26 14:17:58 +00:00
vector-align.ll
vector-ext-load.ll
vload-postinc-sel.ll
vmpa-halide-test.ll
vpack_eo.ll
vselect-pseudo.ll
vsplat-isel.ll
zextloadi1.ll