[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / polly / test / ScopInfo / schedule-const-post-dominator-walk.ll
blobd0e8a2accaa2c9003a9dc4dd8e777d7eea00ce0e
1 ; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
3 ; The SCoP contains a loop with multiple exit blocks (BBs after leaving
4 ; the loop). The current implementation of deriving their domain derives
5 ; only a common domain for all of the exit blocks. We disabled loops with
6 ; multiple exit blocks until this is fixed.
7 ; XFAIL: *
9 ; CHECK: { Stmt_bb3[i0] -> [0, 0] };
10 ; CHECK: { Stmt_bb2[] -> [1, 0] };
12 ; Verify that we generate the correct schedule. In older versions of Polly,
13 ; we generated an incorrect schedule:
15 ;   { Stmt_bb3[i0] -> [1, 0]; Stmt_bb2[] -> [0, 0] }
17 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
19 define void @hoge() {
20 bb:
21   br label %bb3
23 bb1:                                              ; preds = %bb5
24   br label %bb6
26 bb2:                                              ; preds = %bb3
27   %tmp = phi i64 [ %tmp4, %bb3 ]
28   br label %bb6
30 bb3:                                              ; preds = %bb5, %bb
31   %tmp4 = phi i64 [ 0, %bb ], [ 0, %bb5 ]
32   br i1 false, label %bb5, label %bb2
34 bb5:                                              ; preds = %bb3
35   br i1 false, label %bb3, label %bb1
37 bb6:                                              ; preds = %bb2, %bb1
38   %tmp2 = phi i64 [ %tmp, %bb2 ], [ undef, %bb1 ]
39   ret void