1*e1f056f6Srahulana-quic; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s \ 235f70200SMichael Kruse; RUN: -polly-invariant-load-hoisting \ 335f70200SMichael Kruse; RUN: | FileCheck %s 435f70200SMichael Kruse 5fc78ebadSNikita Popov; CHECK: %polly.access.A = getelementptr ptr, ptr %A, i64 0 6fc78ebadSNikita Popov; CHECK: %polly.access.A.load = load ptr, ptr %polly.access.A 7fc78ebadSNikita Popov; CHECK: store float 4.200000e+01, ptr %polly.access.A.load 8fc78ebadSNikita Popov; CHECK: store float 4.800000e+01, ptr %polly.access.A.load 935f70200SMichael Kruse 10fc78ebadSNikita Popovdefine void @foo(ptr %A) { 1135f70200SMichael Krusestart: 1235f70200SMichael Kruse br label %loop 1335f70200SMichael Kruse 1435f70200SMichael Kruseloop: 1535f70200SMichael Kruse %indvar = phi i64 [0, %start], [%indvar.next, %latch] 1635f70200SMichael Kruse %indvar.next = add nsw i64 %indvar, 1 1735f70200SMichael Kruse %icmp = icmp slt i64 %indvar.next, 1024 1835f70200SMichael Kruse br i1 %icmp, label %body1, label %exit 1935f70200SMichael Kruse 2035f70200SMichael Krusebody1: 21fc78ebadSNikita Popov %baseA = load ptr, ptr %A 22fc78ebadSNikita Popov store float 42.0, ptr %baseA 2335f70200SMichael Kruse br label %body2 2435f70200SMichael Kruse 2535f70200SMichael Krusebody2: 26fc78ebadSNikita Popov %baseB = load ptr, ptr %A 27fc78ebadSNikita Popov store float 48.0, ptr %baseB 2835f70200SMichael Kruse br label %latch 2935f70200SMichael Kruse 3035f70200SMichael Kruselatch: 3135f70200SMichael Kruse br label %loop 3235f70200SMichael Kruse 3335f70200SMichael Kruseexit: 3435f70200SMichael Kruse ret void 3535f70200SMichael Kruse 3635f70200SMichael Kruse} 37