Mercurial > hg > CbC > CbC_llvm
comparison polly/test/CodeGen/scev_looking_through_bitcasts.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 |
---|---|
5 ; SCEVExpander returns %add.ptr81.i of type i8* to be the new value | 5 ; SCEVExpander returns %add.ptr81.i of type i8* to be the new value |
6 ; of %b. | 6 ; of %b. |
7 ; | 7 ; |
8 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 8 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
9 | 9 |
10 %structty = type { %structty*, %structty*, i32, [2 x i64] } | 10 %structty = type { ptr, ptr, i32, [2 x i64] } |
11 | 11 |
12 define void @bitmap_set_range() { | 12 define void @bitmap_set_range() { |
13 entry: | 13 entry: |
14 %a = ptrtoint i8* undef to i64 | 14 %a = ptrtoint ptr undef to i64 |
15 br label %cond.end32.i | 15 br label %cond.end32.i |
16 | 16 |
17 cond.end32.i: | 17 cond.end32.i: |
18 br i1 false, label %cond.true67.i, label %cond.end73.i | 18 br i1 false, label %cond.true67.i, label %cond.end73.i |
19 | 19 |
20 cond.true67.i: | 20 cond.true67.i: |
21 br label %cond.end73.i | 21 br label %cond.end73.i |
22 | 22 |
23 cond.end73.i: | 23 cond.end73.i: |
24 %add.ptr81.i = getelementptr inbounds i8, i8* null, i64 %a | 24 %add.ptr81.i = getelementptr inbounds i8, ptr null, i64 %a |
25 %b = bitcast i8* %add.ptr81.i to %structty* | |
26 br label %bitmap_element_allocate.exit | 25 br label %bitmap_element_allocate.exit |
27 | 26 |
28 bitmap_element_allocate.exit: | 27 bitmap_element_allocate.exit: |
29 %tobool43 = icmp eq %structty* %b, null | 28 %tobool43 = icmp eq ptr %add.ptr81.i, null |
30 ret void | 29 ret void |
31 } | 30 } |
32 | 31 |
33 | 32 |
34 | 33 |
35 ; CHECK: polly.stmt.cond.end73.i: | 34 ; CHECK: polly.stmt.cond.end73.i: |
36 ; CHECK-NEXT: %scevgep = getelementptr i8, i8* null, i64 %a | 35 ; CHECK-NEXT: %scevgep = getelementptr i8, ptr null, i64 %a |
37 ; CHECK-NEXT: %scevgep1 = bitcast i8* %scevgep to %structty* | 36 ; CHECK-NEXT: store ptr %scevgep, ptr %add.ptr81.i.s2a, align 8 |
38 ; CHECK-NEXT: store %structty* %scevgep1, %structty** %b.s2a, align 8 | |
39 ; CHECK-NEXT: br label %polly.exiting | 37 ; CHECK-NEXT: br label %polly.exiting |