[flang] Fix length handling in character kind implicit conversion (#74586)
[llvm-project.git] / polly / test / ScopInfo / wraping_signed_expr_6.ll
blob23258bb513bf9274d6eb895b1912c6f8a6e409a2
1 ; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s
3 ; CHECK:    Invalid Context:
4 ; CHECK:        [N] -> {  : N >= 129 }
6 ;    void foo(float *A, long N) {
7 ;      for (long i = 0; i < N; i++)
8 ;        if ((signed char)i < 100)
9 ;          A[i] += i;
10 ;    }
11 define void @foo(ptr %A, i64 %N) {
12 bb:
13   br label %bb1
15 bb1:                                              ; preds = %bb11, %bb
16   %i.0 = phi i64 [ 0, %bb ], [ %tmp12, %bb11 ]
17   %tmp = icmp slt i64 %i.0, %N
18   br i1 %tmp, label %bb2, label %bb13
20 bb2:                                              ; preds = %bb1
21   %tmp3 = trunc i64 %i.0 to i8
22   %tmp4 = icmp slt i8 %tmp3, 100
23   br i1 %tmp4, label %bb5, label %bb10
25 bb5:                                              ; preds = %bb2
26   %tmp6 = sitofp i64 %i.0 to float
27   %tmp7 = getelementptr inbounds float, ptr %A, i64 %i.0
28   %tmp8 = load float, ptr %tmp7, align 4
29   %tmp9 = fadd float %tmp8, %tmp6
30   store float %tmp9, ptr %tmp7, align 4
31   br label %bb10
33 bb10:                                             ; preds = %bb5, %bb2
34   br label %bb11
36 bb11:                                             ; preds = %bb10
37   %tmp12 = add nuw nsw i64 %i.0, 1
38   br label %bb1
40 bb13:                                             ; preds = %bb1
41   ret void