R600: Pass MCSubtargetInfo reference to R600CodeEmitter
authorTom Stellard <thomas.stellard@amd.com>
Fri, 17 May 2013 15:23:12 +0000 (15:23 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 17 May 2013 15:23:12 +0000 (15:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182112 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.cpp
lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.h
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp

index 6f66aa898a5f903db1b28f44b0b7795e8d63e73b..61d70bb3429257b91ac39584ef0c287244457c22 100644 (file)
@@ -78,7 +78,7 @@ static MCCodeEmitter *createAMDGPUMCCodeEmitter(const MCInstrInfo &MCII,
   if (STI.getFeatureBits() & AMDGPU::Feature64BitPtr) {
     return createSIMCCodeEmitter(MCII, MRI, STI, Ctx);
   } else {
-    return createR600MCCodeEmitter(MCII, MRI);
+    return createR600MCCodeEmitter(MCII, MRI, STI);
   }
 }
 
index 95c572c21bce7fe32986b399ed49a39b2a04f341..abb032045bef448294607d0352214cd03cd9a7b6 100644 (file)
@@ -32,7 +32,8 @@ class raw_ostream;
 extern Target TheAMDGPUTarget;
 
 MCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
-                                       const MCRegisterInfo &MRI);
+                                       const MCRegisterInfo &MRI,
+                                       const MCSubtargetInfo &STI);
 
 MCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
                                      const MCRegisterInfo &MRI,
index 34048444359d4f7c1fa57a8fb3c5c0e8c3a7a48e..c5bd01aaaf001a408cd5257d38feb78e72448be4 100644 (file)
@@ -35,11 +35,13 @@ class R600MCCodeEmitter : public AMDGPUMCCodeEmitter {
   void operator=(const R600MCCodeEmitter &) LLVM_DELETED_FUNCTION;
   const MCInstrInfo &MCII;
   const MCRegisterInfo &MRI;
+  const MCSubtargetInfo &STI;
 
 public:
 
-  R600MCCodeEmitter(const MCInstrInfo &mcii, const MCRegisterInfo &mri)
-    : MCII(mcii), MRI(mri) { }
+  R600MCCodeEmitter(const MCInstrInfo &mcii, const MCRegisterInfo &mri,
+                    const MCSubtargetInfo &sti)
+    : MCII(mcii), MRI(mri), STI(sti) { }
 
   /// \brief Encode the instruction and write it to the OS.
   virtual void EncodeInstruction(const MCInst &MI, raw_ostream &OS,
@@ -95,8 +97,9 @@ enum TextureTypes {
 };
 
 MCCodeEmitter *llvm::createR600MCCodeEmitter(const MCInstrInfo &MCII,
-                                           const MCRegisterInfo &MRI) {
-  return new R600MCCodeEmitter(MCII, MRI);
+                                           const MCRegisterInfo &MRI,
+                                           const MCSubtargetInfo &STI) {
+  return new R600MCCodeEmitter(MCII, MRI, STI);
 }
 
 void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS,