Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopDetect/report-scop-location.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 | 1d019706d866 |
children |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
1 ; RUN: opt %loadPolly -polly-detect -polly-report -disable-output < %s 2>&1 | FileCheck %s | 1 ; RUN: opt %loadPolly -polly-detect -polly-report -disable-output < %s 2>&1 | FileCheck %s |
2 target datalayout = "e-i64:64-f80:128-s:64-n8:16:32:64-S128" | 2 target datalayout = "e-i64:64-f80:128-s:64-n8:16:32:64-S128" |
3 | 3 |
4 ; Function Attrs: nounwind uwtable | 4 ; Function Attrs: nounwind uwtable |
5 define void @foo(float* %A) #0 !dbg !4 { | 5 define void @foo(ptr %A) #0 !dbg !4 { |
6 entry: | 6 entry: |
7 br label %entry.split | 7 br label %entry.split |
8 | 8 |
9 entry.split: ; preds = %entry | 9 entry.split: ; preds = %entry |
10 br label %for.body, !dbg !11 | 10 br label %for.body, !dbg !11 |
11 | 11 |
12 for.body: ; preds = %entry.split, %for.body | 12 for.body: ; preds = %entry.split, %for.body |
13 %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ] | 13 %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ] |
14 %i.01 = trunc i64 %indvar to i32, !dbg !13 | 14 %i.01 = trunc i64 %indvar to i32, !dbg !13 |
15 %arrayidx = getelementptr float, float* %A, i64 %indvar, !dbg !13 | 15 %arrayidx = getelementptr float, ptr %A, i64 %indvar, !dbg !13 |
16 %conv = sitofp i32 %i.01 to float, !dbg !13 | 16 %conv = sitofp i32 %i.01 to float, !dbg !13 |
17 store float %conv, float* %arrayidx, align 4, !dbg !13 | 17 store float %conv, ptr %arrayidx, align 4, !dbg !13 |
18 %indvar.next = add i64 %indvar, 1, !dbg !11 | 18 %indvar.next = add i64 %indvar, 1, !dbg !11 |
19 %exitcond = icmp ne i64 %indvar.next, 100, !dbg !11 | 19 %exitcond = icmp ne i64 %indvar.next, 100, !dbg !11 |
20 br i1 %exitcond, label %for.body, label %for.end, !dbg !11 | 20 br i1 %exitcond, label %for.body, label %for.end, !dbg !11 |
21 | 21 |
22 for.end: ; preds = %for.body | 22 for.end: ; preds = %for.body |
26 ; CHECK: note: Polly detected an optimizable loop region (scop) in function 'foo' | 26 ; CHECK: note: Polly detected an optimizable loop region (scop) in function 'foo' |
27 ; CHECK: test.c:2: Start of scop | 27 ; CHECK: test.c:2: Start of scop |
28 ; CHECK: test.c:3: End of scop | 28 ; CHECK: test.c:3: End of scop |
29 | 29 |
30 ; Function Attrs: nounwind uwtable | 30 ; Function Attrs: nounwind uwtable |
31 define void @bar(float* %A) #0 !dbg !7 { | 31 define void @bar(ptr %A) #0 !dbg !7 { |
32 entry: | 32 entry: |
33 br label %entry.split | 33 br label %entry.split |
34 | 34 |
35 entry.split: ; preds = %entry | 35 entry.split: ; preds = %entry |
36 br label %for.body, !dbg !15 | 36 br label %for.body, !dbg !15 |
37 | 37 |
38 for.body: ; preds = %entry.split, %for.body | 38 for.body: ; preds = %entry.split, %for.body |
39 %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ] | 39 %indvar = phi i64 [ 0, %entry.split ], [ %indvar.next, %for.body ] |
40 %i.01 = trunc i64 %indvar to i32, !dbg !17 | 40 %i.01 = trunc i64 %indvar to i32, !dbg !17 |
41 %arrayidx = getelementptr float, float* %A, i64 %indvar, !dbg !17 | 41 %arrayidx = getelementptr float, ptr %A, i64 %indvar, !dbg !17 |
42 %conv = sitofp i32 %i.01 to float, !dbg !17 | 42 %conv = sitofp i32 %i.01 to float, !dbg !17 |
43 store float %conv, float* %arrayidx, align 4, !dbg !17 | 43 store float %conv, ptr %arrayidx, align 4, !dbg !17 |
44 %indvar.next = add i64 %indvar, 1, !dbg !15 | 44 %indvar.next = add i64 %indvar, 1, !dbg !15 |
45 %exitcond = icmp ne i64 %indvar.next, 100, !dbg !15 | 45 %exitcond = icmp ne i64 %indvar.next, 100, !dbg !15 |
46 br i1 %exitcond, label %for.body, label %for.end, !dbg !15 | 46 br i1 %exitcond, label %for.body, label %for.end, !dbg !15 |
47 | 47 |
48 for.end: ; preds = %for.body | 48 for.end: ; preds = %for.body |