[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / JumpThreading / aa-crash-phi-no-args.ll
blob5bcd0018de6f4cb7efbd1cc7f45b2d6708ba1fb6
1 ; REQUIRES: asserts
2 ; RUN: opt -jump-threading -aa-pipeline basic-aa -S -disable-output %s
3 ; RUN: opt -passes=jump-threading -aa-pipeline basic-aa -S -disable-output %s
5 define void @foo(i8** %arg1, i32* %arg2) {
6 bb:
7   br label %bb1
9 bb1:
10   %tmp = phi i1 [ 0, %bb24 ], [ 1, %bb ]
11   br i1 %tmp, label %bb9, label %bb24
14 bb9:
15   br i1 %tmp, label %bb8, label %bb20
17 bb8:
18   ret void
20 bb13:
21   br label %bb14
23 bb14:
24   %tmp15 = phi i32* [ %tmp21, %bb20 ], [ %arg2, %bb13 ]
25   %tmp16 = phi i8** [ %tmp22, %bb20 ], [ %arg1, %bb13 ]
26   store atomic i32 0, i32* %tmp15 unordered, align 4
27   %tmp17 = load atomic i8*, i8** %tmp16 unordered, align 8
28   %tmp18 = icmp eq i8* %tmp17, null
29   br i1 %tmp18, label %bb25, label %bb19
31 bb19:
32   ret void
34 bb20:
35   %tmp21 = phi i32* [ %arg2, %bb9 ]
36   %tmp22 = phi i8** [ %arg1, %bb9 ]
37   br label %bb14
39 bb24:
40   br label %bb1
42 bb25:
43   ret void