R600/SI: Only create one instruction when spilling/restoring register v3
[oota-llvm.git] / lib / Target / R600 / SIRegisterInfo.h
index 54717c184bc5f2ce1a4bfa857359e50ec7768cc2..36b4fcd32a89d60e5f4b463d77593c70e0ef43c0 100644 (file)
@@ -63,6 +63,12 @@ struct SIRegisterInfo : public AMDGPURegisterInfo {
   /// be returned.
   const TargetRegisterClass *getSubRegClass(const TargetRegisterClass *RC,
                                             unsigned SubIdx) const;
+
+  /// \p Channel This is the register channel (e.g. a value from 0-16), not the
+  ///            SubReg index.
+  /// \returns The sub-register of Reg that is in Channel.
+  unsigned getPhysRegSubReg(unsigned Reg, const TargetRegisterClass *SubRC,
+                            unsigned Channel) const;
 };
 
 } // End namespace llvm