Files
clang-p2996/polly/test/CodeGen/non-affine-phi-node-expansion.ll
rahulana-quic e1f056f692 Reland "[polly] Port polly tests to use NPM" (#92918)
Even as the NPM has been in use by Polly for a while now, the majority
of the tests continue using the LPM passes. This patch ports the tests
to use the NPM passes (for example, by replacing a flag such as
-polly-detect with -passes=polly-detect following the NPM syntax for
specifying passes) with some exceptions for some missing features in the
new passes.

Relanding #90632.
2024-05-24 13:09:34 -07:00

57 lines
1.7 KiB
LLVM

; RUN: opt %loadNPMPolly -passes=polly-codegen \
; RUN: -S < %s | FileCheck %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
%struct.wombat = type {[4 x i32]}
; CHECK-NOT: polly.preload.begin:
; CHECK-NOT: %polly.access.B
; CHECK-NOT: %polly.access.B.load
; CHECK: polly.split_new_and_old
; CHECK: polly.stmt.bb3.entry: ; preds = %polly.start
; CHECK: br label %polly.stmt.bb3
; CHECK: polly.stmt.bb3: ; preds = %polly.stmt.bb3.entry
; CHECK: br i1 true, label %polly.stmt.bb4, label %polly.stmt.bb5
; CHECK: polly.stmt.bb4: ; preds = %polly.stmt.bb3
; CHECK: br label %polly.stmt.bb13.exit
; CHECK: polly.stmt.bb5: ; preds = %polly.stmt.bb3
; CHECK: load i32, ptr %B
; Function Attrs: nounwind uwtable
define void @quux(ptr %arg, ptr %B) {
bb:
br i1 undef, label %bb2, label %bb1
bb1: ; preds = %bb
br label %bb2
bb2: ; preds = %bb1, %bb
%tmp = phi i1 [ true, %bb ], [ undef, %bb1 ]
br label %bb3
bb3: ; preds = %bb13, %bb2
br i1 %tmp, label %bb4, label %bb5
bb4: ; preds = %bb3
br label %bb13
bb5: ; preds = %bb3
%tmp7 = load i32, ptr %B
store i32 %tmp7, ptr %arg
br label %bb13
bb13: ; preds = %bb5, %bb4
br i1 false, label %bb3, label %bb14
bb14: ; preds = %bb13
br label %bb15
bb15: ; preds = %bb14
ret void
}