llvm/test/CodeGen/CellSPU
Bob Wilson 53624a2df5 Refactor and check "onlyReadsMemory" before optimizing builtins.
This patch is mostly just refactoring a bunch of copy-and-pasted code, but
it also adds a check that the call instructions are readnone or readonly.
That check was already present for sin, cos, sqrt, log2, and exp2 calls, but
it was missing for the rest of the builtins being handled in this code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161282 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-03 23:29:17 +00:00
..
useful-harnesses Teach lit that the .c files in 'test/CodeGen/CellSPU/useful-harnesses' aren't tests. 2009-10-19 03:53:55 +00:00
2009-01-01-BrCond.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
and_ops.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
arg_ret.ll Fix memory access lowering on SPU, adding 2010-11-12 10:14:03 +00:00
bigstack.ll Have SPU handle halfvec stores aligned by 8 bytes. 2010-08-09 16:33:00 +00:00
bss.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
call.ll Remove histogram tests. 2011-11-12 22:39:40 +00:00
crash.ll teach cellspu how to return i8 and i16 from calls, 2010-04-20 05:36:09 +00:00
ctpop.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
div_ops.ll Division by pow-of-2 is not cheap on SPU, do it with 2010-11-23 13:27:59 +00:00
dp_farith.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
eqv.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
extract_elt.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
fcmp32.ll Refactor and check "onlyReadsMemory" before optimizing builtins. 2012-08-03 23:29:17 +00:00
fcmp64.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
fdiv.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
fneg-fabs.ll Refactor and check "onlyReadsMemory" before optimizing builtins. 2012-08-03 23:29:17 +00:00
i8ops.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
i64ops.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
icmp8.ll Rewrite three tests that had truly egregious abuses of 'grep' in them to 2012-07-02 12:20:14 +00:00
icmp16.ll Rewrite three tests that had truly egregious abuses of 'grep' in them to 2012-07-02 12:20:14 +00:00
icmp32.ll Implement r160312 as target indepedenet dag combine. 2012-07-17 08:31:11 +00:00
icmp64.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
immed16.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
immed32.ll Don't feed 19 bit immediates to ILA. 2010-12-17 09:36:09 +00:00
immed64.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
int2fp.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
intrinsics_branch.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
intrinsics_float.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
intrinsics_logical.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
jumptable.ll Mark 'branch indirect' instruction as an indirect branch. 2011-10-13 11:40:03 +00:00
lit.local.cfg Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
loads.ll Allow load from constant on SPU. 2011-03-04 12:00:11 +00:00
mul_ops.ll Teach dag combine to fold the following transformation more aggressively: 2010-01-06 19:38:29 +00:00
mul-with-overflow.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
nand.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
or_ops.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
private.ll make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
rotate_ops.ll 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new 2012-04-07 21:19:08 +00:00
select_bits.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
sext128.ll Allow sign-extending of i8 and i16 to i128 on SPU. 2011-01-20 15:49:06 +00:00
shift_ops.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
shuffles.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
sp_farith.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
stores.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
storestruct.ll "on the rare occasion the SPU BE produces illegal assembly - it tries to emit an add instruction of the form 'a reg, reg, imm'." 2010-05-04 17:58:46 +00:00
struct_1.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
sub_ops.ll Fix encoding of 'sf' and 'sfh' instructions. 2010-05-10 08:13:49 +00:00
trunc.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
v2f32.ll don't test for codegen of 'store undef' 2011-04-09 02:31:26 +00:00
v2i32.ll Enable element promotion type legalization by deafault. 2011-10-16 20:31:33 +00:00
vec_const.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
vecinsert.ll Fix SPU to cope with vector insertelement to an undef position. 2010-06-09 09:58:17 +00:00