hanchenye-llvm-project/polly/lib
Michael Kruse 271deb17b0 [CodeGen] Fix noalias annotations for memcpy/memmove.
Memory transfer instructions take two pointers. It is not defined to
which of those a noalias annotation applies. To ensure correctness,
do not add noalias annotations to memcpy/memmove instructions anymore.

The caused a miscompile with test-suite's MultiSource/Applications/obsequi.
Since r321138, the MemCpyOpt pass would remove memcpy/memmove calls if
known to copy uninitialized memory. In that case, it was initialized
by another memcpy, but the annotation for the target pointer said
it would not alias. The annotation was actually meant for the source
pointer, which was was an alloca and could not alias with the target
pointer.

llvm-svn: 321371
2017-12-22 17:44:53 +00:00
..
Analysis [ScopBuilder] Split statements on encountering store instructions. 2017-12-11 12:51:24 +00:00
CodeGen [CodeGen] Fix noalias annotations for memcpy/memmove. 2017-12-22 17:44:53 +00:00
Exchange Port ScopInfo to the isl cpp bindings 2017-11-19 22:13:34 +00:00
External Move include/isl-noexceptions.h to include/isl/isl-noexceptions.h 2017-08-22 22:04:22 +00:00
Support [NFC] Fix formatting 2017-12-06 22:01:08 +00:00
Transform [MaximalStaticExpansion] Simplify this code a bit. NFCI. 2017-11-25 23:01:31 +00:00
CMakeLists.txt [ScopInliner] Add a simple Scop-based inliner to polly. 2017-08-17 21:57:23 +00:00
Polly.cpp Drop '@brief' from doxygen comments 2016-09-02 06:33:33 +00:00