What should be the last unnecessary <iostream>s in the library.
[oota-llvm.git] / lib / Target / Sparc / FPMover.cpp
index 7073260c4a9eb7af462b24bcd90289bb9ab171ff..b85d2a9da01ef4bc19b033592e9dc74ee025a828 100644 (file)
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/Target/TargetMachine.h"
+#include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Support/Debug.h"
-#include <iostream>
 using namespace llvm;
 
 namespace {
-  Statistic<> NumFpDs("fpmover", "Number of instructions translated");
-  Statistic<> NoopFpDs("fpmover", "Number of noop instructions removed");
+  Statistic NumFpDs("fpmover", "Number of instructions translated");
+  Statistic NoopFpDs("fpmover", "Number of noop instructions removed");
 
   struct FPMover : public MachineFunctionPass {
     /// Target machine description which we query for reg. names, data
@@ -95,22 +95,24 @@ bool FPMover::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
       getDoubleRegPair(DestDReg, EvenDestReg, OddDestReg);
       getDoubleRegPair(SrcDReg, EvenSrcReg, OddSrcReg);
 
+      const TargetInstrInfo *TII = TM.getInstrInfo();
       if (MI->getOpcode() == SP::FpMOVD)
-        MI->setOpcode(SP::FMOVS);
+        MI->setInstrDescriptor(TII->get(SP::FMOVS));
       else if (MI->getOpcode() == SP::FpNEGD)
-        MI->setOpcode(SP::FNEGS);
+        MI->setInstrDescriptor(TII->get(SP::FNEGS));
       else if (MI->getOpcode() == SP::FpABSD)
-        MI->setOpcode(SP::FABSS);
+        MI->setInstrDescriptor(TII->get(SP::FABSS));
       else
         assert(0 && "Unknown opcode!");
         
       MI->getOperand(0).setReg(EvenDestReg);
       MI->getOperand(1).setReg(EvenSrcReg);
-      DEBUG(std::cerr << "FPMover: the modified instr is: " << *MI);
+      DOUT << "FPMover: the modified instr is: " << *MI;
       // Insert copy for the other half of the double.
       if (DestDReg != SrcDReg) {
-        MI = BuildMI(MBB, I, SP::FMOVS, 1, OddDestReg).addReg(OddSrcReg);
-        DEBUG(std::cerr << "FPMover: the inserted instr is: " << *MI);
+        MI = BuildMI(MBB, I, TM.getInstrInfo()->get(SP::FMOVS), OddDestReg)
+          .addReg(OddSrcReg);
+        DOUT << "FPMover: the inserted instr is: " << *MI;
       }
       ++NumFpDs;
     }