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: [email protected]
Reporter: [email protected]
CC: [email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs