brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 2ed94e5 Raw
51 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<ast>' -polly-print-ast -disable-output < %s | FileCheck %s2 3; CHECK:      {4; CHECK-NEXT:    if (p <= -1 || p >= 1)5; CHECK-NEXT:      Stmt_preheader();6; CHECK-NEXT:    for (int c0 = 0; c0 < 2 * p; c0 += 1)7; CHECK-NEXT:      Stmt_loop(c0);8; CHECK-NEXT:    if (p <= -1) {9; CHECK-NEXT:      for (int c0 = 0; c0 <= 2 * p + 255; c0 += 1)10; CHECK-NEXT:        Stmt_loop(c0);11; CHECK-NEXT:    } else if (p == 0) {12; CHECK-NEXT:      Stmt_side();13; CHECK-NEXT:    }14; CHECK-NEXT:  }15 16target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"17 18define void @zot(ptr %A, i32 %arg) {19bb:20  %p = ashr i32 %arg, 2521  %tmpEven = shl nsw i32 %p, 122  %tmp3 = and i32 %tmpEven, 25423  br label %cond24 25cond:26  %tmpEvenTrunc = trunc i32 %tmpEven to i827  %br.cmp = icmp eq i8 %tmpEvenTrunc, 028  br i1 %br.cmp, label %side, label %preheader29 30preheader:31  store float 1.0, ptr %A32  br label %loop33 34loop:35  %indvar = phi i32 [ %indvar.next, %loop ], [ 1, %preheader ]36  store float 1.0, ptr %A37  %indvar.next = add nuw nsw i32 %indvar, 138  %cmp = icmp eq i32 %indvar, %tmp339  br i1 %cmp, label %exit, label %loop40 41side:42  store float 1.0, ptr %A43  br label %ret44 45exit:46  br label %ret47 48ret:49  ret void50}51