Commit c7b127f1 authored by Bill Wendling's avatar Bill Wendling
Browse files

Merging r182112:

------------------------------------------------------------------------
r182112 | tstellar | 2013-05-17 08:23:12 -0700 (Fri, 17 May 2013) | 1 line

R600: Pass MCSubtargetInfo reference to R600CodeEmitter
------------------------------------------------------------------------

llvm-svn: 182416
parent 1e6a22f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
  }
}

+2 −1
Original line number Diff line number Diff line
@@ -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,
+7 −4
Original line number Diff line number Diff line
@@ -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,