llvm/test/CodeGen/R600
Matthias Braun fa2b7e5cb4 LiveRangeEdit: Fix liveranges not shrinking on subrange kill.
If a dead instruction we may not only have a last-use in the main live
range but also in a subregister range if subregisters are tracked. We
need to partially rebuild live ranges in both cases.

The testcase only broke when subregister liveness was enabled. I
commited it in the current form because there is currently no flag to
enable/disable subregister liveness.

This fixes PR23720.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238785 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-01 21:26:26 +00:00
..
32-bit-local-address-space.ll
add_i64.ll
add-debug.ll
add.ll Reinstate revisions r234755, r234759, r234760 2015-04-30 17:15:56 +00:00
address-space.ll
and.ll
anyext.ll
array-ptr-calc-i32.ll
array-ptr-calc-i64.ll
atomic_cmp_swap_local.ll
atomic_load_add.ll
atomic_load_sub.ll
basic-branch.ll
basic-loop.ll
bfe_uint.ll R600/SI: Select V_BFE_U32 for and+shift with a non-literal offset 2015-03-24 13:40:34 +00:00
bfi_int.ll
big_alu.ll
bitcast.ll
bswap.ll
build_vector.ll
call_fs.ll
call.ll R600: Fix always inline pass breaking noinline functions 2015-04-22 17:10:44 +00:00
cayman-loop-bug.ll
cf_end.ll
cf-stack-bug.ll
coalescer_remat.ll R600/RegisterCoalescer: Enable more rematerialization/add missing testcase 2015-04-24 00:25:50 +00:00
codegen-prepare-addrmode-sext.ll
combine_vloads.ll
commute_modifiers.ll
commute-compares.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
complex-folding.ll
concat_vectors.ll R600: Correctly lower CONCAT_VECTOR nodes with more than 2 operands 2015-04-23 22:59:24 +00:00
copy-illegal-type.ll
copy-to-reg.ll
ctlz_zero_undef.ll
ctpop64.ll
ctpop.ll
cttz_zero_undef.ll
cvt_f32_ubyte.ll
cvt_flr_i32_f32.ll
cvt_rpi_i32_f32.ll
dagcombiner-bug-illegal-vec4-int-to-fp.ll
debug.ll R600: Fix up for AsmPrinter's OutStreamer being a unique_ptr 2015-04-28 17:37:03 +00:00
default-fp-mode.ll
disconnected-predset-break-bug.ll
dot4-folding.ll
ds_read2_offset_order.ll
ds_read2.ll R600/SI: Don't print offset0/offset1 DS operands when they are 0 2015-04-08 01:09:19 +00:00
ds_read2st64.ll R600/SI: Remove M0Reg register class 2015-05-12 15:00:52 +00:00
ds_write2.ll R600/SI: Don't print offset0/offset1 DS operands when they are 0 2015-04-08 01:09:19 +00:00
ds_write2st64.ll R600/SI: Don't print offset0/offset1 DS operands when they are 0 2015-04-08 01:09:19 +00:00
ds-negative-offset-addressing-mode-loop.ll R600/SI: Don't print offset0/offset1 DS operands when they are 0 2015-04-08 01:09:19 +00:00
elf.ll
elf.r600.ll
empty-function.ll
endcf-loop-header.ll
extload-private.ll
extload.ll
extract_vector_elt_i16.ll
fabs.f64.ll
fabs.ll
fadd64.ll
fadd.ll
fceil64.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
fceil.ll
fcmp64.ll
fcmp-cnd.ll
fcmp-cnde-int-args.ll
fcmp.ll
fconst64.ll
fcopysign.f32.ll
fcopysign.f64.ll
fdiv.f64.ll
fdiv.ll
fetch-limits.r600.ll
fetch-limits.r700+.ll
ffloor.f64.ll R600/SI: Use V_FRACT_F64 for faster 64-bit floor on SI 2015-03-24 13:40:15 +00:00
ffloor.ll
flat-address-space.ll
floor.ll
fma-combine.ll
fma.f64.ll
fma.ll
fmad.ll
fmax3.f64.ll
fmax3.ll
fmax_legacy.f64.ll
fmax_legacy.ll
fmax.ll
fmaxnum.f64.ll
fmaxnum.ll R600: Make FMIN/MAXNUM legal on all asics 2015-04-12 23:45:05 +00:00
fmin3.ll
fmin_legacy.f64.ll
fmin_legacy.ll
fmin.ll
fminnum.f64.ll
fminnum.ll llvm/test/CodeGen/R600/fminnum.ll: Relax an expression for NaN on MSVCRT like r204118. 2015-04-13 04:54:06 +00:00
fmul64.ll
fmul.ll
fmuladd.ll
fnearbyint.ll
fneg-fabs.f64.ll
fneg-fabs.ll
fneg.f64.ll
fneg.ll
fp16_to_fp.ll
fp32_to_fp16.ll
fp_to_sint.f64.ll
fp_to_sint.ll
fp_to_uint.f64.ll
fp_to_uint.ll
fp-classify.ll
fpext.ll
fptrunc.ll
frem.ll
fsqrt.ll
fsub64.ll
fsub.ll
ftrunc.f64.ll Complete the MachineScheduler fix made way back in r210390. 2015-03-27 06:10:13 +00:00
ftrunc.ll
gep-address-space.ll
global_atomics.ll
global-directive.ll
global-extload-i1.ll
global-extload-i8.ll
global-extload-i16.ll
global-extload-i32.ll
global-zero-initializer.ll
gv-const-addrspace-fail.ll
gv-const-addrspace.ll
half.ll
hsa.ll
i1-copy-implicit-def.ll
i1-copy-phi.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
i8-to-double-to-float.ll
icmp64.ll
icmp-select-sete-reverse-args.ll
imm.ll
indirect-addressing-si.ll R600/SI: Fix indirect addressing with a negative constant offset 2015-04-23 20:32:01 +00:00
indirect-private-64.ll
infinite-loop-evergreen.ll
infinite-loop.ll
inline-asm.ll
inline-calls.ll
input-mods.ll
insert_subreg.ll
insert_vector_elt.ll
jump-address.ll
kcache-fold.ll
kernel-args.ll R600: Remove / merge redundant testcases 2015-04-26 00:53:33 +00:00
large-alloca.ll
large-constant-initializer.ll
lds-initializer.ll
lds-oqap-crash.ll
lds-output-queue.ll
lds-size.ll
lds-zero-initializer.ll
legalizedag-bug-expand-setcc.ll
lit.local.cfg
literals.ll
llvm.AMDGPU.abs.ll
llvm.AMDGPU.barrier.global.ll
llvm.AMDGPU.barrier.local.ll
llvm.AMDGPU.bfe.i32.ll R600/SI: Custom-select 32-bit S_BFE from bitwise opcodes 2015-03-24 13:40:27 +00:00
llvm.AMDGPU.bfe.u32.ll R600/SI: Select V_BFE_U32 for and+shift with a non-literal offset 2015-03-24 13:40:34 +00:00
llvm.AMDGPU.bfi.ll
llvm.AMDGPU.bfm.ll R600/SI: Improve BFM support 2015-03-24 13:40:21 +00:00
llvm.AMDGPU.brev.ll
llvm.AMDGPU.clamp.ll
llvm.AMDGPU.class.ll
llvm.AMDGPU.cube.ll
llvm.AMDGPU.cvt_f32_ubyte.ll
llvm.AMDGPU.div_fixup.ll
llvm.AMDGPU.div_fmas.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
llvm.AMDGPU.div_scale.ll
llvm.amdgpu.dp4.ll
llvm.AMDGPU.flbit.i32.ll
llvm.AMDGPU.fract.f64.ll R600/SI: Use V_FRACT_F64 for faster 64-bit floor on SI 2015-03-24 13:40:15 +00:00
llvm.AMDGPU.fract.ll R600/SI: Expand fract to floor, then only select V_FRACT on CI 2015-03-24 13:40:08 +00:00
llvm.AMDGPU.imad24.ll
llvm.AMDGPU.imax.ll
llvm.AMDGPU.imin.ll
llvm.AMDGPU.imul24.ll
llvm.AMDGPU.kill.ll R600/SI: Add VCC as an implict def of SI_KILL 2015-05-01 03:44:09 +00:00
llvm.amdgpu.kilp.ll
llvm.AMDGPU.ldexp.ll
llvm.AMDGPU.legacy.rsq.ll
llvm.amdgpu.lrp.ll
llvm.AMDGPU.mul.ll
llvm.AMDGPU.rcp.f64.ll
llvm.AMDGPU.rcp.ll
llvm.AMDGPU.rsq.clamped.f64.ll
llvm.AMDGPU.rsq.clamped.ll
llvm.AMDGPU.rsq.ll
llvm.AMDGPU.tex.ll
llvm.AMDGPU.trig_preop.ll
llvm.AMDGPU.trunc.ll
llvm.AMDGPU.umad24.ll
llvm.AMDGPU.umax.ll
llvm.AMDGPU.umin.ll
llvm.AMDGPU.umul24.ll
llvm.cos.ll
llvm.exp2.ll
llvm.log2.ll
llvm.memcpy.ll
llvm.pow.ll
llvm.rint.f64.ll
llvm.rint.ll
llvm.round.f64.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
llvm.round.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
llvm.SI.fs.interp.ll R600/SI: Fix bug with v_interp_p1_f32 instructions on 16 bank lds chips 2015-05-25 16:15:54 +00:00
llvm.SI.gather4.ll
llvm.SI.getlod.ll
llvm.SI.image.ll
llvm.SI.image.sample.ll
llvm.SI.image.sample.o.ll
llvm.SI.imageload.ll
llvm.SI.load.dword.ll
llvm.SI.resinfo.ll
llvm.SI.sample-masked.ll
llvm.SI.sample.ll
llvm.SI.sampled.ll
llvm.SI.sendmsg-m0.ll
llvm.SI.sendmsg.ll R600/SI: Make sendmsg test more strict 2015-05-12 14:18:16 +00:00
llvm.SI.tbuffer.store.ll
llvm.SI.tid.ll
llvm.sin.ll
llvm.sqrt.ll DAGCombine: Remove redundant NaN checks around ISD::FSQRT 2015-04-20 19:38:27 +00:00
load64.ll
load-i1.ll
load-input-fold.ll
load.ll R600: Use SIGN_EXTEND_INREG for SEXT loads 2015-05-26 18:07:22 +00:00
load.vec.ll
local-64.ll
local-atomics64.ll
local-atomics.ll
local-memory-two-objects.ll Complete the MachineScheduler fix made way back in r210390. 2015-03-27 06:10:13 +00:00
local-memory.ll
loop-address.ll
loop-idiom.ll
lshl.ll
lshr.ll
m0-spill.ll
mad_int24.ll
mad_uint24.ll
mad-combine.ll
mad-sub.ll
madak.ll
madmk.ll R600/SI: Fix verifier error when producing v_madmk_f32 2015-04-24 01:57:58 +00:00
max3.ll
max-literals.ll
max.ll
merge-stores.ll Add target hook to allow merging stores of nonzero constants 2015-05-24 00:51:27 +00:00
min3.ll
min.ll
missing-store.ll
mubuf.ll
mul_int24.ll
mul_uint24.ll
mul.ll
mulhu.ll
no-initializer-constant-addrspace.ll
no-shrink-extloads.ll
operand-folding.ll [R600/SI] Fix testcase check line. 2015-03-27 20:41:42 +00:00
operand-spacing.ll
or.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
packetizer.ll
parallelandifcollapse.ll
parallelorifcollapse.ll
predicate-dp4.ll
predicates.ll
private-memory-atomics.ll
private-memory-broken.ll
private-memory.ll
pv-packing.ll
pv.ll
r600-encoding.ll
r600-export-fix.ll
r600-infinite-loop-bug-while-reorganizing-vector.ll
r600cfg.ll
README
reciprocal.ll
register-count-comments.ll
reorder-stores.ll
rotl.i64.ll
rotl.ll
rotr.i64.ll
rotr.ll
rsq.ll
rv7x0_count3.ll
s_movk_i32.ll
saddo.ll
salu-to-valu.ll
scalar_to_vector.ll
schedule-fs-loop-nested-if.ll
schedule-fs-loop-nested.ll
schedule-fs-loop.ll
schedule-global-loads.ll
schedule-if-2.ll
schedule-if.ll
schedule-kernel-arg-loads.ll R600/SI: Fix crash in SIInstrInfo::areLoadsFromSameBasePtr() 2015-03-23 16:06:01 +00:00
schedule-vs-if-nested-loop-failure.ll
schedule-vs-if-nested-loop.ll
scratch-buffer.ll
sdiv.ll
sdivrem24.ll
sdivrem64.ll
select64.ll
select-i1.ll
select-vectors.ll
select.ll
selectcc-cnd.ll
selectcc-cnde-int.ll
selectcc-icmp-select-float.ll
selectcc-opt.ll
selectcc.ll
set-dx10.ll
setcc64.ll
setcc-equivalent.ll
setcc-opt.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
setcc.ll
seto.ll
setuo.ll
sext-eliminate.ll
sext-in-reg.ll R600/SI: Custom-select 32-bit S_BFE from bitwise opcodes 2015-03-24 13:40:27 +00:00
sgpr-control-flow.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
sgpr-copy-duplicate-operand.ll
sgpr-copy.ll
shared-op-cycle.ll
shl_add_constant.ll
shl_add_ptr.ll R600/SI: Remove explicit m0 operand from DS instructions 2015-05-12 15:00:49 +00:00
shl.ll
si-annotate-cf-assertion.ll
si-annotate-cf.ll R600/SI: Fix verifier errors from the SIAnnotateControlFlow pass 2015-05-01 03:44:08 +00:00
si-lod-bias.ll
si-sgpr-spill.ll
si-spill-cf.ll R600/SI: add pass to mark CF live ranges as non-spillable 2015-05-12 17:13:02 +00:00
si-triv-disjoint-mem-access.ll
si-vector-hang.ll
sign_extend.ll
simplify-demanded-bits-build-pair.ll
sint_to_fp.f64.ll
sint_to_fp.ll
smrd.ll
split-scalar-i64-add.ll
sra.ll
srem.ll
srl.ll
ssubo.ll
store-barrier.ll
store-v3i32.ll
store-v3i64.ll
store-vector-ptrs.ll
store.ll Add target hook to allow merging stores of nonzero constants 2015-05-24 00:51:27 +00:00
store.r600.ll
structurize1.ll
structurize.ll
sub.ll Reinstate revisions r234755, r234759, r234760 2015-04-30 17:15:56 +00:00
subreg-coalescer-crash.ll
subreg-eliminate-dead.ll LiveRangeEdit: Fix liveranges not shrinking on subrange kill. 2015-06-01 21:26:26 +00:00
swizzle-export.ll
tex-clause-antidep.ll
texture-input-merge.ll
trunc-cmp-constant.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
trunc-store-i1.ll
trunc-vector-store-assertion-failure.ll
trunc.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
tti-unroll-prefs.ll
uaddo.ll Reinstate revisions r234755, r234759, r234760 2015-04-30 17:15:56 +00:00
udiv.ll
udivrem24.ll
udivrem64.ll
udivrem.ll
uint_to_fp.f64.ll
uint_to_fp.ll
unaligned-load-store.ll R600/SI: Don't print offset0/offset1 DS operands when they are 0 2015-04-08 01:09:19 +00:00
unhandled-loop-condition-assertion.ll
unroll.ll
unsupported-cc.ll
urecip.ll
urem.ll
use-sgpr-multiple-times.ll
usubo.ll Reinstate revisions r234755, r234759, r234760 2015-04-30 17:15:56 +00:00
v1i64-kernel-arg.ll
v_cndmask.ll
valu-i1.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
vector-alloca.ll
vertex-fetch-encoding.ll
vop-shrink.ll
vselect64.ll
vselect.ll
vtx-fetch-branch.ll
vtx-schedule.ll
wait.ll
work-item-intrinsics.ll
wrong-transalu-pos-fix.ll
xor.ll R600/SI: Allow commuting compares 2015-03-23 18:45:30 +00:00
zero_extend.ll

+==============================================================================+
| How to organize the lit tests                                                |
+==============================================================================+

- If you write a test for matching a single DAG opcode or intrinsic, it should
  go in a file called {opcode_name,intrinsic_name}.ll (e.g. fadd.ll)

- If you write a test that matches several DAG opcodes and checks for a single
  ISA instruction, then that test should go in a file called {ISA_name}.ll (e.g.
  bfi_int.ll

- For all other tests, use your best judgement for organizing tests and naming
  the files.

+==============================================================================+
| Naming conventions                                                           |
+==============================================================================+

- Use dash '-' and not underscore '_' to separate words in file names, unless
  the file is named after a DAG opcode or ISA instruction that has an
  underscore '_' in its name.