[PATCH] D20289: [InstCombine] check vector elements before trying to transform LE/GE vector icmp (PR27756)
Chandler Carruth via llvm-commits
llvm-commits at lists.llvm.org
Mon May 16 11:04:40 PDT 2016
chandlerc added inline comments.
================
Comment at: lib/Transforms/InstCombine/InstCombineCompares.cpp:3138-3140
@@ +3137,5 @@
+
+ // Check if all elements of the constant can be safely incremented/decremented
+ // without overflowing/underflowing.
+ auto allElementsValid = [](Constant *VecConst, bool IsLT, bool IsSigned) {
+ unsigned NumElts = VecConst->getType()->getVectorNumElements();
----------------
Instead of the bool flags here, I would pass in the predicate value and handle that internally.
With that, I tihnk you can completely eliminate the switch in the calling code as the only other difference is 1 vs. -1.
http://reviews.llvm.org/D20289
More information about the llvm-commits
mailing list