[flang] Fix length handling in character kind implicit conversion (#74586)
[llvm-project.git] / polly / test / CodeGen / invariant_load_canonicalize_array_baseptrs.ll
blobdc5a4c890381ca38d6c56343f39e0308eca02824
1 ; RUN: opt %loadPolly -polly-codegen -S < %s \
2 ; RUN:  -polly-invariant-load-hoisting \
3 ; RUN:  | FileCheck %s
5 ; CHECK: %polly.access.A = getelementptr ptr, ptr %A, i64 0
6 ; CHECK: %polly.access.A.load = load ptr, ptr %polly.access.A
7 ; CHECK: store float 4.200000e+01, ptr %polly.access.A.load
8 ; CHECK: store float 4.800000e+01, ptr %polly.access.A.load
10 define void @foo(ptr %A) {
11 start:
12   br label %loop
14 loop:
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
20 body1:
21   %baseA = load ptr, ptr %A
22   store float 42.0, ptr %baseA
23   br label %body2
25 body2:
26   %baseB = load ptr, ptr %A
27   store float 48.0, ptr %baseB
28   br label %latch
30 latch:
31   br label %loop
33 exit:
34   ret void