[DAG] TransformFPLoadStorePair - early out if we're not loading a simple type
[llvm-project.git] / llvm / test / Transforms / IndVarSimplify / pr117133.ll
blobf62dc3f04a0966459f3560e3f2c135abad945b7e
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2 ; RUN: opt -S -passes=indvars < %s | FileCheck %s
4 define i32 @widget() {
5 ; CHECK-LABEL: define i32 @widget() {
6 ; CHECK-NEXT:  [[B:.*:]]
7 ; CHECK-NEXT:    br label %[[B1:.*]]
8 ; CHECK:       [[B1]]:
9 ; CHECK-NEXT:    br i1 true, label %[[B3:.*]], label %[[B8:.*]]
10 ; CHECK:       [[B3]]:
11 ; CHECK-NEXT:    br i1 true, label %[[B7:.*]], label %[[B5:.*]]
12 ; CHECK:       [[B5]]:
13 ; CHECK-NEXT:    br label %[[B1]]
14 ; CHECK:       [[B7]]:
15 ; CHECK-NEXT:    ret i32 5
16 ; CHECK:       [[B8]]:
17 ; CHECK-NEXT:    ret i32 7
20   br label %b1
22 b1:
23   %phi = phi i32 [ 0, %b ], [ %udiv6, %b5 ]
24   %phi2 = phi i32 [ 1, %b ], [ %add, %b5 ]
25   %icmp = icmp eq i32 %phi, 0
26   br i1 %icmp, label %b3, label %b8
28 b3:
29   %udiv = udiv i32 10, %phi2
30   %urem = urem i32 %udiv, 10
31   %icmp4 = icmp eq i32 %urem, 0
32   br i1 %icmp4, label %b7, label %b5
34 b5:
35   %udiv6 = udiv i32 %phi2, 0
36   %add = add i32 %phi2, 1
37   br label %b1
39 b7:
40   ret i32 5
42 b8:
43   ret i32 7