brintos

brintos / llvm-project-archived public Read only

0
0
Text · 975 B · 1bd9bfe Raw
45 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<simplify>' -polly-print-simplify -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines2;3; Do not remove dependencies of a phi node in a region's exit block.4;5define void @func(i32 %n, ptr noalias nonnull %A, double %alpha) {6entry:7  br label %for8 9for:10  %j = phi i32 [0, %entry], [%j.inc, %inc]11  %j.cmp = icmp slt i32 %j, %n12  br i1 %j.cmp, label %body, label %exit13 14    body:15      %val = fadd double 21.0, 21.016      br label %region_entry17 18 19    region_entry:20      %region.cmp = fcmp ueq double %alpha, 0.021      br i1 %region.cmp, label %region_true, label %region_exit22 23    region_true:24      br label %region_exit25 26    region_exit:27      %phi = phi double [%val, %region_true], [0.0, %region_entry]28      store double %phi, ptr %A29      br label %inc30 31 32inc:33  %j.inc = add nuw nsw i32 %j, 134  br label %for35 36exit:37  br label %return38 39return:40  ret void41}42 43 44; CHECK: SCoP could not be simplified45