diff options
| author | Craig Topper <craig.topper@gmail.com> | 2017-01-24 02:36:59 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2017-01-24 02:36:59 +0000 |
| commit | ff272ad4f36b9794ca79ebcad01df91544d5a67b (patch) | |
| tree | 42c42412e21a5ed6aaf3bf144036e635ca601620 /llvm/lib/CodeGen/StackSlotColoring.cpp | |
| parent | b889744e5bb7d307872d33dfb3e22cd8416a3a2a (diff) | |
| download | bcm5719-llvm-ff272ad4f36b9794ca79ebcad01df91544d5a67b.tar.gz bcm5719-llvm-ff272ad4f36b9794ca79ebcad01df91544d5a67b.zip | |
[SelectionDAG] Teach getNode to simplify a couple easy cases of EXTRACT_SUBVECTOR
Summary:
This teaches getNode to simplify extracting from Undef. This is similar to what is done for EXTRACT_VECTOR_ELT. It also adds support for extracting from CONCAT_VECTOR when we can reuse one of the inputs to the concat. These seem like simple non-target specific optimizations.
For X86 we currently handle undef in extractSubvector, but not all EXTRACT_SUBVECTOR creations go through there.
Ultimately, my motivation here is to simplify extractSubvector and remove custom lowering for EXTRACT_SUBVECTOR since we don't do anything but handle undef and BUILD_VECTOR optimizations, but those should be DAG combines.
Reviewers: RKSimon, delena
Reviewed By: RKSimon
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D29000
llvm-svn: 292876
Diffstat (limited to 'llvm/lib/CodeGen/StackSlotColoring.cpp')
0 files changed, 0 insertions, 0 deletions

