[flang] Fix length handling in character kind implicit conversion (#74586)
[llvm-project.git] / polly / test / CodeGen / split_edge_of_exit.ll
blob56ce215a62b22308a54ba4a9df6f54872f18b22d
1 ; RUN: opt %loadPolly -polly-print-detect -disable-output < %s | FileCheck %s
2 ; RUN: opt %loadPolly -polly-codegen -verify-region-info -disable-output < %s
4 ; This is a scop directly precedented by a region, i.e. the scop's entry is the
5 ; region's exit block. This test is to ensure that the RegionInfo is correctly
6 ; preserved.
8 ; CHECK: Valid Region for Scop: region2 => return
10 define void @f1(ptr %A, i64 %N) nounwind {
11 entry:
12   br label %region1
14 region1:
15   %indvar1 = phi i64 [ 0, %entry ], [ %indvar1.next, %region1 ]
16   fence seq_cst
17   %indvar1.next = add nsw i64 %indvar1, 1
18   %exitcond1 = icmp eq i64 %indvar1.next, %N
19   br i1 %exitcond1, label %region2, label %region1
21 region2:
22   %indvar2 = phi i64 [ 0, %region1 ], [ %indvar2.next, %region2 ]
23   %scevgep2 = getelementptr i64, ptr %A, i64 %indvar2
24   store i64 %indvar2, ptr %scevgep2
25   %indvar2.next = add nsw i64 %indvar2, 1
26   %exitcond2 = icmp eq i64 %indvar2.next, %N
27   br i1 %exitcond2, label %return, label %region2
29 return:
30   ret void