236
|
1 ; RUN: opt %loadPolly -polly-codegen -verify-region-info -verify-dom-info -S < %s | FileCheck %s
|
|
2 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
|
3
|
|
4 @A = common global [1536 x float] zeroinitializer
|
|
5
|
|
6 define void @loop_with_condition() nounwind {
|
|
7 bb0:
|
|
8 fence seq_cst
|
|
9 br label %bb1
|
|
10
|
|
11 bb1:
|
|
12 br i1 true, label %bb2, label %bb3
|
|
13
|
|
14 bb2:
|
|
15 %ind1 = phi i32 [0, %bb1], [ %inc0, %bb2]
|
252
|
16 %ptr = getelementptr [1536 x float], ptr @A, i64 0, i32 %ind1
|
|
17 store float undef, ptr %ptr
|
236
|
18 %inc0 = add i32 %ind1, 1
|
|
19 %cond1 = icmp eq i32 %ind1, 32
|
|
20 br i1 %cond1, label %bb4, label %bb2
|
|
21
|
|
22 bb3:
|
|
23 %ind2 = phi i32 [0, %bb1], [ %inc2, %bb3]
|
|
24 %inc2 = add i32 %ind2, 1
|
|
25 br i1 true, label %bb4, label %bb3
|
|
26
|
|
27 bb4:
|
|
28 br label %bb5
|
|
29
|
|
30 bb5:
|
|
31 fence seq_cst
|
|
32 ret void
|
|
33
|
|
34 }
|
|
35
|
|
36 ; CHECK: polly.split_new_and_old
|
|
37 ; CHECK: polly.merge_new_and_old
|