Mercurial > hg > CbC > CbC_llvm
comparison polly/test/CodeGen/non-affine-synthesized-in-branch.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 |
---|---|
3 ; llvm.org/PR25412 | 3 ; llvm.org/PR25412 |
4 ; %synthgep caused %gep to be synthesized in subregion_if which was reused for | 4 ; %synthgep caused %gep to be synthesized in subregion_if which was reused for |
5 ; %retval in subregion_exit, even though it is not dominating subregion_exit. | 5 ; %retval in subregion_exit, even though it is not dominating subregion_exit. |
6 ; | 6 ; |
7 ; CHECK-LABEL: polly.stmt.polly.merge_new_and_old.exit: | 7 ; CHECK-LABEL: polly.stmt.polly.merge_new_and_old.exit: |
8 ; CHECK: %scevgep[[R1:[0-9]*]] = getelementptr %struct.hoge, %struct.hoge* %arg, i64 0, i32 2 | 8 ; CHECK: %scevgep[[R1:[0-9]*]] = getelementptr i8, ptr %arg, i64 16 |
9 ; CHECK: store double* %scevgep[[R1]], double** %gep.s2a | 9 ; CHECK: store ptr %scevgep[[R1]], ptr %gep.s2a |
10 ; CHECK: br label | 10 ; CHECK: br label |
11 | 11 |
12 %struct.hoge = type { double, double, double } | 12 %struct.hoge = type { double, double, double } |
13 | 13 |
14 define double @func(%struct.hoge* %arg) { | 14 define double @func(ptr %arg) { |
15 entry: | 15 entry: |
16 br label %subregion_entry | 16 br label %subregion_entry |
17 | 17 |
18 subregion_entry: | 18 subregion_entry: |
19 %gep = getelementptr inbounds %struct.hoge, %struct.hoge* %arg, i64 0, i32 2 | 19 %gep = getelementptr inbounds %struct.hoge, ptr %arg, i64 0, i32 2 |
20 %cond = fcmp ogt double undef, undef | 20 %cond = fcmp ogt double undef, undef |
21 br i1 %cond, label %subregion_if, label %subregion_exit | 21 br i1 %cond, label %subregion_if, label %subregion_exit |
22 | 22 |
23 subregion_if: | 23 subregion_if: |
24 %synthgep = load double, double* %gep | 24 %synthgep = load double, ptr %gep |
25 br label %subregion_exit | 25 br label %subregion_exit |
26 | 26 |
27 subregion_exit: | 27 subregion_exit: |
28 %retval = load double, double* %gep | 28 %retval = load double, ptr %gep |
29 ret double %retval | 29 ret double %retval |
30 } | 30 } |