Do not allow multiple possibly aliasing ptrs in an expression
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>
Fri, 2 Dec 2016 17:49:52 +0000 (17:49 +0000)
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>
Fri, 2 Dec 2016 17:49:52 +0000 (17:49 +0000)
commita94ae1aedefd38f04d3c9bc53980d46b835f5361
tree28a936531916ae517b6ec9bf13f817a9b42e23cb
parent91d1ed5ee6061fd49e36d6c2a20146ec160fed62
Do not allow multiple possibly aliasing ptrs in an expression

  Relational comparisons should not involve multiple potentially
  aliasing pointers. Similarly this should hold for switch conditions
  and the two conditions involved in equality comparisons (separately!).
  This is a heuristic based on the C semantics that does only allow such
  operations when the base pointers do point into the same object.
  Since this makes aliasing likely we will bail out early instead of
  producing a probably failing runtime check.

llvm-svn: 288516
polly/include/polly/ScopDetection.h
polly/lib/Analysis/ScopDetection.cpp