[ConstraintElim] Add support for decomposing gep nuw (#118639)
[llvm-project.git] / llvm / test / Transforms / SCCP / domtree-update.ll
blob270da0e2f2bfe79ff827fad4a18ef52ebc81c08a
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -S -passes=ipsccp < %s | FileCheck %s
3 ; RUN: opt -S -passes='ipsccp,function(verify<domtree>)' < %s | FileCheck %s
5 ; DTU should not crash.
7 define i32 @test(i1 %arg) {
8 ; CHECK-LABEL: @test(
9 ; CHECK-NEXT:  entry:
10 ; CHECK-NEXT:    br label [[FOR_BODY:%.*]]
11 ; CHECK:       for.body:
12 ; CHECK-NEXT:    br label [[IF_THEN2:%.*]]
13 ; CHECK:       if.then2:
14 ; CHECK-NEXT:    br label [[FOR_INC:%.*]]
15 ; CHECK:       for.inc:
16 ; CHECK-NEXT:    unreachable
18 entry:
19   br label %for.body
21 for.body:                                         ; preds = %entry
22   br i1 true, label %if.then2, label %if.else
24 if.then2:                                         ; preds = %for.body
25   br label %for.inc
27 if.else:                                          ; preds = %for.body
28   br i1 %arg, label %lor.rhs, label %if.then19.critedge
30 lor.rhs:                                          ; preds = %if.else
31   br i1 %arg, label %if.then19, label %for.inc
33 if.then19.critedge:                               ; preds = %if.else
34   br label %if.then19
36 if.then19:                                        ; preds = %if.then19.critedge, %lor.rhs
37   unreachable
39 for.inc:                                          ; preds = %lor.rhs, %if.then2
40   unreachable