annotate polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents 1d019706d866
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
1 ; RUN: opt %loadPolly -polly-process-unprofitable -polly-scops -disable-output < %s
150
anatofuz
parents:
diff changeset
2 ;
anatofuz
parents:
diff changeset
3 ; This test contains a infinite loop (bb13) and crashed the domain generation
anatofuz
parents:
diff changeset
4 ; at some point. Just verify it does not anymore.
anatofuz
parents:
diff changeset
5 ;
anatofuz
parents:
diff changeset
6 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
anatofuz
parents:
diff changeset
7
anatofuz
parents:
diff changeset
8 define void @hoge() #0 {
anatofuz
parents:
diff changeset
9 bb:
anatofuz
parents:
diff changeset
10 %tmp5 = alloca [11 x [101 x i32]], align 16
anatofuz
parents:
diff changeset
11 br i1 false, label %bb24, label %bb6
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 bb6: ; preds = %bb
anatofuz
parents:
diff changeset
14 br label %bb8
anatofuz
parents:
diff changeset
15
anatofuz
parents:
diff changeset
16 bb7: ; preds = %bb23
anatofuz
parents:
diff changeset
17 unreachable
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 bb8: ; preds = %bb23, %bb6
anatofuz
parents:
diff changeset
20 %tmp9 = getelementptr inbounds [11 x [101 x i32]], [11 x [101 x i32]]* %tmp5, i64 0, i64 0, i64 0
anatofuz
parents:
diff changeset
21 br label %bb10
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 bb10: ; preds = %bb8
anatofuz
parents:
diff changeset
24 %tmp = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
25 br i1 false, label %bb23, label %bb11
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 bb11: ; preds = %bb10
anatofuz
parents:
diff changeset
28 %tmp12 = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
29 br label %bb13
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 bb13: ; preds = %bb13, %bb11
anatofuz
parents:
diff changeset
32 %tmp14 = phi i32 [ %tmp12, %bb11 ], [ %tmp19, %bb13 ]
anatofuz
parents:
diff changeset
33 %tmp15 = add nsw i32 %tmp14, 1
anatofuz
parents:
diff changeset
34 %tmp16 = sext i32 %tmp15 to i64
anatofuz
parents:
diff changeset
35 %tmp17 = getelementptr inbounds [11 x [101 x i32]], [11 x [101 x i32]]* %tmp5, i64 0, i64 0, i64 %tmp16
anatofuz
parents:
diff changeset
36 %tmp18 = load i32, i32* %tmp17, align 4
anatofuz
parents:
diff changeset
37 %tmp19 = add nsw i32 %tmp14, -1
anatofuz
parents:
diff changeset
38 %tmp20 = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
39 %tmp21 = sext i32 %tmp20 to i64
anatofuz
parents:
diff changeset
40 %tmp22 = icmp slt i64 0, %tmp21
anatofuz
parents:
diff changeset
41 br label %bb13
anatofuz
parents:
diff changeset
42
anatofuz
parents:
diff changeset
43 bb23: ; preds = %bb10
anatofuz
parents:
diff changeset
44 br i1 undef, label %bb8, label %bb7
anatofuz
parents:
diff changeset
45
anatofuz
parents:
diff changeset
46 bb24: ; preds = %bb
anatofuz
parents:
diff changeset
47 ret void
anatofuz
parents:
diff changeset
48 }
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 define void @hoge2() #0 {
anatofuz
parents:
diff changeset
51 bb:
anatofuz
parents:
diff changeset
52 %tmp5 = alloca [11 x [101 x i32]], align 16
anatofuz
parents:
diff changeset
53 br i1 false, label %bb24, label %bb6
anatofuz
parents:
diff changeset
54
anatofuz
parents:
diff changeset
55 bb6: ; preds = %bb
anatofuz
parents:
diff changeset
56 br label %bb8
anatofuz
parents:
diff changeset
57
anatofuz
parents:
diff changeset
58 bb7: ; preds = %bb23
anatofuz
parents:
diff changeset
59 unreachable
anatofuz
parents:
diff changeset
60
anatofuz
parents:
diff changeset
61 bb8: ; preds = %bb23, %bb6
anatofuz
parents:
diff changeset
62 %tmp9 = getelementptr inbounds [11 x [101 x i32]], [11 x [101 x i32]]* %tmp5, i64 0, i64 0, i64 0
anatofuz
parents:
diff changeset
63 br label %bb10
anatofuz
parents:
diff changeset
64
anatofuz
parents:
diff changeset
65 bb10: ; preds = %bb8
anatofuz
parents:
diff changeset
66 %tmp = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
67 br i1 false, label %bb23, label %bb11
anatofuz
parents:
diff changeset
68
anatofuz
parents:
diff changeset
69 bb11: ; preds = %bb10
anatofuz
parents:
diff changeset
70 %tmp12 = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
71 br label %bb13
anatofuz
parents:
diff changeset
72
anatofuz
parents:
diff changeset
73 bb13: ; preds = %bb13, %bb11
anatofuz
parents:
diff changeset
74 %tmp14 = phi i32 [ %tmp12, %bb11 ], [ %tmp19, %bb13.split ]
anatofuz
parents:
diff changeset
75 %tmp15 = add nsw i32 %tmp14, 1
anatofuz
parents:
diff changeset
76 %tmp16 = sext i32 %tmp15 to i64
anatofuz
parents:
diff changeset
77 %tmp17 = getelementptr inbounds [11 x [101 x i32]], [11 x [101 x i32]]* %tmp5, i64 0, i64 0, i64 %tmp16
anatofuz
parents:
diff changeset
78 %tmp18 = load i32, i32* %tmp17, align 4
anatofuz
parents:
diff changeset
79 br label %bb13.split
anatofuz
parents:
diff changeset
80
anatofuz
parents:
diff changeset
81 bb13.split:
anatofuz
parents:
diff changeset
82 %tmp19 = add nsw i32 %tmp14, -1
anatofuz
parents:
diff changeset
83 %tmp20 = load i32, i32* %tmp9, align 4
anatofuz
parents:
diff changeset
84 %tmp21 = sext i32 %tmp20 to i64
anatofuz
parents:
diff changeset
85 %tmp22 = icmp slt i64 0, %tmp21
anatofuz
parents:
diff changeset
86 br label %bb13
anatofuz
parents:
diff changeset
87
anatofuz
parents:
diff changeset
88 bb23: ; preds = %bb10
anatofuz
parents:
diff changeset
89 br i1 undef, label %bb8, label %bb7
anatofuz
parents:
diff changeset
90
anatofuz
parents:
diff changeset
91 bb24: ; preds = %bb
anatofuz
parents:
diff changeset
92 ret void
anatofuz
parents:
diff changeset
93 }