Mips assembler: Improve set register alias handling
[oota-llvm.git] / lib / Target / Mips / MipsSEInstrInfo.h
index f4c29b1676aa8d090b973082c3630c53605569de..e44ff42b706e84e837b320b5b8a9dbd13f497ea0 100644 (file)
@@ -83,9 +83,21 @@ private:
 
   void expandRetRA(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
                    unsigned Opc) const;
+
+  /// Expand pseudo Int-to-FP conversion instructions.
+  ///
+  /// For example, the following pseudo instruction
+  ///  PseudoCVT_D32_W D2, A5
+  /// gets expanded into these two instructions:
+  ///  MTC1 F4, A5
+  ///  CVT_D32_W D2, F4
+  ///
+  /// We do this expansion post-RA to avoid inserting a floating point copy
+  /// instruction between MTC1 and CVT_D32_W.
   void expandCvtFPInt(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
                       unsigned CvtOpc, unsigned MovOpc, bool DstIsLarger,
                       bool SrcIsLarger, bool IsI64) const;
+
   void expandExtractElementF64(MachineBasicBlock &MBB,
                                MachineBasicBlock::iterator I) const;
   void expandBuildPairF64(MachineBasicBlock &MBB,