[InstCombine] Add new rule for MIN(MAX(~A, ~B), ~C) et. al.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 30 Apr 2015 04:56:04 +0000 (04:56 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Thu, 30 Apr 2015 04:56:04 +0000 (04:56 +0000)
commit08e95b47032d100f9d40dbf09fb7c8559d1ca505
tree3e8e7382595f66970b812605f5df7593ae579f4b
parenta8c178f280806d6a0fadb8067e9e433a61e3296b
[InstCombine] Add new rule for MIN(MAX(~A, ~B), ~C) et. al.

Summary:
Optimizing these well are especially interesting for IRCE since it
"clamps" values by generating this sort of pattern through SCEV
expressions.

Depends on D9352.

Reviewers: majnemer

Subscribers: llvm-commits

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

llvm-svn: 236203
llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
llvm/test/Transforms/InstCombine/max-of-nots.ll