[llvm-bugs] [Bug 31391] New: [LoopIdiomRecognition] Add support for run-time checks for memory disambiguation.
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Dec 15 08:54:56 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=31391
Bug ID: 31391
Summary: [LoopIdiomRecognition] Add support for run-time checks
for memory disambiguation.
Product: libraries
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: mcrosier at codeaurora.org
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Currently, the loop idiom recognition pass is unable convert the below test
case into a memcpy because runtime checks are required to ensure 'a' and 'b'
don't alias:
void test(unsigned N, double *src, double *dst) {
for (int i = 0; i < N; ++i)
dst[i] = src[i];
}
As an aside, once D27677 (https://reviews.llvm.org/D27677) lands the LV will
vectorize this loop when targeting AArch64 by inserting the necessary runtime
checks. Regardless, we should consider having this feature in the LIR pass
because it will catch cases in loop that the LV can't vectorize.
--
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/20161215/c2e1ccfa/attachment.html>
More information about the llvm-bugs
mailing list