diff options
author | Sanjay Patel <spatel@rotateright.com> | 2017-03-01 22:51:31 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2017-03-01 22:51:31 +0000 |
commit | 92938657a0c8859d9ca8687da5f489a9d1a7112d (patch) | |
tree | 4cf411f2815ccd7f559488c89521125fb8959c57 /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | |
parent | d80b69fa3bbb8571285775798b78c8babd547823 (diff) | |
download | llvm-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