Propagate exit conditions as described in the PET paper
authorJohannes Doerfert <doerfert@cs.uni-saarland.de>
Mon, 14 Sep 2015 11:12:52 +0000 (11:12 +0000)
committerJohannes Doerfert <doerfert@cs.uni-saarland.de>
Mon, 14 Sep 2015 11:12:52 +0000 (11:12 +0000)
commitca1e38fa437b1ed032d888f5195b01507e1643fd
treeb1510f2a9e39a0600f73fc1deda4abc06250df80
parentd6a8ca6ec3980f239374f660e9003df6246f41ce
Propagate exit conditions as described in the PET paper

  At some point we build loop trip counts using this method. It was replaced by
  a simpler trick that works only for affine (e.g., not modulo) constraints and
  relies on the removal of unbounded parts. In order to allow modulo constrains
  again we go back to the former, more accurate method.

llvm-svn: 247540
polly/lib/Analysis/ScopInfo.cpp
polly/test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
polly/test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll
polly/test/Isl/CodeGen/phi_loop_carried_float.ll
polly/test/Isl/CodeGen/phi_loop_carried_float_escape.ll
polly/test/Isl/CodeGen/phi_scalar_simple_2.ll
polly/test/ScopInfo/NonAffine/modulo_domain.ll
polly/test/ScopInfo/isl_trip_count_01.ll
polly/test/ScopInfo/loop_affine_bound_1.ll
polly/test/ScopInfo/multiple_exiting_blocks.ll