30 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<ast>' -polly-print-ast -disable-output < %s | FileCheck %s2; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -S < %s | FileCheck %s -check-prefix=CODEGEN3target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"4 5define void @foo(ptr %start, ptr %end) {6entry:7 %A = alloca i328 br label %body9 10body:11 %ptr = phi ptr [ %start, %entry ], [ %ptr2, %body ]12 %ptr2 = getelementptr inbounds i8, ptr %ptr, i64 113 %cmp = icmp eq ptr %ptr2, %end14 store i32 42, ptr %A15 br i1 %cmp, label %exit, label %body16 17exit:18 ret void19}20 21; CHECK: for (int c0 = 0; c0 < -start + end; c0 += 1)22; CHECK: Stmt_body(c0);23 24; CODEGEN-LABEL: polly.start:25; CODEGEN-NEXT: %[[r0:[._a-zA-Z0-9]*]] = ptrtoint ptr %start to i6426; CODEGEN-NEXT: %[[r1:[._a-zA-Z0-9]*]] = sub nsw i64 0, %[[r0]]27; CODEGEN-NEXT: %[[r2:[._a-zA-Z0-9]*]] = ptrtoint ptr %end to i6428; CODEGEN-NEXT: %[[r4:[._a-zA-Z0-9]*]] = add nsw i64 %[[r1]], %[[r2]]29 30