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}