Remove copyRegToReg from TargetInstrInfo so it is not longer accesible.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 11 Jul 2010 05:17:06 +0000 (05:17 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sun, 11 Jul 2010 05:17:06 +0000 (05:17 +0000)
Use a COPY instruction instead for register copies, or TII::copyPhysReg() after
COPY instructions are lowered.

Targets should implement copyPhysReg instead of copyRegToReg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108075 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetInstrInfo.h

index b505d16b5764cfc5f29d28911de2901a2142b054..6a4573b4fde0fbe69903ad1953154626152d1220 100644 (file)
@@ -353,19 +353,6 @@ public:
     return false;
   }
   
-  /// copyRegToReg - Emit instructions to copy between a pair of registers. It
-  /// returns false if the target does not how to copy between the specified
-  /// registers.
-  virtual bool copyRegToReg(MachineBasicBlock &MBB,
-                            MachineBasicBlock::iterator MI,
-                            unsigned DestReg, unsigned SrcReg,
-                            const TargetRegisterClass *DestRC,
-                            const TargetRegisterClass *SrcRC,
-                            DebugLoc DL) const {
-    assert(0 && "Target didn't implement TargetInstrInfo::copyRegToReg!");
-    return false;
-  }
-
   /// copyPhysReg - Emit instructions to copy a pair of physical registers.
   virtual void copyPhysReg(MachineBasicBlock &MBB,
                            MachineBasicBlock::iterator MI, DebugLoc DL,
@@ -665,6 +652,18 @@ public:
                            MachineBasicBlock::iterator MI, DebugLoc DL,
                            unsigned DestReg, unsigned SrcReg,
                            bool KillSrc) const;
+  /// copyRegToReg - Legacy hook going away soon. Targets should implement
+  /// copyPhysReg instead.
+  virtual bool copyRegToReg(MachineBasicBlock &MBB,
+                            MachineBasicBlock::iterator MI,
+                            unsigned DestReg, unsigned SrcReg,
+                            const TargetRegisterClass *DestRC,
+                            const TargetRegisterClass *SrcRC,
+                            DebugLoc DL) const {
+    assert(0 && "Target didn't implement TargetInstrInfo::copyPhysReg!");
+    return false;
+  }
+
 };
 
 } // End llvm namespace