1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/CodeGen/R600
Tom Stellard 3f975d151e R600/SI: Fix bug from insertion of llvm.SI.end.cf into loop headers
The llvm.SI.end.cf intrinsic is used to mark the end of if-then blocks,
if-then-else blocks, and loops.  It is responsible for updating the
exec mask to re-enable threads that had been masked during the preceding
control flow block.  For example:

s_mov_b64 exec, 0x3                 ; Initial exec mask
s_mov_b64 s[0:1], exec              ; Saved exec mask
v_cmpx_gt_u32 exec, s[2:3], v0, 0   ; llvm.SI.if
do_stuff()
s_or_b64 exec, exec, s[0:1]         ; llvm.SI.end.cf

The bug fixed by this patch was one where the llvm.SI.end.cf intrinsic
was being inserted into the header of loops.  This would happen when
an if block terminated in a loop header and we would end up with
code like this:

s_mov_b64 exec, 0x3                 ; Initial exec mask
s_mov_b64 s[0:1], exec              ; Saved exec mask
v_cmpx_gt_u32 exec, s[2:3], v0, 0   ; llvm.SI.if
do_stuff()

LOOP:                       ; Start of loop header
s_or_b64 exec, exec, s[0:1] ; llvm.SI.end.cf <-BUG: The exec mask has the
                              same value at the beginning of each loop
			      iteration.
do_stuff();
s_cbranch_execnz LOOP

The fix is to create a new basic block before the loop and insert the
llvm.SI.end.cf there.  This way the exec mask is restored before the
start of the loop instead of at the beginning of each iteration.

llvm-svn: 228302
2015-02-05 15:32:15 +00:00
..
32-bit-local-address-space.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
64bit-kernel-args.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
128bit-kernel-args.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
add_i64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
add-debug.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
add.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
address-space.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
and.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
anyext.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
array-ptr-calc-i32.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
array-ptr-calc-i64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
atomic_cmp_swap_local.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
atomic_load_add.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
atomic_load_sub.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
basic-branch.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
basic-loop.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
bfe_uint.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
bfi_int.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
big_alu.ll llvm/test/CodeGen: Some tests don't REQUIRE asserts any more. Remove them. 2014-10-12 06:47:47 +00:00
bitcast.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
bswap.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
build_vector.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
call_fs.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
call.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
cayman-loop-bug.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
cf_end.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
cf-stack-bug.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
codegen-prepare-addrmode-sext.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
combine_vloads.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
commute_modifiers.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
complex-folding.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
concat_vectors.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
copy-illegal-type.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
copy-to-reg.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
ctlz_zero_undef.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
ctpop64.ll R600/SI: Use 64-bit encoding by default for opcodes that are VOP3-only on VI 2015-01-15 18:43:01 +00:00
ctpop.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
cttz_zero_undef.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
cttz-ctlz.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
cvt_f32_ubyte.ll R600/SI: 64-bit and larger memory access must be at least 4-byte aligned 2015-02-02 18:02:28 +00:00
cvt_flr_i32_f32.ll R600/SI: Only select cvt_flr/cvt_rpi with no NaNs. 2015-01-31 21:28:13 +00:00
cvt_rpi_i32_f32.ll R600/SI: Only select cvt_flr/cvt_rpi with no NaNs. 2015-01-31 21:28:13 +00:00
dagcombiner-bug-illegal-vec4-int-to-fp.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
default-fp-mode.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
disconnected-predset-break-bug.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
dot4-folding.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
ds_read2_offset_order.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
ds_read2.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
ds_read2st64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
ds_write2.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
ds_write2st64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
ds-negative-offset-addressing-mode-loop.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
elf.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
elf.r600.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
empty-function.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
endcf-loop-header.ll R600/SI: Fix bug from insertion of llvm.SI.end.cf into loop headers 2015-02-05 15:32:15 +00:00
extload.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
extract_vector_elt_i16.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fabs.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fabs.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fadd64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fadd.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fceil64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
fceil.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fcmp64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fcmp-cnd.ll
fcmp-cnde-int-args.ll
fcmp.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
fconst64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fcopysign.f32.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fcopysign.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fdiv64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fdiv.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fetch-limits.r600.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
fetch-limits.r700+.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
ffloor.f64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
ffloor.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
flat-address-space.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
floor.ll R600: Clean up floor tests 2015-01-16 22:11:00 +00:00
fma-combine.ll R600/SI: Implement enableAggressiveFMAFusion 2015-01-29 19:34:32 +00:00
fma.f64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fma.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fmad.ll
fmax3.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
fmax_legacy.f64.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
fmax_legacy.ll Combine fcmp + select to fminnum / fmaxnum if no nans and legal 2015-01-13 00:43:00 +00:00
fmax.ll
fmaxnum.f64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fmaxnum.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fmin3.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
fmin_legacy.f64.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
fmin_legacy.ll Combine fcmp + select to fminnum / fmaxnum if no nans and legal 2015-01-13 00:43:00 +00:00
fmin.ll
fminnum.f64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fminnum.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fmul64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fmul.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fmuladd.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fnearbyint.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fneg-fabs.f64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
fneg-fabs.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fneg.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fneg.ll R600/SI: Remove SIISelLowering::legalizeOperands() 2015-01-08 15:08:17 +00:00
fp16_to_fp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fp32_to_fp16.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fp_to_sint.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fp_to_sint.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fp_to_uint.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fp_to_uint.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fp-classify.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
fpext.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fptrunc.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
frem.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
fsqrt.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fsub64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
fsub.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
ftrunc.f64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
ftrunc.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
gep-address-space.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
global_atomics.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
global-directive.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
global-extload-i1.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
global-extload-i8.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
global-extload-i16.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
global-extload-i32.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
global-zero-initializer.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
gv-const-addrspace-fail.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
gv-const-addrspace.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
half.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
hsa.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
i1-copy-implicit-def.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
i1-copy-phi.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
i8-to-double-to-float.ll
icmp64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
icmp-select-sete-reverse-args.ll
imm.ll R600/SI: Enable subreg liveness by default 2015-02-04 23:14:18 +00:00
indirect-addressing-si.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
indirect-private-64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
infinite-loop-evergreen.ll
infinite-loop.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
inline-asm.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
inline-calls.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
input-mods.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
insert_subreg.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
insert_vector_elt.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
jump-address.ll
kcache-fold.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
kernel-args.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
large-alloca.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
large-constant-initializer.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
lds-initializer.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
lds-oqap-crash.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
lds-output-queue.ll R600: Error on initializer for LDS. 2014-11-13 19:56:13 +00:00
lds-size.ll R600: Error on initializer for LDS. 2014-11-13 19:56:13 +00:00
lds-zero-initializer.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
legalizedag-bug-expand-setcc.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
lit.local.cfg
literals.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
llvm.AMDGPU.abs.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.barrier.global.ll R600/SI: Insert s_waitcnt before s_barrier instructions. 2015-01-06 19:52:07 +00:00
llvm.AMDGPU.barrier.local.ll R600/SI: Insert s_waitcnt before s_barrier instructions. 2015-01-06 19:52:07 +00:00
llvm.AMDGPU.bfe.i32.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.bfe.u32.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.bfi.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.bfm.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.brev.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.clamp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.class.ll R600/SI: Enable subreg liveness by default 2015-02-04 23:14:18 +00:00
llvm.AMDGPU.cube.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
llvm.AMDGPU.cvt_f32_ubyte.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.div_fixup.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.AMDGPU.div_fmas.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.AMDGPU.div_scale.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.amdgpu.dp4.ll
llvm.AMDGPU.fract.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.imad24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.imax.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.imin.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.imul24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.kill.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.amdgpu.kilp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.ldexp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.legacy.rsq.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.amdgpu.lrp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.mul.ll
llvm.AMDGPU.rcp.f64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.rcp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.rsq.clamped.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.AMDGPU.rsq.clamped.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.AMDGPU.rsq.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.tex.ll
llvm.AMDGPU.trig_preop.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.trunc.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
llvm.AMDGPU.umad24.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.AMDGPU.umax.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.umin.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.AMDGPU.umul24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.cos.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.exp2.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
llvm.log2.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
llvm.memcpy.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
llvm.pow.ll
llvm.rint.f64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.rint.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.round.f64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
llvm.round.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
llvm.SI.fs.interp.constant.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.gather4.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.getlod.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.image.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.image.sample.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.image.sample.o.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.imageload.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.load.dword.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.resinfo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.sample-masked.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.sample.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.sampled.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.sendmsg-m0.ll R600/SI: Fix dependency between instruction writing M0 and S_SENDMSG on VI (v2) 2015-02-03 17:37:52 +00:00
llvm.SI.sendmsg.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.tbuffer.store.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.SI.tid.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
llvm.sin.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
llvm.sqrt.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
load64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
load-i1.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
load-input-fold.ll llvm/test/CodeGen: Some tests don't REQUIRE asserts any more. Remove them. 2014-10-12 06:47:47 +00:00
load.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
load.vec.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
local-64.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
local-atomics64.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
local-atomics.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
local-memory-two-objects.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
local-memory.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
loop-address.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
loop-idiom.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
lshl.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
lshr.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
m0-spill.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mad_int24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mad_uint24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mad-sub.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
max3.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
max-literals.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
max.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
min3.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
min.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
missing-store.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
mubuf.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
mul_int24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mul_uint24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mul.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
mulhu.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
no-initializer-constant-addrspace.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
no-shrink-extloads.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
operand-folding.ll R600/SI: Remove SIISelLowering::legalizeOperands() 2015-01-08 15:08:17 +00:00
operand-spacing.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
or.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
packetizer.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
parallelandifcollapse.ll R600: Un-xfail a test which passes with pass disabled 2014-09-19 23:02:20 +00:00
parallelorifcollapse.ll
predicate-dp4.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
predicates.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
private-memory-atomics.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
private-memory-broken.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
private-memory.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
pv-packing.ll
pv.ll R600: Permute operands when selecting legacy min/max 2014-11-15 05:02:57 +00:00
r600-encoding.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
r600-export-fix.ll
r600-infinite-loop-bug-while-reorganizing-vector.ll llvm/test/CodeGen: Some tests don't REQUIRE asserts any more. Remove them. 2014-10-12 06:47:47 +00:00
r600cfg.ll llvm/test/CodeGen: Some tests don't REQUIRE asserts any more. Remove them. 2014-10-12 06:47:47 +00:00
README
reciprocal.ll
register-count-comments.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
reorder-stores.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
rotl.i64.ll R600/SI: Fix B64 VALU shifts on VI 2015-02-03 21:53:01 +00:00
rotl.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
rotr.i64.ll R600/SI: Fix B64 VALU shifts on VI 2015-02-03 21:53:01 +00:00
rotr.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
rsq.ll R600: Implement getRsqrtEstimate 2015-01-13 20:53:18 +00:00
rv7x0_count3.ll
s_movk_i32.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
saddo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
salu-to-valu.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
scalar_to_vector.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
schedule-fs-loop-nested-if.ll
schedule-fs-loop-nested.ll
schedule-fs-loop.ll
schedule-global-loads.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
schedule-if-2.ll
schedule-if.ll
schedule-kernel-arg-loads.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
schedule-vs-if-nested-loop-failure.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
schedule-vs-if-nested-loop.ll
scratch-buffer.ll R600/SI: Add kill flag when copying scratch offset to a register 2015-01-20 17:49:45 +00:00
sdiv.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sdivrem24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sdivrem64.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
select64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
select-i1.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
select-vectors.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
select.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
selectcc-cnd.ll
selectcc-cnde-int.ll
selectcc-icmp-select-float.ll
selectcc-opt.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
selectcc.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
set-dx10.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
setcc64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
setcc-equivalent.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
setcc-opt.ll R600/SI: Enable subreg liveness by default 2015-02-04 23:14:18 +00:00
setcc.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
seto.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
setuo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sext-eliminate.ll SelectionDAG: Add sext_inreg optimizations 2014-10-17 14:45:25 +00:00
sext-in-reg.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
sgpr-control-flow.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
sgpr-copy-duplicate-operand.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sgpr-copy.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
shared-op-cycle.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
shl_add_constant.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
shl_add_ptr.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
shl.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
si-annotate-cf-assertion.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
si-lod-bias.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
si-sgpr-spill.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
si-triv-disjoint-mem-access.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
si-vector-hang.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sign_extend.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
simplify-demanded-bits-build-pair.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
sint_to_fp.f64.ll R600/SI: Remove SIISelLowering::legalizeOperands() 2015-01-08 15:08:17 +00:00
sint_to_fp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
smrd.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
split-scalar-i64-add.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
sra.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
srem.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
srl.ll R600/SI: Use RegisterOperands to specify which operands can accept immediates 2015-01-12 19:33:18 +00:00
ssubo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
store-barrier.ll R600: Move DataLayout to AMDGPUTargetMachine 2015-01-28 16:04:26 +00:00
store-v3i32.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
store-v3i64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
store-vector-ptrs.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
store.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
store.r600.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
structurize1.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
structurize.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
sub.ll R600/SI: Use RegisterOperands to specify which operands can accept immediates 2015-01-12 19:33:18 +00:00
subreg-coalescer-crash.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
swizzle-export.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
tex-clause-antidep.ll
texture-input-merge.ll
trunc-cmp-constant.ll R600/SI: Enable subreg liveness by default 2015-02-04 23:14:18 +00:00
trunc-store-i1.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
trunc-vector-store-assertion-failure.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
trunc.ll R600/SI: Fix i64 truncate to i1 2015-02-05 06:05:13 +00:00
uaddo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
udiv.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
udivrem24.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
udivrem64.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
udivrem.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
uint_to_fp.f64.ll R600/SI: Remove SIISelLowering::legalizeOperands() 2015-01-08 15:08:17 +00:00
uint_to_fp.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
unaligned-load-store.ll R600/SI: Expand misaligned 16-bit memory accesses 2015-02-04 20:49:52 +00:00
unhandled-loop-condition-assertion.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
unroll.ll
unsupported-cc.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
urecip.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
urem.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
use-sgpr-multiple-times.ll R600/SI: Commute instructions to enable more folding opportunities 2015-01-07 22:44:19 +00:00
usubo.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
v1i64-kernel-arg.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
v_cndmask.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
valu-i1.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
vector-alloca.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
vertex-fetch-encoding.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
vop-shrink.ll R600/SI: Enable all tests that pass on VI without changes 2015-01-27 17:27:15 +00:00
vselect64.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
vselect.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00
vtx-fetch-branch.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
vtx-schedule.ll R600: Call EmitFunctionHeader() in the AsmPrinter to populate the ELF symbol table 2014-10-01 17:15:17 +00:00
wait.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
work-item-intrinsics.ll R600/SI: Add a stub GCNTargetMachine 2015-01-06 18:00:21 +00:00
wrong-transalu-pos-fix.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
xor.ll R600/SI: Define a schedule model and enable the generic machine scheduler 2015-01-29 16:55:25 +00:00
zero_extend.ll R600/SI: Remove the -CHECK suffix from all FileCheck prefixes in LIT tests 2015-02-03 21:53:27 +00:00

+==============================================================================+
| 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.