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 | e70eb9da7d6d9e85d23bcad6d5a0f8d1ae9c5852 (patch) | |
| tree | 7608d6abcaf54c2843a1bfd386592a6da1dd4a5f /llvm/lib | |
| parent | e85a8d8f926faf58aced3ce8bde19b877fcce899 (diff) | |
| download | bcm5719-llvm-e70eb9da7d6d9e85d23bcad6d5a0f8d1ae9c5852.tar.gz bcm5719-llvm-e70eb9da7d6d9e85d23bcad6d5a0f8d1ae9c5852.zip | |
Speed up folding operations into loads.
llvm-svn: 19733
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelPattern.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp index 0b64354954b..ae58afbf310 100644 --- a/llvm/lib/Target/X86/X86ISelPattern.cpp +++ b/llvm/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. |

