From: Chris Lattner Date: Fri, 21 Jan 2005 21:43:02 +0000 (+0000) Subject: Speed up folding operations into loads. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fb0f53f9c1693c5bec4229738c785141d8f4db1a;p=oota-llvm.git Speed up folding operations into loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19733 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index 0b64354954b..ae58afbf310 100644 --- a/lib/Target/X86/X86ISelPattern.cpp +++ b/lib/Target/X86/X86ISelPattern.cpp @@ -504,7 +504,8 @@ static bool NodeTransitivelyUsesValue(SDOperand N, SDOperand Op, std::set &Visited) { if (N == Op) return true; // Found it. SDNode *Node = N.Val; - if (Node->getNumOperands() == 0) return false; // Leaf? + if (Node->getNumOperands() == 0 || // Leaf? + Node->getNodeDepth() <= Op.getNodeDepth()) return false; // Can't find it? if (!Visited.insert(Node).second) return false; // Already visited? // Recurse for the first N-1 operands.