OSDN Git Service

[InstCombine] canonicalize* LE/GE vector integer comparisons to LT/GT (PR26701, PR26819)
authorSanjay Patel <spatel@rotateright.com>
Fri, 13 May 2016 15:10:46 +0000 (15:10 +0000)
committerSanjay Patel <spatel@rotateright.com>
Fri, 13 May 2016 15:10:46 +0000 (15:10 +0000)
commit81a5b32238fa58949897137ba8e67c90bd017c5d
tree55db75b55c0d3ba9c87634008f6522478572129f
parentdf80f4b7d8223bf098270869ada3ab8e5c99beee
[InstCombine] canonicalize* LE/GE vector integer comparisons to LT/GT (PR26701, PR26819)

*We don't currently handle the  edge case constants (min/max values), so it's not a complete
canonicalization.

To fully solve the motivating bugs, we need to enhance this to recognize a zero vector
too because that's a ConstantAggregateZero which is a ConstantData, not a ConstantVector
or a ConstantDataVector.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269426 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineCompares.cpp
test/Transforms/InstCombine/icmp-vec.ll [new file with mode: 0644]
test/Transforms/LoopVectorize/if-conversion.ll