brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 386fe5f Raw
45 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -S < %s | FileCheck %s2 3define void @foo(ptr %A, i1 %cond0, i1 %cond1) {4entry:5  br label %loop6 7loop:8  %indvar = phi i64 [0, %entry], [%indvar.next, %backedge]9  %val0 = fadd float 1.0, 2.010  %val1 = fadd float 1.0, 2.011  %val2 = fadd float 1.0, 2.012  br i1 %cond0, label %branch1, label %backedge13 14; CHECK-LABEL: polly.stmt.loop:15; CHECK-NEXT: %p_val0 = fadd float 1.000000e+00, 2.000000e+0016; CHECK-NEXT: %p_val1 = fadd float 1.000000e+00, 2.000000e+0017; CHECK-NEXT: %p_val2 = fadd float 1.000000e+00, 2.000000e+0018; CHECK-NEXT: br i119 20branch1:21  br i1 %cond1, label %branch2, label %backedge22 23; CHECK-LABEL: polly.stmt.branch1:24; CHECK-NEXT: br i125 26branch2:27  br label %backedge28 29; CHECK-LABEL: polly.stmt.branch2:30; CHECK-NEXT:    br label31 32; CHECK-LABEL: polly.stmt.backedge.exit:33; CHECK:         %polly.merge = phi float [ %p_val0, %polly.stmt.loop ], [ %p_val1, %polly.stmt.branch1 ], [ %p_val2, %polly.stmt.branch2 ]34 35backedge:36  %merge = phi float [%val0, %loop], [%val1, %branch1], [%val2, %branch2]37  %indvar.next = add i64 %indvar, 138  store float %merge, ptr %A39  %cmp = icmp sle i64 %indvar.next, 10040  br i1 %cmp, label %loop, label %exit41 42exit:43  ret void44}45