aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-03-01 22:51:31 +0000
committerSanjay Patel <spatel@rotateright.com>2017-03-01 22:51:31 +0000
commit92938657a0c8859d9ca8687da5f489a9d1a7112d (patch)
tree4cf411f2815ccd7f559488c89521125fb8959c57 /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
parentd80b69fa3bbb8571285775798b78c8babd547823 (diff)
downloadllvm-92938657a0c8859d9ca8687da5f489a9d1a7112d.zip
llvm-92938657a0c8859d9ca8687da5f489a9d1a7112d.tar.gz
llvm-92938657a0c8859d9ca8687da5f489a9d1a7112d.tar.bz2
[DAGCombiner] fold binops with constant into select-of-constants
This is part of the ongoing attempt to improve select codegen for all targets and select canonicalization in IR (see D24480 for more background). The transform is a subset of what is done in InstCombine's FoldOpIntoSelect(). I first noticed a regression in the x86 avx512-insert-extract.ll tests with a patch that hopes to convert more selects to basic math ops. This appears to be a general missing DAG transform though, so I added tests for all standard binops in rL296621 (PowerPC was chosen semi-randomly; it has scripted FileCheck support, but so do ARM and x86). The poor output for "sel_constants_shl_constant" is tracked with: https://bugs.llvm.org/show_bug.cgi?id=32105 Differential Revision: https://reviews.llvm.org/D30502 llvm-svn: 296699
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions