1 ; RUN: opt %loadPolly -polly-print-optree -disable-output < %s | FileCheck %s -match-full-lines
3 ; Not the entire operand tree can be forwarded,
4 ; some scalar dependencies would remain.
6 ; for (int j = 0; j < n; j += 1) {
8 ; double val = f() + 21.0;
14 declare double @f(...) #1
16 define void @func(i32 %n, ptr noalias nonnull %A) {
21 %j = phi i32 [0, %entry], [%j.inc, %inc]
22 %j.cmp = icmp slt i32 %j, %n
23 br i1 %j.cmp, label %bodyA, label %exit
26 %v = call double (...) @f()
27 %val = fadd double %v, 21.0
31 store double %val, ptr %A
35 %j.inc = add nuw nsw i32 %j, 1
45 attributes #1 = { nounwind readnone }
48 ; CHECK: ForwardOpTree executed, but did not modify anything