35 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -S -polly-invariant-load-hoisting < %s | FileCheck %s2 3; CHECK: %polly.access.A = getelementptr ptr, ptr %A, i64 04; CHECK: %polly.access.A.load = load ptr, ptr %polly.access.A5; CHECK: store float 4.200000e+01, ptr %polly.access.A.load6; CHECK: store float 4.800000e+01, ptr %polly.access.A.load7 8define void @foo(ptr %A) {9start:10 br label %loop11 12loop:13 %indvar = phi i64 [0, %start], [%indvar.next, %latch]14 %indvar.next = add nsw i64 %indvar, 115 %icmp = icmp slt i64 %indvar.next, 102416 br i1 %icmp, label %body1, label %exit17 18body1:19 %baseA = load ptr, ptr %A20 store float 42.0, ptr %baseA21 br label %body222 23body2:24 %baseB = load ptr, ptr %A25 store float 48.0, ptr %baseB26 br label %latch27 28latch:29 br label %loop30 31exit:32 ret void33 34}35