Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopInfo/unsigned-division-3.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 |
---|---|
13 ; CHECK: Domain := | 13 ; CHECK: Domain := |
14 ; CHECK-NEXT: [N] -> { Stmt_for_body[0] : N >= 0 }; | 14 ; CHECK-NEXT: [N] -> { Stmt_for_body[0] : N >= 0 }; |
15 ; | 15 ; |
16 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 16 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
17 | 17 |
18 define void @f(i32* %A, i8 %N) { | 18 define void @f(ptr %A, i8 %N) { |
19 entry: | 19 entry: |
20 %tmp = udiv i8 %N, -128 | 20 %tmp = udiv i8 %N, -128 |
21 br label %for.cond | 21 br label %for.cond |
22 | 22 |
23 for.cond: ; preds = %for.inc, %entry | 23 for.cond: ; preds = %for.inc, %entry |
25 %lftr.wideiv = trunc i64 %indvars.iv to i8 | 25 %lftr.wideiv = trunc i64 %indvars.iv to i8 |
26 %exitcond = icmp sle i8 %lftr.wideiv, %tmp | 26 %exitcond = icmp sle i8 %lftr.wideiv, %tmp |
27 br i1 %exitcond, label %for.body, label %for.end | 27 br i1 %exitcond, label %for.body, label %for.end |
28 | 28 |
29 for.body: ; preds = %for.cond | 29 for.body: ; preds = %for.cond |
30 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv | 30 %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv |
31 %tmp2 = load i32, i32* %arrayidx, align 4 | 31 %tmp2 = load i32, ptr %arrayidx, align 4 |
32 %inc = add nsw i32 %tmp2, 1 | 32 %inc = add nsw i32 %tmp2, 1 |
33 store i32 %inc, i32* %arrayidx, align 4 | 33 store i32 %inc, ptr %arrayidx, align 4 |
34 br label %for.inc | 34 br label %for.inc |
35 | 35 |
36 for.inc: ; preds = %for.body | 36 for.inc: ; preds = %for.body |
37 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 | 37 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 |
38 br label %for.cond | 38 br label %for.cond |