[llvm] r303994 - [DAG] Move legal type checks in store merge to be checked only
Nirav Dave via llvm-commits
llvm-commits at lists.llvm.org
Fri May 26 07:37:28 PDT 2017
Author: niravd
Date: Fri May 26 09:37:27 2017
New Revision: 303994
URL: http://llvm.org/viewvc/llvm-project?rev=303994&view=rev
Log:
[DAG] Move legal type checks in store merge to be checked only
on non-legal cases. NFC.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=303994&r1=303993&r2=303994&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Fri May 26 09:37:27 2017
@@ -12623,7 +12623,8 @@ bool DAGCombiner::MergeConsecutiveStores
IsFast) {
LastLegalType = i + 1;
// Or check whether a truncstore is legal.
- } else if (TLI.getTypeAction(Context, StoreTy) ==
+ } else if (!LegalTypes &&
+ TLI.getTypeAction(Context, StoreTy) ==
TargetLowering::TypePromoteInteger) {
EVT LegalizedStoredValueTy =
TLI.getTypeToTransformTo(Context, StoredVal.getValueType());
@@ -12838,7 +12839,8 @@ bool DAGCombiner::MergeConsecutiveStores
else if (TLI.getTypeAction(Context, StoreTy) ==
TargetLowering::TypePromoteInteger) {
EVT LegalizedStoredValueTy = TLI.getTypeToTransformTo(Context, StoreTy);
- if (TLI.isTruncStoreLegal(LegalizedStoredValueTy, StoreTy) &&
+ if (!LegalTypes &&
+ TLI.isTruncStoreLegal(LegalizedStoredValueTy, StoreTy) &&
TLI.canMergeStoresTo(FirstStoreAS, LegalizedStoredValueTy) &&
TLI.isLoadExtLegal(ISD::ZEXTLOAD, LegalizedStoredValueTy,
StoreTy) &&
More information about the llvm-commits
mailing list