1; RUN: opt %loadPolly -polly-codegen -S < %s \ 2; RUN: -polly-invariant-load-hoisting \ 3; RUN: | FileCheck %s 4 5; CHECK: %polly.access.A = getelementptr float*, float** %A, i64 0 6; CHECK: %polly.access.A.load = load float*, float** %polly.access.A 7; CHECK: store float 4.200000e+01, float* %polly.access.A.load 8; CHECK: store float 4.800000e+01, float* %polly.access.A.load 9 10define void @foo(float** %A) { 11start: 12 br label %loop 13 14loop: 15 %indvar = phi i64 [0, %start], [%indvar.next, %latch] 16 %indvar.next = add nsw i64 %indvar, 1 17 %icmp = icmp slt i64 %indvar.next, 1024 18 br i1 %icmp, label %body1, label %exit 19 20body1: 21 %baseA = load float*, float** %A 22 store float 42.0, float* %baseA 23 br label %body2 24 25body2: 26 %baseB = load float*, float** %A 27 store float 48.0, float* %baseB 28 br label %latch 29 30latch: 31 br label %loop 32 33exit: 34 ret void 35 36} 37