diff options
author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2014-10-07 14:37:59 +0000 |
---|---|---|
committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2014-10-07 14:37:59 +0000 |
commit | 219b20e1a3d5438c4ba8a0ef22900d3587d0fc19 (patch) | |
tree | 4a0adaa781ab1f074d2bca385e9c3943b13dd050 /llvm/lib/Object/Object.cpp | |
parent | 3cb6372762cfeca59bae715bf1067ae7e3d9d997 (diff) | |
download | llvm-219b20e1a3d5438c4ba8a0ef22900d3587d0fc19.zip llvm-219b20e1a3d5438c4ba8a0ef22900d3587d0fc19.tar.gz llvm-219b20e1a3d5438c4ba8a0ef22900d3587d0fc19.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions