[llvm-bugs] [Bug 27013] New: Delinearization fails and produces invariant access function for variant access
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Mar 21 05:54:00 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=27013
Bug ID: 27013
Summary: Delinearization fails and produces invariant access
function for variant access
Product: Polly
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Other
Assignee: polly-dev at googlegroups.com
Reporter: doerfert at cs.uni-saarland.de
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 16064
--> https://llvm.org/bugs/attachment.cgi?id=16064&action=edit
IR testcase
For the C code:
for (MCUindex = 0; MCUindex < MCUs_across; MCUindex++) {
lastDC = lastblockrow[h_samp_factor - 1][0];
for (bi = 0; bi < h_samp_factor; bi++) {
thisblockrow[bi][0] = lastDC;
}
thisblockrow += h_samp_factor; /* advance to next MCU in row */
lastblockrow += h_samp_factor;
}
in
MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/jccoefct.c
we generate variant multidimensional accesses even though there are none.
This causes us to hoist "lastblockrow[h_samp_factor - 1][0]", thus
mis-compiling the code. The problem seems to be the PHI nodes that change the
pointers for "thisblockrow" and "lastblockrow" break some delinarization
process.
NOTE: You need to allow unsigned comparisons (or change the unsigned comparison
in the code)!
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160321/ee54e07b/attachment.html>
More information about the llvm-bugs
mailing list