diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelPattern.cpp | 7 |
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"; |

