summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ExprConstant.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2019-05-30 20:37:18 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2019-05-30 20:37:18 +0000
commit05ad5fd213cf5ee16c5ce5bb653fb92fe381a442 (patch)
tree28f576332cd8f8d56f3bc7b633dd1ee7d6c3a3ea /clang/lib/AST/ExprConstant.cpp
parent1d9ec7a81b7651d8f02e28cfb328e2a034941a8c (diff)
downloadbcm5719-llvm-05ad5fd213cf5ee16c5ce5bb653fb92fe381a442.tar.gz
bcm5719-llvm-05ad5fd213cf5ee16c5ce5bb653fb92fe381a442.zip
[DAGCombiner][X86][AArch64][SPARC][SystemZ] y - (x + C) -> (y - x) - C fold. Try 3
Summary: Direct sibling of D62223 patch. While i don't have a direct motivational pattern for this, it would seem to make sense to handle both patterns (or none), for symmetry? The aarch64 changes look neutral; sparc and systemz look like improvement (one less instruction each); x86 changes - 32bit case improves, 64bit case shows that LEA no longer gets constructed, which may be because that whole test is `-mattr=+slow-lea,+slow-3ops-lea` https://rise4fun.com/Alive/ffh This is a recommit, originally committed in rL361852, but reverted to investigate test-suite compile-time hangs, and then reverted in rL362109 to fix missing constant folds that were causing endless combine loops. Reviewers: RKSimon, craig.topper, spatel, t.p.northover Reviewed By: t.p.northover Subscribers: t.p.northover, jyknight, javed.absar, kristof.beyls, fedor.sergeev, jrtc27, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62252 llvm-svn: 362143
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud