brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · de340ef Raw
40 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<delicm>' -polly-print-delicm -polly-import-jscop-postfix=transformed -disable-output < %s | FileCheck %s2; RUN: opt %loadNPMPolly '-passes=polly-custom<import-jscop>' -polly-import-jscop-postfix=transformed -disable-output -pass-remarks-missed=polly-delicm < %s 2>&1 | FileCheck %s -check-prefix=REMARKS3;4; ForwardOptree changes the SCoP and may already map some accesses.5; DeLICM must be prepared to encounter implicit reads6; (isOriginalScalarKind()) that occur at the beginning of the SCoP7; to an array (isLatestArrayKind()). Otherwise it may confuse the8; MemoryAccess execution order.9 10target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"11 12define void @confused_order(ptr nocapture %C, i32 %rows, i32 %cols) {13entry:14  %0 = sext i32 %cols to i6415  %1 = sext i32 %rows to i6416  %cmp108 = icmp slt i64 0, %017  br i1 undef, label %for.body7.lr.ph, label %for.end10318 19for.body7.lr.ph:20  br label %for.end10321 22for.end103:23  %a_dot_b_domain.0.lcssa = phi double [ 0.000000e+00, %entry ], [ undef, %for.body7.lr.ph ]24  store double %a_dot_b_domain.0.lcssa, ptr %C25  %cmp109 = icmp slt i64 0, %126  %or.cond = and i1 %cmp108, %cmp10927  br i1 %or.cond, label %if.then110, label %for.inc11628 29if.then110:30  store double %a_dot_b_domain.0.lcssa, ptr %C31  br label %for.inc11632 33for.inc116:34  ret void35}36 37 38; REMARKS-NOT: load after store of same element in same statement39; CHECK: No modification has been made40