llvm-project/polly/lib/CodeGen
Johannes Doerfert 219b20e1a3 [Fix] Non i1 typed select condition for weird pw aff functions.
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/PR21167

Differential Revision: http://reviews.llvm.org/D5627

llvm-svn: 219208
2014-10-07 14:37:59 +00:00
..
BlockGenerators.cpp Align copied load/store instructions as the original. 2014-10-02 16:22:19 +00:00
Cloog.cpp Remove unnecessary struct in return type 2014-05-07 11:23:35 +00:00
CodeGeneration.cpp [Refactor] Generalize parallel code generation 2014-10-03 19:10:13 +00:00
IRBuilder.cpp [Refactor] Rename LoopAnnotator to ScopAnnotator 2014-10-02 15:32:17 +00:00
IslAst.cpp [RTC] Runtime Alias Checks for the ISL backend 2014-09-18 11:17:17 +00:00
IslCodeGeneration.cpp Allow multidimensional accesses in the IslExprBuilder. 2014-10-05 11:33:59 +00:00
IslExprBuilder.cpp [Fix] Non i1 typed select condition for weird pw aff functions. 2014-10-07 14:37:59 +00:00
LoopGenerators.cpp [Fix] Accidently changed the type of a libgomp argument in r219003. 2014-10-03 20:40:24 +00:00
PTXGenerator.cpp Remove use of llvm.codegen intrinsic for GPGPU codegen 2014-06-24 08:11:36 +00:00
RuntimeDebugBuilder.cpp [Refactor] Expose the runtime debug builder 2014-07-24 23:55:19 +00:00
Utils.cpp [Refactor] Cleanup isl code generation 2014-09-10 14:50:23 +00:00