[PATCH] [Polly][Fix] Non i1 typed select condition for weird pw aff functions.

Johannes Doerfert doerfert at cs.uni-saarland.de
Mon Oct 6 10:46:51 PDT 2014


Hi grosser, sebpop, dpeixott, simbuerg,

  In case the pieceweise affine function used to create an isl_ast_expr
  had empty cases (e.g., with contradicting constraints on the
  parameters), it was possible that the condition of the isl_ast_expr
  select was not a comparison but a constant (thus of type i64).

  This patch does two thing:
   1) Handle the case the condition of a select is not a i1 type like C.
   2) Try to simplify the pieceweise affine functions for the min/max
      access when we generate runtime alias checks. That step can often
      remove empty or redundant cases as well as redundant constrains.

  This fixes bug: http://llvm.org/bugs/show_bug.cgi?id=21167

http://reviews.llvm.org/D5627

Files:
  lib/Analysis/ScopInfo.cpp
  lib/CodeGen/IslExprBuilder.cpp
  test/Isl/CodeGen/test-invalid-operands-for-select-2.ll
  test/Isl/CodeGen/test-invalid-operands-for-select.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5627.14463.patch
Type: text/x-patch
Size: 7730 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141006/4ed509ed/attachment.bin>


More information about the llvm-commits mailing list