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