aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2020-12-17 10:12:51 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2020-12-17 10:25:25 +0000
commitcdb692ee0c6745ea008ee6cc00fe1e65021516bb (patch)
tree2908c8f326b2a51ab446139d923e57c5f6e633b6 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent352cba2441c6c4e00f067c9c68358cc0a6a5fffb (diff)
downloadllvm-cdb692ee0c6745ea008ee6cc00fe1e65021516bb.zip
llvm-cdb692ee0c6745ea008ee6cc00fe1e65021516bb.tar.gz
llvm-cdb692ee0c6745ea008ee6cc00fe1e65021516bb.tar.bz2
[X86] Add X86ISD::SUBV_BROADCAST_LOAD and begin removing X86ISD::SUBV_BROADCAST (PR38969)
Subvector broadcasts are only load instructions, yet X86ISD::SUBV_BROADCAST treats them more generally, requiring a lot of fallback tablegen patterns. This initial patch replaces constant vector lowering inside lowerBuildVectorAsBroadcast with direct X86ISD::SUBV_BROADCAST_LOAD loads which helps us merge a number of equivalent loads/broadcasts. As well as general plumbing/analysis additions for SUBV_BROADCAST_LOAD, I needed to wrap SelectionDAG::makeEquivalentMemoryOrdering so it can handle result chains from non generic LoadSDNode nodes. Later patches will continue to replace X86ISD::SUBV_BROADCAST usage. Differential Revision: https://reviews.llvm.org/D92645
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions