Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopDetectionDiagnostics/ReportFuncCall-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 |
---|---|
9 ; } | 9 ; } |
10 ; } | 10 ; } |
11 | 11 |
12 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 12 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
13 | 13 |
14 define void @a(double* %A, i32 %n) #0 !dbg !4 { | 14 define void @a(ptr %A, i32 %n) #0 !dbg !4 { |
15 entry: | 15 entry: |
16 %cmp1 = icmp sgt i32 %n, 0, !dbg !10 | 16 %cmp1 = icmp sgt i32 %n, 0, !dbg !10 |
17 br i1 %cmp1, label %for.body.lr.ph, label %for.end, !dbg !10 | 17 br i1 %cmp1, label %for.body.lr.ph, label %for.end, !dbg !10 |
18 | 18 |
19 for.body.lr.ph: ; preds = %entry | 19 for.body.lr.ph: ; preds = %entry |
20 %0 = zext i32 %n to i64 | 20 %0 = zext i32 %n to i64 |
21 br label %for.body, !dbg !10 | 21 br label %for.body, !dbg !10 |
22 | 22 |
23 for.body: ; preds = %for.body, %for.body.lr.ph | 23 for.body: ; preds = %for.body, %for.body.lr.ph |
24 %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ] | 24 %indvar = phi i64 [ 0, %for.body.lr.ph ], [ %indvar.next, %for.body ] |
25 %arrayidx = getelementptr double, double* %A, i64 %indvar, !dbg !12 | 25 %arrayidx = getelementptr double, ptr %A, i64 %indvar, !dbg !12 |
26 %call = tail call double @invalidCall(double* %A) #2, !dbg !12 | 26 %call = tail call double @invalidCall(ptr %A) #2, !dbg !12 |
27 store double %call, double* %arrayidx, align 8, !dbg !12, !tbaa !14 | 27 store double %call, ptr %arrayidx, align 8, !dbg !12, !tbaa !14 |
28 %indvar.next = add i64 %indvar, 1, !dbg !10 | 28 %indvar.next = add i64 %indvar, 1, !dbg !10 |
29 %exitcond = icmp eq i64 %indvar.next, %0, !dbg !10 | 29 %exitcond = icmp eq i64 %indvar.next, %0, !dbg !10 |
30 br i1 %exitcond, label %for.end.loopexit, label %for.body, !dbg !10 | 30 br i1 %exitcond, label %for.end.loopexit, label %for.body, !dbg !10 |
31 | 31 |
32 for.end.loopexit: ; preds = %for.body | 32 for.end.loopexit: ; preds = %for.body |
34 | 34 |
35 for.end: ; preds = %for.end.loopexit, %entry | 35 for.end: ; preds = %for.end.loopexit, %entry |
36 ret void, !dbg !18 | 36 ret void, !dbg !18 |
37 } | 37 } |
38 | 38 |
39 declare double @invalidCall(double*) #1 | 39 declare double @invalidCall(ptr) #1 |
40 | 40 |
41 ; CHECK: remark: ReportFuncCall.c:4:8: The following errors keep this region from being a Scop. | 41 ; CHECK: remark: ReportFuncCall.c:4:8: The following errors keep this region from being a Scop. |
42 ; CHECK: remark: ReportFuncCall.c:5:12: This function call cannot be handled. Try to inline it. | 42 ; CHECK: remark: ReportFuncCall.c:5:12: This function call cannot be handled. Try to inline it. |
43 | 43 |
44 !llvm.dbg.cu = !{!0} | 44 !llvm.dbg.cu = !{!0} |