Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.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 |
---|---|
35 ; ALLOWNONAFFINEALL: remark: ReportLoopBound-01.c:1:12: No profitable polyhedral optimization found | 35 ; ALLOWNONAFFINEALL: remark: ReportLoopBound-01.c:1:12: No profitable polyhedral optimization found |
36 ; ALLOWNONAFFINEALL: remark: ReportLoopBound-01.c:3:5: Invalid Scop candidate ends here. | 36 ; ALLOWNONAFFINEALL: remark: ReportLoopBound-01.c:3:5: Invalid Scop candidate ends here. |
37 | 37 |
38 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 38 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
39 | 39 |
40 define void @f(i32* %A, i32 %n) !dbg !4 { | 40 define void @f(ptr %A, i32 %n) !dbg !4 { |
41 entry: | 41 entry: |
42 br label %entry.split | 42 br label %entry.split |
43 | 43 |
44 entry.split: ; preds = %entry | 44 entry.split: ; preds = %entry |
45 tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14 | 45 tail call void @llvm.dbg.value(metadata ptr %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14 |
46 tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14 | 46 tail call void @llvm.dbg.value(metadata ptr %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14 |
47 tail call void @llvm.dbg.value(metadata i32 %n, i64 0, metadata !15, metadata !DIExpression()), !dbg !16 | 47 tail call void @llvm.dbg.value(metadata i32 %n, i64 0, metadata !15, metadata !DIExpression()), !dbg !16 |
48 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !20 | 48 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !20 |
49 %idxprom = sext i32 %n to i64, !dbg !21 | 49 %idxprom = sext i32 %n to i64, !dbg !21 |
50 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom, !dbg !21 | 50 %arrayidx = getelementptr inbounds i32, ptr %A, i64 %idxprom, !dbg !21 |
51 %0 = load i32, i32* %arrayidx, align 4, !dbg !21 | 51 %0 = load i32, ptr %arrayidx, align 4, !dbg !21 |
52 %cmp3 = icmp sgt i32 %0, 0, !dbg !21 | 52 %cmp3 = icmp sgt i32 %0, 0, !dbg !21 |
53 br i1 %cmp3, label %for.body.lr.ph, label %for.end, !dbg !21 | 53 br i1 %cmp3, label %for.body.lr.ph, label %for.end, !dbg !21 |
54 | 54 |
55 for.body.lr.ph: ; preds = %entry.split | 55 for.body.lr.ph: ; preds = %entry.split |
56 br label %for.body, !dbg !22 | 56 br label %for.body, !dbg !22 |
57 | 57 |
58 for.body: ; preds = %for.body.lr.ph, %for.body | 58 for.body: ; preds = %for.body.lr.ph, %for.body |
59 %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ] | 59 %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ] |
60 %arrayidx2 = getelementptr i32, i32* %A, i64 %indvar, !dbg !24 | 60 %arrayidx2 = getelementptr i32, ptr %A, i64 %indvar, !dbg !24 |
61 %1 = add i64 %indvar, 1, !dbg !24 | 61 %1 = add i64 %indvar, 1, !dbg !24 |
62 %inc = trunc i64 %1 to i32, !dbg !21 | 62 %inc = trunc i64 %1 to i32, !dbg !21 |
63 store i32 0, i32* %arrayidx2, align 4, !dbg !24 | 63 store i32 0, ptr %arrayidx2, align 4, !dbg !24 |
64 tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !DIExpression()), !dbg !20 | 64 tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !DIExpression()), !dbg !20 |
65 %arrayidx3 = getelementptr inbounds i32, i32* %arrayidx, i64 %indvar, !dbg !21 | 65 %arrayidx3 = getelementptr inbounds i32, ptr %arrayidx, i64 %indvar, !dbg !21 |
66 %2 = load i32, i32* %arrayidx3, align 4, !dbg !21 | 66 %2 = load i32, ptr %arrayidx3, align 4, !dbg !21 |
67 %cmp = icmp slt i32 %inc, %2, !dbg !21 | 67 %cmp = icmp slt i32 %inc, %2, !dbg !21 |
68 %indvar.next = add i64 %indvar, 1, !dbg !21 | 68 %indvar.next = add i64 %indvar, 1, !dbg !21 |
69 br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge, !dbg !21 | 69 br i1 %cmp, label %for.body, label %for.cond.for.end_crit_edge, !dbg !21 |
70 | 70 |
71 for.cond.for.end_crit_edge: ; preds = %for.body | 71 for.cond.for.end_crit_edge: ; preds = %for.body |