llvm-6502/test/CodeGen/Hexagon
Pranav Bhandarkar 02d937d864 Hexagon - Add peephole optimizations for zero extends.
* lib/Target/Hexagon/HexagonInstrInfo.td: Add patterns to combine a
	sequence of a pair of i32->i64 extensions followed by a "bitwise or"
	into COMBINE_rr.
	* lib/Target/Hexagon/HexagonPeephole.cpp: Copy propagate Rx in the
	instruction Rp = COMBINE_Ir_V4(0, Rx) to the uses of Rp:subreg_loreg.
	* test/CodeGen/Hexagon/union-1.ll: New test.
	* test/CodeGen/Hexagon/combine_ir.ll: Fix test.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-02 20:22:51 +00:00
..
absaddr-store.ll
absimm.ll Hexagon: Remove duplicate instructions to handle global/immediate values 2013-04-23 17:11:46 +00:00
adde.ll Hexagon: Expand addc, adde, subc and sube. 2013-03-05 19:04:47 +00:00
always-ext.ll Hexagon: Use multiclass for combine and STri[bhwd]_shl_V4 instructions. 2013-04-23 21:17:40 +00:00
args.ll Hexagon: Add encoding bits to the TFR64 instructions. 2013-03-05 18:42:28 +00:00
ashift-left-right.ll Hexagon: Use multiclass for aslh, asrh, sxtb, sxth, zxtb and zxth. 2013-03-26 15:43:57 +00:00
block-addr.ll Hexagon: Add support to lower block address. 2013-03-07 19:10:28 +00:00
cext-check.ll
cext-valid-packet1.ll Hexagon: Add constant extender support framework. 2013-03-01 17:37:13 +00:00
cext-valid-packet2.ll Hexagon: Add constant extender support framework. 2013-03-01 17:37:13 +00:00
cmp_pred2.ll Hexagon: Remove assembler mapped instruction definitions. 2013-04-23 19:15:55 +00:00
cmp_pred_reg.ll
cmp_pred.ll
cmp-to-genreg.ll
cmp-to-predreg.ll
cmpb_pred.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
combine_ir.ll Hexagon - Add peephole optimizations for zero extends. 2013-05-02 20:22:51 +00:00
combine.ll
convertdptoint.ll
convertdptoll.ll
convertsptoint.ll
convertsptoll.ll
ctlz-cttz-ctpop.ll
dadd.ll
dmul.ll
double.ll
doubleconvert-ieee-rnd-near.ll
dsub.ll
dualstore.ll Hexagon: Add encoding bits to the TFR64 instructions. 2013-03-05 18:42:28 +00:00
fadd.ll
fcmp.ll
float.ll
floatconvert-ieee-rnd-near.ll
fmul.ll
frame.ll
fsub.ll
fusedandshift.ll
gp-plus-offset-load.ll
gp-plus-offset-store.ll
gp-rel.ll Hexagon: Use multiclass for gp-relative instructions. 2013-03-28 16:25:57 +00:00
hwloop-cleanup.ll
hwloop-const.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
hwloop-dbg.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
hwloop-le.ll
hwloop-lt1.ll
hwloop-lt.ll
hwloop-ne.ll
i1_VarArg.ll Hexagon: Handle i8, i16 and i1 Var Args. 2013-03-07 20:28:34 +00:00
i8_VarArg.ll Hexagon: Handle i8, i16 and i1 Var Args. 2013-03-07 20:28:34 +00:00
i16_VarArg.ll Hexagon: Handle i8, i16 and i1 Var Args. 2013-03-07 20:28:34 +00:00
idxload-with-zero-offset.ll
indirect-br.ll Hexagon: Add support to lower block address. 2013-03-07 19:10:28 +00:00
lit.local.cfg
macint.ll
memops1.ll Hexagon: Add and enable memops setbit, clrbit, &,|,+,- for byte, short, and word. 2013-03-22 18:41:34 +00:00
memops2.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
memops3.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
memops.ll Hexagon: Add and enable memops setbit, clrbit, &,|,+,- for byte, short, and word. 2013-03-22 18:41:34 +00:00
misaligned-access.ll Hexagon: Removed asserts regarding alignment and offset. 2013-03-14 19:08:03 +00:00
mpy.ll
newvaluejump2.ll
newvaluejump.ll
newvaluestore.ll
opt-fabs.ll
opt-fneg.ll
postinc-load.ll
postinc-store.ll
pred-absolute-store.ll
predicate-copy.ll
remove_lsr.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
simpletailcall.ll
static.ll
struct_args_large.ll
struct_args.ll
sube.ll Hexagon: Expand addc, adde, subc and sube. 2013-03-05 19:04:47 +00:00
union-1.ll Hexagon - Add peephole optimizations for zero extends. 2013-05-02 20:22:51 +00:00
vaddh.ll
validate-offset.ll
zextloadi1.ll Hexagon: Add patterns for zero extended loads from i1->i64. 2013-03-08 14:15:15 +00:00