xref: /llvm-project/polly/test/ScopInfo/truncate-3.ll (revision e1f056f692d869708c1898d9d65a69ac5584a0ed)
1; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -pass-remarks-analysis="polly-scops" \
2; RUN:                -disable-output < %s 2>&1 | FileCheck %s
3
4; CHECK: Signed-unsigned restriction: [p] -> {  : p <= -129 or p >= 128 }
5
6; Verify that this test case does not crash when we try to model it.
7; At some point we tried to insert a restriction:
8;                                      [p] -> {  : p <= -129 or p >= 128 }
9; which resulted in a crash.
10
11target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
12
13define void @wobble(ptr %A, i32 %p) {
14bb:
15  %tmp1 = and i32 %p, 255
16  br label %bb4
17
18bb4:                                              ; preds = %bb4, %bb
19  %indvar = phi ptr [ %A, %bb ], [ %indvar.next, %bb4 ]
20  %val = load i16, ptr %indvar
21  %indvar.next = getelementptr inbounds i16, ptr %indvar, i32 %tmp1
22  br i1 false, label %bb4, label %bb9
23
24bb9:                                              ; preds = %bb4
25  ret void
26}
27