OSDN Git Service

[SelectionDAG] Remove redundant stores more aggressively.
authorEli Friedman <efriedma@codeaurora.org>
Fri, 17 Mar 2017 22:15:50 +0000 (22:15 +0000)
committerEli Friedman <efriedma@codeaurora.org>
Fri, 17 Mar 2017 22:15:50 +0000 (22:15 +0000)
commit87552d6290872a325d51f6137a6121d145ff5ec3
tree47920b4d2dce67837080e2ac62ca8f074d81bea4
parentdcae6caf46a63657f23a807251c50647207ddb2c
[SelectionDAG] Remove redundant stores more aggressively.

Handle TokenFactors more aggressively in
SDValue::reachesChainWithoutSideEffects.  This isn't really a
very effective change anymore because of other changes to
chain handling, but it's a cheap check, and the expanded
comments are still useful.

It might be possible to loosen the hasOneUse() requirement with a
deeper analysis, but a naive implementation of that check would be
expensive.

Differential Revision: https://reviews.llvm.org/D29845

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298156 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
test/CodeGen/ARM/illegal-bitfield-loadstore.ll