[LLVMbugs] [Bug 19651] New: Vectorizer generates useless vector.memcheck block
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sun May 4 04:45:16 PDT 2014
http://llvm.org/bugs/show_bug.cgi?id=19651
Bug ID: 19651
Summary: Vectorizer generates useless vector.memcheck block
Product: libraries
Version: trunk
Hardware: PC
OS: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: Loop Optimizer
Assignee: unassignedbugs at nondot.org
Reporter: nicola.gigante at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 12474
--> http://llvm.org/bugs/attachment.cgi?id=12474&action=edit
Test source code
In the attached code, TBAA correctly recognize the pointers being of different
type, but the vectorizer emits anyway the vector.memcheck block to check if the
buffers overlap.
This happens even in the second part of the attached source code, where the
inputs are not pointers but std::array objects of different element types. The
input arrays are passed by value but the vectorizer still checks for
overlapping buffers.
In a pure compliant C++ context (so no 'restrict' keyword) it seems impossible
to tell the optimizer that I know my arrays won't overlap...
--
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/20140504/1d74d11d/attachment.html>
More information about the llvm-bugs
mailing list