xref: /aosp_15_r20/external/llvm/test/Transforms/IndVarSimplify/pr24956.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -S -indvars < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Check that this test does not crash.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
6*9880d681SAndroid Build Coastguard Workertarget triple = "x86_64-apple-macosx10.10.0"
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine void @re_update_line(i8* %new) {
9*9880d681SAndroid Build Coastguard Worker; CHECK: @re_update_line(
10*9880d681SAndroid Build Coastguard Workerentry:
11*9880d681SAndroid Build Coastguard Worker  %incdec.ptr6 = getelementptr inbounds i8, i8* %new, i64 1
12*9880d681SAndroid Build Coastguard Worker  br label %for.cond.11.preheader
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerfor.cond.11.preheader:                            ; preds = %for.inc.26, %entry
15*9880d681SAndroid Build Coastguard Worker  %n.154 = phi i8* [ %new, %entry ], [ %incdec.ptr27, %for.inc.26 ]
16*9880d681SAndroid Build Coastguard Worker  %cmp12.52 = icmp ult i8* %n.154, %incdec.ptr6
17*9880d681SAndroid Build Coastguard Worker  br i1 %cmp12.52, label %land.rhs.16.lr.ph, label %for.inc.26
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Workerland.rhs.16.lr.ph:                                ; preds = %for.cond.11.preheader
20*9880d681SAndroid Build Coastguard Worker  br label %land.rhs.16
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Workerfor.cond.11:                                      ; preds = %land.rhs.16
23*9880d681SAndroid Build Coastguard Worker  %incdec.ptr24 = getelementptr inbounds i8, i8* %p.053, i64 1
24*9880d681SAndroid Build Coastguard Worker  %cmp12 = icmp ult i8* %p.053, %new
25*9880d681SAndroid Build Coastguard Worker  br i1 %cmp12, label %land.rhs.16, label %for.inc.26
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerland.rhs.16:                                      ; preds = %for.cond.11, %land.rhs.16.lr.ph
28*9880d681SAndroid Build Coastguard Worker  %p.053 = phi i8* [ %n.154, %land.rhs.16.lr.ph ], [ %incdec.ptr24, %for.cond.11 ]
29*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %for.cond.11, label %for.inc.26
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerfor.inc.26:                                       ; preds = %land.rhs.16, %for.cond.11, %for.cond.11.preheader
32*9880d681SAndroid Build Coastguard Worker  %incdec.ptr27 = getelementptr inbounds i8, i8* %n.154, i64 1
33*9880d681SAndroid Build Coastguard Worker  br i1 false, label %for.cond.11.preheader, label %for.end.28
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Workerfor.end.28:                                       ; preds = %for.inc.26
36*9880d681SAndroid Build Coastguard Worker  ret void
37*9880d681SAndroid Build Coastguard Worker}
38