diff options
author | Sanjay Patel <spatel@rotateright.com> | 2019-06-04 15:15:59 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2019-06-04 15:15:59 +0000 |
commit | 1e63dd0b44998721fefae9f690882af927ca3c2a (patch) | |
tree | 17b2765360fbfa694ac2fd77fac88323cd572232 /llvm/lib/CodeGen | |
parent | 880d21d3cbfd143f11c2bd2f5a5d6b46bfcb1a70 (diff) | |
download | bcm5719-llvm-1e63dd0b44998721fefae9f690882af927ca3c2a.tar.gz bcm5719-llvm-1e63dd0b44998721fefae9f690882af927ca3c2a.zip |
[SelectionDAG][x86] limit post-legalization store merging by type
The proposal in D62498 showed that x86 would benefit from vector
store splitting, but that may conflict with the generic DAG
combiner's store merging transforms.
Add memory type to the existing TLI hook that enables the merging
transforms, so we can limit those changes to scalars only for x86.
llvm-svn: 362507
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 1d1699ce589..33ef68c2f1f 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -16085,7 +16085,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) { // Always perform this optimization before types are legal. If the target // prefers, also try this after legalization to catch stores that were created // by intrinsics or other nodes. - if (!LegalTypes || (TLI.mergeStoresAfterLegalization())) { + if (!LegalTypes || (TLI.mergeStoresAfterLegalization(ST->getMemoryVT()))) { while (true) { // There can be multiple store sequences on the same chain. // Keep trying to merge store sequences until we are unable to do so |