63 lines · plain
1; RUN: opt < %s -passes=loop-interchange -cache-line-size=64 -pass-remarks-missed='loop-interchange' -pass-remarks-output=%t -S \2; RUN: -verify-dom-info -verify-loop-info -verify-loop-lcssa 2>&13; RUN: FileCheck --input-file=%t --check-prefix=REMARKS %s4 5; REMARKS: --- !Analysis6; REMARKS-NEXT: Pass: loop-interchange7; REMARKS-NEXT: Name: Dependence8; REMARKS-NEXT: Function: pr482129; REMARKS-NEXT: Args:10; REMARKS-NEXT: - String: Computed dependence info, invoking the transform.11; REMARKS-NEXT: ...12 13; REMARKS: --- !Passed14; REMARKS-NEXT: Pass: loop-interchange15; REMARKS-NEXT: Name: Interchanged16; REMARKS-NEXT: Function: pr4821217 18define void @pr48212(ptr %filter) {19entry:20 br label %L121 22L1: ; preds = %entry23 br label %for.body24 25for.body: ; preds = %L1, %for.inc626 %temp.04 = phi i32 [ undef, %L1 ], [ %temp.1.lcssa, %for.inc6 ]27 %k1.03 = phi i32 [ 0, %L1 ], [ %inc7, %for.inc6 ]28 br label %L229 30L2: ; preds = %for.body31 br label %for.body332 33for.body3: ; preds = %L2, %for.inc34 %temp.12 = phi i32 [ %temp.04, %L2 ], [ %add, %for.inc ]35 %k2.01 = phi i32 [ 0, %L2 ], [ %inc, %for.inc ]36 %idxprom = sext i32 %k2.01 to i6437 %arrayidx = getelementptr inbounds [5 x i32], ptr %filter, i64 %idxprom38 %idxprom4 = sext i32 %k1.03 to i6439 %arrayidx5 = getelementptr inbounds [5 x i32], ptr %arrayidx, i64 0, i64 %idxprom440 %0 = load i32, ptr %arrayidx541 %add = add nsw i32 %temp.12, %042 br label %for.inc43 44for.inc: ; preds = %for.body345 %inc = add nsw i32 %k2.01, 146 %cmp2 = icmp slt i32 %inc, 347 br i1 %cmp2, label %for.body3, label %for.end48 49for.end: ; preds = %for.inc50 %temp.1.lcssa = phi i32 [ %add, %for.inc ]51 br label %for.inc652 53for.inc6: ; preds = %for.end54 %inc7 = add nsw i32 %k1.03, 155 %cmp = icmp slt i32 %inc7, 556 br i1 %cmp, label %for.body, label %for.end857 58for.end8: ; preds = %for.inc659 ret void60}61 62 63