Fix weirdness handling single element vectors.
[oota-llvm.git] / lib / CodeGen / RegAllocSimple.cpp
index 87ef0031c586a85c24ddfbb4e63cc5cd9754b924..e632e3599ac65b42fb116aed3efb51dfeafc8a0a 100644 (file)
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;
 
-namespace {
-  static Statistic NumStores("ra-simple", "Number of stores added");
-  static Statistic NumLoads ("ra-simple", "Number of loads added");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
 
+namespace {
   static RegisterRegAlloc
     simpleRegAlloc("simple", "  simple register allocator",
                    createSimpleRegisterAllocator);
@@ -198,8 +198,7 @@ void RegAllocSimple::AllocateBasicBlock(MachineBasicBlock &MBB) {
         unsigned physReg = Virt2PhysRegMap[virtualReg];
         if (physReg == 0) {
           if (op.isDef()) {
-            int TiedOp = TM->getInstrInfo()
-              ->findTiedToSrcOperand(MI->getOpcode(), i);
+            int TiedOp = MI->getInstrDescriptor()->findTiedToSrcOperand(i);
             if (TiedOp == -1) {
               physReg = getFreeReg(virtualReg);
             } else {