Mercurial > hg > CbC > CbC_llvm
comparison llvm/test/Transforms/IndVarSimplify/pr50506.ll @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | |
children | 1f2b6ac9f198 |
comparison
equal
deleted
inserted
replaced
232:70dce7da266c | 236:c4bab56944e8 |
---|---|
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py | |
2 ; RUN: opt -S -indvars < %s | FileCheck %s | |
3 | |
4 ; This test used to assert when expanding an addrec into a loop without | |
5 ; preheader. | |
6 | |
7 define void @test(ptr %tgt) { | |
8 ; CHECK-LABEL: @test( | |
9 ; CHECK-NEXT: bb31: | |
10 ; CHECK-NEXT: indirectbr ptr [[TGT:%.*]], [label [[EXIT:%.*]], label %bb33] | |
11 ; CHECK: exit: | |
12 ; CHECK-NEXT: ret void | |
13 ; CHECK: bb33: | |
14 ; CHECK-NEXT: [[TMP34:%.*]] = phi i32 [ [[TMP50:%.*]], [[BB49:%.*]] ], [ 0, [[BB31:%.*]] ] | |
15 ; CHECK-NEXT: br i1 false, label [[BB40_PREHEADER:%.*]], label [[BB49]] | |
16 ; CHECK: bb40.preheader: | |
17 ; CHECK-NEXT: br label [[BB40:%.*]] | |
18 ; CHECK: bb40: | |
19 ; CHECK-NEXT: br label [[BB40]] | |
20 ; CHECK: bb49: | |
21 ; CHECK-NEXT: [[TMP50]] = add i32 [[TMP34]], 1 | |
22 ; CHECK-NEXT: br label [[BB33:%.*]] | |
23 ; | |
24 bb31: | |
25 indirectbr ptr %tgt, [label %exit, label %bb33] | |
26 | |
27 exit: | |
28 ret void | |
29 | |
30 bb33: ; preds = %bb49, %bb31 | |
31 %tmp34 = phi i32 [ %tmp50, %bb49 ], [ 0, %bb31 ] | |
32 %tmp36 = add i32 %tmp34, 1 | |
33 br i1 false, label %bb40, label %bb49 | |
34 | |
35 bb40: ; preds = %bb38, %bb37 | |
36 %tmp41 = phi i32 [ %tmp36, %bb33 ], [ %tmp39, %bb40 ] | |
37 %tmp39 = add i32 %tmp41, 0 | |
38 br label %bb40 | |
39 | |
40 bb49: ; preds = %bb35 | |
41 %tmp50 = add i32 %tmp34, 1 | |
42 br label %bb33 | |
43 } |