summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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
commitca318edb94524b809d390e9880800a8c4f556354 (patch)
treea385524e3e1c2c25be2efb597674e139d02987f4 /llvm/lib
parent4d9651c76056989afffc8d6b6501211e1bfbb556 (diff)
downloadbcm5719-llvm-ca318edb94524b809d390e9880800a8c4f556354.tar.gz
bcm5719-llvm-ca318edb94524b809d390e9880800a8c4f556354.zip
Do not give token factor nodes outrageous weights
llvm-svn: 19645
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelPattern.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp
index b7c9cfe9f2c..a75854e5592 100644
--- a/llvm/lib/Target/X86/X86ISelPattern.cpp
+++ b/llvm/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";
OpenPOWER on IntegriCloud