diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelDAGToDAG.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp index 975e8c5e3c2..5313fc68b91 100644 --- a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -2117,10 +2117,10 @@ static bool isFusableLoadOpStorePattern(StoreSDNode *StoreNode, // this search by visiting the uses and make sure they all have // smaller node id than the load. - bool FoundLoad = false; - SmallVector<SDValue, 4> ChainOps; - SmallVector<const SDNode *, 4> LoopWorklist; - SmallPtrSet<const SDNode *, 16> Visited; + bool FoundLoad = false; + SmallVector<SDValue, 4> ChainOps; + SmallVector<const SDNode *, 4> LoopWorklist; + SmallPtrSet<const SDNode *, 16> Visited; for (unsigned i = 0, e = Chain.getNumOperands(); i != e; ++i) { SDValue Op = Chain.getOperand(i); if (Op == Load.getValue(1)) { @@ -2144,9 +2144,6 @@ static bool isFusableLoadOpStorePattern(StoreSDNode *StoreNode, if (SDNode::hasPredecessorHelper(Load.getNode(), Visited, LoopWorklist, Max, true)) return false; - // Fail conservatively if we ended loop search early. - if (Visited.size() >= Max) - return false; } // Make a new TokenFactor with all the other input chains except |