llvm/test/CodeGen/XCore
Evan Cheng 44be1a8d66 Enable machine sinking critical edge splitting. e.g.
define double @foo(double %x, double %y, i1 %c) nounwind {
  %a = fdiv double %x, 3.2
  %z = select i1 %c, double %a, double %y
  ret double %z
}

Was:
_foo:
        divsd   LCPI0_0(%rip), %xmm0
        testb   $1, %dil
        jne     LBB0_2
        movaps  %xmm1, %xmm0
LBB0_2:
        ret

Now:
_foo:
        testb   $1, %dil
        je      LBB0_2
        divsd   LCPI0_0(%rip), %xmm0
        ret
LBB0_2:
        movaps  %xmm1, %xmm0
        ret

This avoids the divsd when early exit is taken.
rdar://8454886


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-20 22:52:00 +00:00
..
2008-11-17-Shl64.ll
2009-01-08-Crash.ll
2009-01-14-Remat-Crash.ll
2009-03-27-v2f64-param.ll
2009-07-15-store192.ll
2010-02-25-LSR-Crash.ll
2010-04-07-DbgValueOtherTargets.ll Split big test into multiple directories to cater to 2010-04-07 20:43:35 +00:00
addsub64.ll Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bit 2010-03-10 18:12:27 +00:00
ashr.ll Enable machine sinking critical edge splitting. e.g. 2010-09-20 22:52:00 +00:00
basictest.ll
bigstructret.ll
bitrev.ll
constants.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
cos.ll
dg.exp
exp2.ll
exp.ll
fneg.ll
getid.ll
globals.ll
indirectbr.ll fix AsmPrinter::GetBlockAddressSymbol to always return a unique 2010-03-14 17:53:23 +00:00
ladd_lsub_combine.ll In cases where the carry / borrow unused converted ladd / lsub 2010-03-09 16:34:25 +00:00
load.ll
log2.ll
log10.ll
log.ll
mul64.ll Add dag combine to simplify lmul(x, 0, a, b) 2010-03-11 16:26:35 +00:00
pow.ll
powi.ll
private.ll
sext.ll
sin.ll
sqrt.ll
store.ll
switch_long.ll
switch.ll
tls.ll
trap.ll
unaligned_load.ll
unaligned_store_combine.ll
unaligned_store.ll