blob: dfd201e0f32c9f805bd022e1be4a632b0a3a0b14 [file]
; RUN: opt %loadNPMPolly '-passes=polly-custom<codegen>' -polly-invariant-load-hoisting -S < %s | FileCheck %s
;
; https://github.com/llvm/llvm-project/issues/190459
; Avoid crash because isl_set_gist_params does not preserve single-valuedness
;
; CHECK: polly.split_new_and_old:
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
define i32 @func() {
bb:
br label %bb1
bb1: ; preds = %bb2, %bb
%i = phi i32 [ %i3, %bb2 ], [ 0, %bb ]
br label %bb4
bb2: ; preds = %bb4
%i3 = add i32 %i, 1
br label %bb1
bb4: ; preds = %bb4, %bb1
%i5 = and i32 %i, 7
%i6 = zext i32 %i5 to i64
%i7 = getelementptr [8 x i8], ptr null, i64 %i6
%i8 = load i8, ptr %i7, align 1
br i1 false, label %bb4, label %bb2
}