diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-21 21:43:02 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-21 21:43:02 +0000 |
commit | fb0f53f9c1693c5bec4229738c785141d8f4db1a (patch) | |
tree | ee3039ba5f9088f5c12d4bb116f4e1a46799d602 | |
parent | 0442fbfadbeea21eee9df88dc466d95e040dde6b (diff) |
Speed up folding operations into loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19733 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelPattern.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index 0b64354954..ae58afbf31 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<SDNode*> &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. |