Stackmap shadows should consider call returns a branch target.
[oota-llvm.git] / test / CodeGen / Mips / sitofp-selectcc-opt.ll
1 ; RUN: llc -march=mipsel < %s | FileCheck %s
2
3 @foo12.d4 = internal unnamed_addr global double 0.000000e+00, align 8
4
5 define double @foo12(i32 %a, i32, i64 %b) nounwind {
6 entry:
7 ; check that this transformation doesn't happen:
8 ; (sint_to_fp (setcc x, y, cc)) -> (select_cc x, y, -1.0, 0.0,, cc)
9 ;
10 ; CHECK-NOT:   # double -1.000000e+00
11
12   %tobool1 = icmp ne i32 %a, 0
13   %not.tobool = icmp ne i64 %b, 0
14   %tobool1. = or i1 %tobool1, %not.tobool
15   %lor.ext = zext i1 %tobool1. to i32
16   %conv = sitofp i32 %lor.ext to double
17   %1 = load double* @foo12.d4, align 8
18   %add = fadd double %conv, %1
19   store double %add, double* @foo12.d4, align 8
20   ret double %add
21 }
22