diff options
author | Sanjay Patel <spatel@rotateright.com> | 2021-03-02 08:49:22 -0500 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2021-03-02 09:25:10 -0500 |
commit | 7fce3322a28303b864d912d8ac198f49e61f9f52 (patch) | |
tree | 3e1cd3670be306014eb63578c1973e4e79a2613a /llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp | |
parent | 4096ae06f47af9db2c2550a2c34979edfbd91b8d (diff) | |
download | llvm-7fce3322a28303b864d912d8ac198f49e61f9f52.zip llvm-7fce3322a28303b864d912d8ac198f49e61f9f52.tar.gz llvm-7fce3322a28303b864d912d8ac198f49e61f9f52.tar.bz2 |
[SDAG] allow vector types for select->logic folds
This prepares codegen for a change that will remove the identical
folds from IR because they are not poison-safe. See
D93065 / D97360
for details.
We already generically support scalar types, and there are various
target-specific transforms that overlap the vector folds. For example,
x86 recognizes the and patterns, but not or. We can end up with 1
extra instruction there, but I think that is still preferred over the
blendv alternative that loads a constant vector.
If this is not optimal, then it should be fixed with a later transform
(this change is not expected to result in any regressions because
InstCombine currently does the same thing).
Removing custom code and supporting undefs in constant-pattern-matching
can be follow-up changes.
Differential Revision: https://reviews.llvm.org/D97730
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp')
0 files changed, 0 insertions, 0 deletions