Do not give token factor nodes outrageous weights

llvm-svn: 19645
diff --git a/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp
index b7c9cfe..a75854e 100644
--- a/llvm/lib/Target/X86/X86ISelPattern.cpp
+++ b/llvm/lib/Target/X86/X86ISelPattern.cpp
@@ -453,8 +453,11 @@
         ++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";