; RUN: opt %loadNPMPolly '-passes=polly-custom' -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 }