diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 118a2e0..ec2470a 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -59,6 +59,9 @@
   EnableJoining("join-liveintervals",
                 cl::desc("Coallesce copies (default=true)"),
                 cl::init(true));
+  static cl::opt<bool>
+  EnableReweight("enable-majik-f00");
+  
 }
 
 void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const {
@@ -208,14 +211,26 @@
     }
   }
 
+  
   for (iterator I = begin(), E = end(); I != E; ++I) {
-    LiveInterval &li = I->second;
-    if (MRegisterInfo::isVirtualRegister(li.reg)) {
+    LiveInterval &LI = I->second;
+    if (MRegisterInfo::isVirtualRegister(LI.reg)) {
       // If the live interval length is essentially zero, i.e. in every live
       // range the use follows def immediately, it doesn't make sense to spill
       // it and hope it will be easier to allocate for this li.
-      if (isZeroLengthInterval(&li))
-        li.weight = float(HUGE_VAL);
+      if (isZeroLengthInterval(&LI))
+        LI.weight = float(HUGE_VAL);
+      
+      if (EnableReweight) {
+        // Divide the weight of the interval by its size.  This encourages 
+        // spilling of intervals that are large and have few uses, and
+        // discourages spilling of small intervals with many uses.
+        unsigned Size = 0;
+        for (LiveInterval::iterator II = LI.begin(), E = LI.end(); II != E;++II)
+          Size += II->end - II->start;
+      
+        LI.weight /= Size;
+      }
     }
   }
 
