When the source has a series of assignments, users reasonably want to

have the debugger step through each one individually. Turn off the
combine for adjacent stores at -O0 so we get this behavior.

Possibly, DAGCombine shouldn't run at all at -O0, but that's for
another day; see PR22346.

Differential Revision: http://reviews.llvm.org/D7181


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230659 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Paul Robinson
2015-02-26 18:47:57 +00:00
parent 69d2539554
commit b2f521b647
2 changed files with 116 additions and 0 deletions

View File

@@ -10055,6 +10055,9 @@ bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
}
bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) {
if (OptLevel == CodeGenOpt::None)
return false;
EVT MemVT = St->getMemoryVT();
int64_t ElementSizeBytes = MemVT.getSizeInBits()/8;
bool NoVectors = DAG.getMachineFunction().getFunction()->hasFnAttribute(