aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-17 22:56:09 +0000
committerChris Lattner <sabre@nondot.org>2005-01-17 22:56:09 +0000
commit90d1be7eefdc98d12ea5ddd13715e2bfc8679351 (patch)
treec1bc2f5e74aa64514163a8620c471d71660587b7
parentd3948116b81b11e82246c11389a9b4ce7e619fbb (diff)
Do not give token factor nodes outrageous weights
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19645 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86ISelPattern.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp
index b7c9cfe9f2..a75854e559 100644
--- a/lib/Target/X86/X86ISelPattern.cpp
+++ b/lib/Target/X86/X86ISelPattern.cpp
@@ -453,8 +453,11 @@ unsigned ISel::ComputeRegPressure(SDOperand O) {
++NumExtraMaxRegUsers;
}
}
-
- Result = MaxRegUse+NumExtraMaxRegUsers;
+
+ if (O.getOpcode() != ISD::TokenFactor)
+ Result = MaxRegUse+NumExtraMaxRegUsers;
+ else
+ Result = std::max(MaxRegUse-1, 1);
}
//std::cerr << " WEIGHT: " << Result << " "; N->dump(); std::cerr << "\n";