1 ; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
3 ; void foo(float *A, float *B, float *C, long N) {
4 ; for (long i = 0; i < N; i++)
8 ; CHECK: Alias Groups (2):
10 ; This test case verifies that we do not create run-time checks for two
12 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
14 define void @foo(ptr %A, ptr %B, ptr %C, i64 %N) {
19 %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ]
20 %arrayidx.A = getelementptr float, ptr %A, i64 %indvar
21 %arrayidx.B = getelementptr float, ptr %B, i64 %indvar
22 %arrayidx.C = getelementptr float, ptr %C, i64 %indvar
23 %val.A = load float, ptr %arrayidx.A
24 %val.B = load float, ptr %arrayidx.B
25 %add = fadd float %val.A, %val.B
26 store float %add, ptr %arrayidx.C
27 %indvar.next = add nsw i64 %indvar, 1
28 %exitcond = icmp ne i64 %indvar.next, %N
29 br i1 %exitcond, label %for.body, label %for.end