summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-06-04 17:44:18 +0000
committerCraig Topper <craig.topper@intel.com>2019-06-04 17:44:18 +0000
commit09a4415803cd590ebb68a5141950366b077f13a7 (patch)
tree390cc4a57b56939c33765030b79e1c537f8878a4 /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent0cdaf3a09fea6db0008828264bf84c91a5b6eba1 (diff)
downloadbcm5719-llvm-09a4415803cd590ebb68a5141950366b077f13a7.tar.gz
bcm5719-llvm-09a4415803cd590ebb68a5141950366b077f13a7.zip
[DAGCombiner][X86] Fold (not (neg X)) -> (add X, -1)
This is a special case of a more general transform (not (sub Y, X)) -> (add X, ~Y). InstCombine knows the general form. I've restricted to the special case to fix the motivating case PR42118. I tried handling any case where Y was constant, but got some changes on some Mips tests that I couldn't quickly prove where beneficial. Fixes PR42118 Differential Revision: https://reviews.llvm.org/D62828 llvm-svn: 362533
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud