[PATCH] D11977: Use modulo semantic to generate non-integer-overflow assumptions

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 12 04:20:34 PDT 2015


jdoerfert created this revision.
jdoerfert added reviewers: grosser, Meinersbur.
jdoerfert added subscribers: Polly, pollydev, llvm-commits.

This will allow to generate non-wrap assumptions for integer expressions
that are part of the SCoP. We compare the common isl representation of
the exression with one computed with modulo semantic. For all parameter
combinations they are not equal we can have integer overflows.

Notes:
  + We will use all range information for parameters (even full ranges)
    to simplify the assumptions.
  + We will respect the nsw flags when computing the modulo
    representation.

http://reviews.llvm.org/D11977

Files:
  include/polly/ScopInfo.h
  include/polly/Support/SCEVAffinator.h
  lib/Analysis/ScopInfo.cpp
  lib/Support/SCEVAffinator.cpp
  test/DependenceInfo/sequential_loops.ll
  test/Isl/Ast/aliasing_parametric_simple_2.ll
  test/Isl/Ast/simple-run-time-condition.ll
  test/Isl/CodeGen/aliasing_parametric_simple_2.ll
  test/Isl/CodeGen/pointer-type-expressions-2.ll
  test/Isl/CodeGen/pointer-type-expressions.ll
  test/Isl/CodeGen/two-scops-in-row.ll
  test/ScopInfo/assume_gep_bounds.ll
  test/ScopInfo/assume_gep_bounds_2.ll
  test/ScopInfo/loop_carry.ll
  test/ScopInfo/multidim_2d_outer_parametric_offset.ll
  test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
  test/ScopInfo/pointer-type-expressions.ll
  test/ScopInfo/ranged_parameter.ll
  test/ScopInfo/simple_loop_1.ll
  test/ScopInfo/unsigned-condition.ll
  test/ScopInfo/wraping_signed_expr_0.ll
  test/ScopInfo/wraping_signed_expr_1.ll
  test/ScopInfo/wraping_signed_expr_2.ll
  test/ScopInfo/wraping_signed_expr_3.ll
  test/ScopInfo/wraping_signed_expr_4.ll
  test/ScopInfo/wraping_signed_expr_5.ll
  test/ScopInfo/wraping_signed_expr_slow_1.ll
  test/ScopInfo/wraping_signed_expr_slow_2.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11977.31924.patch
Type: text/x-patch
Size: 34431 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150812/6a687abc/attachment.bin>


More information about the llvm-commits mailing list