• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -basic-aa -dse -S | FileCheck %s
3
4target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
5declare void @unknown_func()
6
7define void @test6(i32* noalias %P) {
8; CHECK-LABEL: @test6(
9; CHECK-NEXT:    store i32 0, i32* [[P:%.*]]
10; CHECK-NEXT:    br i1 true, label [[BB1:%.*]], label [[BB2:%.*]]
11; CHECK:       bb1:
12; CHECK-NEXT:    br label [[BB3:%.*]]
13; CHECK:       bb2:
14; CHECK-NEXT:    call void @unknown_func()
15; CHECK-NEXT:    br label [[BB3]]
16; CHECK:       bb3:
17; CHECK-NEXT:    store i32 0, i32* [[P]]
18; CHECK-NEXT:    ret void
19;
20  store i32 0, i32* %P
21  br i1 true, label %bb1, label %bb2
22bb1:
23  br label %bb3
24bb2:
25  call void @unknown_func()
26  br label %bb3
27bb3:
28  store i32 0, i32* %P
29  ret void
30}
31
32define void @test23(i32* noalias %P) {
33; CHECK-LABEL: @test23(
34; CHECK-NEXT:    br i1 true, label [[BB1:%.*]], label [[BB2:%.*]]
35; CHECK:       bb1:
36; CHECK-NEXT:    br label [[BB3:%.*]]
37; CHECK:       bb2:
38; CHECK-NEXT:    call void @unknown_func()
39; CHECK-NEXT:    br label [[BB3]]
40; CHECK:       bb3:
41; CHECK-NEXT:    store i32 0, i32* [[P:%.*]]
42; CHECK-NEXT:    ret void
43;
44  br i1 true, label %bb1, label %bb2
45bb1:
46  store i32 0, i32* %P
47  br label %bb3
48bb2:
49  call void @unknown_func()
50  br label %bb3
51bb3:
52  store i32 0, i32* %P
53  ret void
54}
55
56
57define void @test24(i32* noalias %P) {
58; CHECK-LABEL: @test24(
59; CHECK-NEXT:    br i1 true, label [[BB2:%.*]], label [[BB1:%.*]]
60; CHECK:       bb1:
61; CHECK-NEXT:    br label [[BB3:%.*]]
62; CHECK:       bb2:
63; CHECK-NEXT:    call void @unknown_func()
64; CHECK-NEXT:    br label [[BB3]]
65; CHECK:       bb3:
66; CHECK-NEXT:    store i32 0, i32* [[P:%.*]]
67; CHECK-NEXT:    ret void
68;
69  br i1 true, label %bb2, label %bb1
70bb1:
71  store i32 0, i32* %P
72  br label %bb3
73bb2:
74  call void @unknown_func()
75  br label %bb3
76bb3:
77  store i32 0, i32* %P
78  ret void
79}
80