comparison polly/test/DeadCodeElimination/null_schedule.ll @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents c4bab56944e8
children
comparison
equal deleted inserted replaced
237:c80f45b162ad 252:1f2b6ac9f198
12 12
13 entry: 13 entry:
14 %A = alloca [200 x i32], align 16 14 %A = alloca [200 x i32], align 16
15 %B = alloca [200 x i32], align 16 15 %B = alloca [200 x i32], align 16
16 16
17 %A.zero = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 0 17 store i32 1, ptr %A, align 4
18 store i32 1, i32* %A.zero, align 4
19 18
20 br label %for.body.1 19 br label %for.body.1
21 20
22 for.body.1: 21 for.body.1:
23 %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ] 22 %indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %for.body.1 ]
24 %indvar.next.1 = add i64 %indvar.1, 1 23 %indvar.next.1 = add i64 %indvar.1, 1
25 24
26 %A.current.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1 25 %A.current.1 = getelementptr [200 x i32], ptr %A, i64 0, i64 %indvar.1
27 %val1.1 = load i32, i32* %A.current.1, align 4 26 %val1.1 = load i32, ptr %A.current.1, align 4
28 %val2.1 = mul i32 %val1.1, 2 27 %val2.1 = mul i32 %val1.1, 2
29 %A.next.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.next.1 28 %A.next.1 = getelementptr [200 x i32], ptr %A, i64 0, i64 %indvar.next.1
30 store i32 %val2.1, i32* %A.next.1, align 4 29 store i32 %val2.1, ptr %A.next.1, align 4
31 30
32 %exitcond.1 = icmp ne i64 %indvar.next.1, 100 31 %exitcond.1 = icmp ne i64 %indvar.next.1, 100
33 br i1 %exitcond.1, label %for.body.1, label %exit.1 32 br i1 %exitcond.1, label %for.body.1, label %exit.1
34 33
35 exit.1: 34 exit.1:
36 br label %for.body.2 35 br label %for.body.2
37 36
38 for.body.2: 37 for.body.2:
39 %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ] 38 %indvar.2 = phi i64 [ 0, %exit.1 ], [ %indvar.next.2, %for.body.2 ]
40 39
41 %B.current.2 = getelementptr [200 x i32], [200 x i32]* %B, i64 0, i64 %indvar.2 40 %B.current.2 = getelementptr [200 x i32], ptr %B, i64 0, i64 %indvar.2
42 %val1.2 = load i32, i32* %B.current.2, align 4 41 %val1.2 = load i32, ptr %B.current.2, align 4
43 %val2.2 = mul i32 %val1.2, 2 42 %val2.2 = mul i32 %val1.2, 2
44 %A.current.2 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.2 43 %A.current.2 = getelementptr [200 x i32], ptr %A, i64 0, i64 %indvar.2
45 store i32 %val2.2, i32* %A.current.2, align 4 44 store i32 %val2.2, ptr %A.current.2, align 4
46 45
47 %indvar.next.2 = add i64 %indvar.2, 1 46 %indvar.next.2 = add i64 %indvar.2, 1
48 %exitcond.2 = icmp ne i64 %indvar.next.2, 200 47 %exitcond.2 = icmp ne i64 %indvar.next.2, 200
49 br i1 %exitcond.2, label %for.body.2, label %exit.3 48 br i1 %exitcond.2, label %for.body.2, label %exit.3
50 49