workflows/scorecard: Run this job once per day instead of for every push
[llvm-project.git] / polly / test / ScopInfo / unsigned_wrap_ule.ll
blob3c6ea18b439c98bcf31d24cdb82f77ddcbc424bb
1 ; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s
3 ; Unsigned wrap-around check.
5 ; for (int i = -1; i < 65 ; i ++ )
6 ;   if ( (unsigned)i <= 63 )
7 ;     A[i] = 42;
10 define void @func(ptr noalias nonnull %A) {
11 entry:
12   br label %for
14   for:
15   %j = phi i32 [-1, %entry], [%j.inc, %inc]
16   %j.cmp = icmp slt i32 %j, 65
17   br i1 %j.cmp, label %body, label %exit
19   body:
20   %inbounds = icmp ule i32 %j, 63
21   br i1 %inbounds, label %ifinbounds, label %ifoutbounds
23   ifinbounds:
24   %A_idx = getelementptr inbounds double, ptr %A, i32 %j
25   store double 42.0, ptr %A_idx
26   br label %inc
28   ifoutbounds:
29   br label %inc
31   inc:
32   %j.inc = add nuw nsw i32 %j, 1
33   br label %for
35   exit:
36   br label %return
38   return:
39   ret void
43 ; CHECK: Region: %for---%return
44 ; CHECK:            Domain :=
45 ; CHECK-NEXT:                            { Stmt_ifinbounds[i0] : 0 < i0 <= 64 };