diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2011-07-01 17:57:27 +0000 | 
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2011-07-01 17:57:27 +0000 | 
| commit | 4db3cffe94a5285239cc0056f939c6b74a5ca0b6 (patch) | |
| tree | fc0bf7bcc0d257d16664265891f39562147cc9ae /lib/Target | |
| parent | efeedceb41cc0c5ff7918cad870d5820de84b03d (diff) | |
| download | external_llvm-4db3cffe94a5285239cc0056f939c6b74a5ca0b6.zip external_llvm-4db3cffe94a5285239cc0056f939c6b74a5ca0b6.tar.gz external_llvm-4db3cffe94a5285239cc0056f939c6b74a5ca0b6.tar.bz2  | |
Hide the call to InitMCInstrInfo into tblgen generated ctor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134244 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
27 files changed, 85 insertions, 51 deletions
diff --git a/lib/Target/ARM/ARMBaseInstrInfo.cpp b/lib/Target/ARM/ARMBaseInstrInfo.cpp index 9f56637..32e9372 100644 --- a/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -36,6 +36,7 @@  #include "llvm/ADT/STLExtras.h"  #define GET_INSTRINFO_MC_DESC +#define GET_INSTRINFO_CTOR  #include "ARMGenInstrInfo.inc"  using namespace llvm; @@ -77,8 +78,7 @@ static const ARM_MLxEntry ARM_MLxTable[] = {  };  ARMBaseInstrInfo::ARMBaseInstrInfo(const ARMSubtarget& STI) -  : TargetInstrInfoImpl(ARMInsts, array_lengthof(ARMInsts), -                        ARM::ADJCALLSTACKDOWN, ARM::ADJCALLSTACKUP), +  : ARMGenInstrInfo(ARM::ADJCALLSTACKDOWN, ARM::ADJCALLSTACKUP),      Subtarget(STI) {    for (unsigned i = 0, e = array_lengthof(ARM_MLxTable); i != e; ++i) {      if (!MLxEntryMap.insert(std::make_pair(ARM_MLxTable[i].MLxOpc, i)).second) diff --git a/lib/Target/ARM/ARMBaseInstrInfo.h b/lib/Target/ARM/ARMBaseInstrInfo.h index ab93cde..f95adc4 100644 --- a/lib/Target/ARM/ARMBaseInstrInfo.h +++ b/lib/Target/ARM/ARMBaseInstrInfo.h @@ -20,6 +20,9 @@  #include "llvm/ADT/DenseMap.h"  #include "llvm/ADT/SmallSet.h" +#define GET_INSTRINFO_HEADER +#include "ARMGenInstrInfo.inc" +  namespace llvm {    class ARMSubtarget;    class ARMBaseRegisterInfo; @@ -172,7 +175,7 @@ namespace ARMII {    };  } -class ARMBaseInstrInfo : public TargetInstrInfoImpl { +class ARMBaseInstrInfo : public ARMGenInstrInfo {    const ARMSubtarget &Subtarget;  protected: diff --git a/lib/Target/Alpha/AlphaInstrInfo.cpp b/lib/Target/Alpha/AlphaInstrInfo.cpp index 220f167..c105759 100644 --- a/lib/Target/Alpha/AlphaInstrInfo.cpp +++ b/lib/Target/Alpha/AlphaInstrInfo.cpp @@ -21,13 +21,14 @@  #include "llvm/Support/ErrorHandling.h"  #define GET_INSTRINFO_MC_DESC +#define GET_INSTRINFO_CTOR  #include "AlphaGenInstrInfo.inc"  using namespace llvm;  AlphaInstrInfo::AlphaInstrInfo() -  : TargetInstrInfoImpl(AlphaInsts, array_lengthof(AlphaInsts), -                        Alpha::ADJUSTSTACKDOWN, Alpha::ADJUSTSTACKUP), -    RI(*this) { } +  : AlphaGenInstrInfo(Alpha::ADJUSTSTACKDOWN, Alpha::ADJUSTSTACKUP), +    RI(*this) { +}  unsigned  diff --git a/lib/Target/Alpha/AlphaInstrInfo.h b/lib/Target/Alpha/AlphaInstrInfo.h index ee6077a..337a85c 100644 --- a/lib/Target/Alpha/AlphaInstrInfo.h +++ b/lib/Target/Alpha/AlphaInstrInfo.h @@ -17,9 +17,12 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "AlphaRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "AlphaGenInstrInfo.inc" +  namespace llvm { -class AlphaInstrInfo : public TargetInstrInfoImpl { +class AlphaInstrInfo : public AlphaGenInstrInfo {    const AlphaRegisterInfo RI;  public:    AlphaInstrInfo(); diff --git a/lib/Target/Blackfin/BlackfinInstrInfo.cpp b/lib/Target/Blackfin/BlackfinInstrInfo.cpp index 60da4c4..0515a5f 100644 --- a/lib/Target/Blackfin/BlackfinInstrInfo.cpp +++ b/lib/Target/Blackfin/BlackfinInstrInfo.cpp @@ -20,14 +20,14 @@  #include "llvm/CodeGen/MachineInstrBuilder.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "BlackfinGenInstrInfo.inc"  using namespace llvm;  BlackfinInstrInfo::BlackfinInstrInfo(BlackfinSubtarget &ST) -  : TargetInstrInfoImpl(BlackfinInsts, array_lengthof(BlackfinInsts), -                        BF::ADJCALLSTACKDOWN, BF::ADJCALLSTACKUP), +  : BlackfinGenInstrInfo(BF::ADJCALLSTACKDOWN, BF::ADJCALLSTACKUP),      RI(ST, *this),      Subtarget(ST) {} diff --git a/lib/Target/Blackfin/BlackfinInstrInfo.h b/lib/Target/Blackfin/BlackfinInstrInfo.h index fdc1029..d22ddf0 100644 --- a/lib/Target/Blackfin/BlackfinInstrInfo.h +++ b/lib/Target/Blackfin/BlackfinInstrInfo.h @@ -17,9 +17,12 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "BlackfinRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "BlackfinGenInstrInfo.inc" +  namespace llvm { -  class BlackfinInstrInfo : public TargetInstrInfoImpl { +  class BlackfinInstrInfo : public BlackfinGenInstrInfo {      const BlackfinRegisterInfo RI;      const BlackfinSubtarget& Subtarget;    public: diff --git a/lib/Target/CellSPU/SPUInstrInfo.cpp b/lib/Target/CellSPU/SPUInstrInfo.cpp index 5087b47..93b6d4c 100644 --- a/lib/Target/CellSPU/SPUInstrInfo.cpp +++ b/lib/Target/CellSPU/SPUInstrInfo.cpp @@ -22,6 +22,7 @@  #include "llvm/Support/raw_ostream.h"  #include "llvm/MC/MCContext.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "SPUGenInstrInfo.inc" @@ -53,8 +54,7 @@ namespace {  }  SPUInstrInfo::SPUInstrInfo(SPUTargetMachine &tm) -  : TargetInstrInfoImpl(SPUInsts, sizeof(SPUInsts)/sizeof(SPUInsts[0]), -                        SPU::ADJCALLSTACKDOWN, SPU::ADJCALLSTACKUP), +  : SPUGenInstrInfo(SPU::ADJCALLSTACKDOWN, SPU::ADJCALLSTACKUP),      TM(tm),      RI(*TM.getSubtargetImpl(), *this)  { /* NOP */ } diff --git a/lib/Target/CellSPU/SPUInstrInfo.h b/lib/Target/CellSPU/SPUInstrInfo.h index e5e9148..bc1ba71 100644 --- a/lib/Target/CellSPU/SPUInstrInfo.h +++ b/lib/Target/CellSPU/SPUInstrInfo.h @@ -18,9 +18,12 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "SPURegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "SPUGenInstrInfo.inc" +  namespace llvm {    //! Cell SPU instruction information class -  class SPUInstrInfo : public TargetInstrInfoImpl { +  class SPUInstrInfo : public SPUGenInstrInfo {      SPUTargetMachine &TM;      const SPURegisterInfo RI;    public: diff --git a/lib/Target/MBlaze/MBlazeInstrInfo.cpp b/lib/Target/MBlaze/MBlazeInstrInfo.cpp index a3af5d9..0bd62ac 100644 --- a/lib/Target/MBlaze/MBlazeInstrInfo.cpp +++ b/lib/Target/MBlaze/MBlazeInstrInfo.cpp @@ -21,14 +21,14 @@  #include "llvm/Support/CommandLine.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "MBlazeGenInstrInfo.inc"  using namespace llvm;  MBlazeInstrInfo::MBlazeInstrInfo(MBlazeTargetMachine &tm) -  : TargetInstrInfoImpl(MBlazeInsts, array_lengthof(MBlazeInsts), -                        MBlaze::ADJCALLSTACKDOWN, MBlaze::ADJCALLSTACKUP), +  : MBlazeGenInstrInfo(MBlaze::ADJCALLSTACKDOWN, MBlaze::ADJCALLSTACKUP),      TM(tm), RI(*TM.getSubtargetImpl(), *this) {}  static bool isZeroImm(const MachineOperand &op) { diff --git a/lib/Target/MBlaze/MBlazeInstrInfo.h b/lib/Target/MBlaze/MBlazeInstrInfo.h index b717da8..79f962b 100644 --- a/lib/Target/MBlaze/MBlazeInstrInfo.h +++ b/lib/Target/MBlaze/MBlazeInstrInfo.h @@ -19,6 +19,9 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "MBlazeRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "MBlazeGenInstrInfo.inc" +  namespace llvm {  namespace MBlaze { @@ -219,7 +222,7 @@ namespace MBlazeII {    };  } -class MBlazeInstrInfo : public TargetInstrInfoImpl { +class MBlazeInstrInfo : public MBlazeGenInstrInfo {    MBlazeTargetMachine &TM;    const MBlazeRegisterInfo RI;  public: diff --git a/lib/Target/MSP430/MSP430InstrInfo.cpp b/lib/Target/MSP430/MSP430InstrInfo.cpp index bf201b0..3738a98 100644 --- a/lib/Target/MSP430/MSP430InstrInfo.cpp +++ b/lib/Target/MSP430/MSP430InstrInfo.cpp @@ -22,14 +22,14 @@  #include "llvm/CodeGen/PseudoSourceValue.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "MSP430GenInstrInfo.inc"  using namespace llvm;  MSP430InstrInfo::MSP430InstrInfo(MSP430TargetMachine &tm) -  : TargetInstrInfoImpl(MSP430Insts, array_lengthof(MSP430Insts), -                        MSP430::ADJCALLSTACKDOWN, MSP430::ADJCALLSTACKUP), +  : MSP430GenInstrInfo(MSP430::ADJCALLSTACKDOWN, MSP430::ADJCALLSTACKUP),      RI(tm, *this), TM(tm) {}  void MSP430InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB, diff --git a/lib/Target/MSP430/MSP430InstrInfo.h b/lib/Target/MSP430/MSP430InstrInfo.h index e885cd3..90013f5 100644 --- a/lib/Target/MSP430/MSP430InstrInfo.h +++ b/lib/Target/MSP430/MSP430InstrInfo.h @@ -17,6 +17,9 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "MSP430RegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "MSP430GenInstrInfo.inc" +  namespace llvm {  class MSP430TargetMachine; @@ -37,7 +40,7 @@ namespace MSP430II {    };  } -class MSP430InstrInfo : public TargetInstrInfoImpl { +class MSP430InstrInfo : public MSP430GenInstrInfo {    const MSP430RegisterInfo RI;    MSP430TargetMachine &TM;  public: diff --git a/lib/Target/Mips/MipsInstrInfo.cpp b/lib/Target/Mips/MipsInstrInfo.cpp index deab5e5..7d39be2 100644 --- a/lib/Target/Mips/MipsInstrInfo.cpp +++ b/lib/Target/Mips/MipsInstrInfo.cpp @@ -19,14 +19,14 @@  #include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "MipsGenInstrInfo.inc"  using namespace llvm;  MipsInstrInfo::MipsInstrInfo(MipsTargetMachine &tm) -  : TargetInstrInfoImpl(MipsInsts, array_lengthof(MipsInsts), -                        Mips::ADJCALLSTACKDOWN, Mips::ADJCALLSTACKUP), +  : MipsGenInstrInfo(Mips::ADJCALLSTACKDOWN, Mips::ADJCALLSTACKUP),      TM(tm), RI(*TM.getSubtargetImpl(), *this) {}  static bool isZeroImm(const MachineOperand &op) { diff --git a/lib/Target/Mips/MipsInstrInfo.h b/lib/Target/Mips/MipsInstrInfo.h index b7f8bec..d02fdc1 100644 --- a/lib/Target/Mips/MipsInstrInfo.h +++ b/lib/Target/Mips/MipsInstrInfo.h @@ -19,6 +19,9 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "MipsRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "MipsGenInstrInfo.inc" +  namespace llvm {  namespace Mips { @@ -164,7 +167,7 @@ namespace MipsII {    };  } -class MipsInstrInfo : public TargetInstrInfoImpl { +class MipsInstrInfo : public MipsGenInstrInfo {    MipsTargetMachine &TM;    const MipsRegisterInfo RI;  public: diff --git a/lib/Target/PTX/PTXInstrInfo.cpp b/lib/Target/PTX/PTXInstrInfo.cpp index 1bbd8d5..7f0fa8b 100644 --- a/lib/Target/PTX/PTXInstrInfo.cpp +++ b/lib/Target/PTX/PTXInstrInfo.cpp @@ -21,13 +21,14 @@  #include "llvm/Support/Debug.h"  #include "llvm/Support/raw_ostream.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "PTXGenInstrInfo.inc"  using namespace llvm;  PTXInstrInfo::PTXInstrInfo(PTXTargetMachine &_TM) -  : TargetInstrInfoImpl(PTXInsts, array_lengthof(PTXInsts)), +  : PTXGenInstrInfo(),      RI(_TM, *this), TM(_TM) {}  static const struct map_entry { diff --git a/lib/Target/PTX/PTXInstrInfo.h b/lib/Target/PTX/PTXInstrInfo.h index a2eea25..871f1ac 100644 --- a/lib/Target/PTX/PTXInstrInfo.h +++ b/lib/Target/PTX/PTXInstrInfo.h @@ -17,6 +17,9 @@  #include "PTXRegisterInfo.h"  #include "llvm/Target/TargetInstrInfo.h" +#define GET_INSTRINFO_HEADER +#include "PTXGenInstrInfo.inc" +  namespace llvm {  class PTXTargetMachine; @@ -24,7 +27,7 @@ class MachineSDNode;  class SDValue;  class SelectionDAG; -class PTXInstrInfo : public TargetInstrInfoImpl { +class PTXInstrInfo : public PTXGenInstrInfo {  private:    const PTXRegisterInfo RI;    PTXTargetMachine &TM; diff --git a/lib/Target/PowerPC/PPCInstrInfo.cpp b/lib/Target/PowerPC/PPCInstrInfo.cpp index 1ddc0f0..5b740b9 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.cpp +++ b/lib/Target/PowerPC/PPCInstrInfo.cpp @@ -28,6 +28,7 @@  #include "llvm/Support/raw_ostream.h"  #include "llvm/MC/MCAsmInfo.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "PPCGenInstrInfo.inc" @@ -39,8 +40,7 @@ extern cl::opt<bool> EnablePPC64RS;  // FIXME (64-bit): See PPCRegisterInfo.cpp.  using namespace llvm;  PPCInstrInfo::PPCInstrInfo(PPCTargetMachine &tm) -  : TargetInstrInfoImpl(PPCInsts, array_lengthof(PPCInsts), -                        PPC::ADJCALLSTACKDOWN, PPC::ADJCALLSTACKUP), +  : PPCGenInstrInfo(PPC::ADJCALLSTACKDOWN, PPC::ADJCALLSTACKUP),      TM(tm), RI(*TM.getSubtargetImpl(), *this) {}  /// CreateTargetHazardRecognizer - Return the hazard recognizer to use for diff --git a/lib/Target/PowerPC/PPCInstrInfo.h b/lib/Target/PowerPC/PPCInstrInfo.h index b5249ae..90bacc9 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.h +++ b/lib/Target/PowerPC/PPCInstrInfo.h @@ -18,6 +18,9 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "PPCRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "PPCGenInstrInfo.inc" +  namespace llvm {  /// PPCII - This namespace holds all of the PowerPC target-specific @@ -61,7 +64,7 @@ enum PPC970_Unit {  } // end namespace PPCII -class PPCInstrInfo : public TargetInstrInfoImpl { +class PPCInstrInfo : public PPCGenInstrInfo {    PPCTargetMachine &TM;    const PPCRegisterInfo RI; diff --git a/lib/Target/Sparc/SparcInstrInfo.cpp b/lib/Target/Sparc/SparcInstrInfo.cpp index e555b79..17a41f2 100644 --- a/lib/Target/Sparc/SparcInstrInfo.cpp +++ b/lib/Target/Sparc/SparcInstrInfo.cpp @@ -21,14 +21,14 @@  #include "llvm/Support/ErrorHandling.h"  #include "SparcMachineFunctionInfo.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "SparcGenInstrInfo.inc"  using namespace llvm;  SparcInstrInfo::SparcInstrInfo(SparcSubtarget &ST) -  : TargetInstrInfoImpl(SparcInsts, array_lengthof(SparcInsts), -                        SP::ADJCALLSTACKDOWN, SP::ADJCALLSTACKUP), +  : SparcGenInstrInfo(SP::ADJCALLSTACKDOWN, SP::ADJCALLSTACKUP),      RI(ST, *this), Subtarget(ST) {  } diff --git a/lib/Target/Sparc/SparcInstrInfo.h b/lib/Target/Sparc/SparcInstrInfo.h index b2d24f5..eda64ef 100644 --- a/lib/Target/Sparc/SparcInstrInfo.h +++ b/lib/Target/Sparc/SparcInstrInfo.h @@ -17,6 +17,9 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "SparcRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "SparcGenInstrInfo.inc" +  namespace llvm {  /// SPII - This namespace holds all of the target specific flags that @@ -31,7 +34,7 @@ namespace SPII {    };  } -class SparcInstrInfo : public TargetInstrInfoImpl { +class SparcInstrInfo : public SparcGenInstrInfo {    const SparcRegisterInfo RI;    const SparcSubtarget& Subtarget;  public: diff --git a/lib/Target/SystemZ/SystemZInstrInfo.cpp b/lib/Target/SystemZ/SystemZInstrInfo.cpp index 71ba9f9..fae9a6a 100644 --- a/lib/Target/SystemZ/SystemZInstrInfo.cpp +++ b/lib/Target/SystemZ/SystemZInstrInfo.cpp @@ -23,14 +23,14 @@  #include "llvm/CodeGen/PseudoSourceValue.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "SystemZGenInstrInfo.inc"  using namespace llvm;  SystemZInstrInfo::SystemZInstrInfo(SystemZTargetMachine &tm) -  : TargetInstrInfoImpl(SystemZInsts, array_lengthof(SystemZInsts), -                        SystemZ::ADJCALLSTACKUP, SystemZ::ADJCALLSTACKDOWN), +  : SystemZGenInstrInfo(SystemZ::ADJCALLSTACKUP, SystemZ::ADJCALLSTACKDOWN),      RI(tm, *this), TM(tm) {  } diff --git a/lib/Target/SystemZ/SystemZInstrInfo.h b/lib/Target/SystemZ/SystemZInstrInfo.h index a39c21e..6a31e94 100644 --- a/lib/Target/SystemZ/SystemZInstrInfo.h +++ b/lib/Target/SystemZ/SystemZInstrInfo.h @@ -19,6 +19,9 @@  #include "llvm/ADT/IndexedMap.h"  #include "llvm/Target/TargetInstrInfo.h" +#define GET_INSTRINFO_HEADER +#include "SystemZGenInstrInfo.inc" +  namespace llvm {  class SystemZTargetMachine; @@ -47,7 +50,7 @@ namespace SystemZII {    };  } -class SystemZInstrInfo : public TargetInstrInfoImpl { +class SystemZInstrInfo : public SystemZGenInstrInfo {    const SystemZRegisterInfo RI;    SystemZTargetMachine &TM;  public: diff --git a/lib/Target/TargetInstrInfo.cpp b/lib/Target/TargetInstrInfo.cpp index 2931416..d52ecb3 100644 --- a/lib/Target/TargetInstrInfo.cpp +++ b/lib/Target/TargetInstrInfo.cpp @@ -24,13 +24,6 @@ using namespace llvm;  //  TargetInstrInfo  //===----------------------------------------------------------------------===// -TargetInstrInfo::TargetInstrInfo(const MCInstrDesc* Desc, unsigned numOpcodes, -                                 int CFSetupOpcode, int CFDestroyOpcode) -  : CallFrameSetupOpcode(CFSetupOpcode), -    CallFrameDestroyOpcode(CFDestroyOpcode) { -  InitMCInstrInfo(Desc, numOpcodes); -} -  TargetInstrInfo::~TargetInstrInfo() {  } diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index d44bd35..702331d 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -35,6 +35,7 @@  #include "llvm/MC/MCAsmInfo.h"  #include <limits> +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "X86GenInstrInfo.inc" @@ -54,13 +55,12 @@ ReMatPICStubLoad("remat-pic-stub-load",                   cl::init(false), cl::Hidden);  X86InstrInfo::X86InstrInfo(X86TargetMachine &tm) -  : TargetInstrInfoImpl(X86Insts, array_lengthof(X86Insts), -                        (tm.getSubtarget<X86Subtarget>().is64Bit() -                         ? X86::ADJCALLSTACKDOWN64 -                         : X86::ADJCALLSTACKDOWN32), -                        (tm.getSubtarget<X86Subtarget>().is64Bit() -                         ? X86::ADJCALLSTACKUP64 -                         : X86::ADJCALLSTACKUP32)), +  : X86GenInstrInfo((tm.getSubtarget<X86Subtarget>().is64Bit() +                     ? X86::ADJCALLSTACKDOWN64 +                     : X86::ADJCALLSTACKDOWN32), +                    (tm.getSubtarget<X86Subtarget>().is64Bit() +                     ? X86::ADJCALLSTACKUP64 +                     : X86::ADJCALLSTACKUP32)),      TM(tm), RI(tm, *this) {    enum {      TB_NOT_REVERSABLE = 1U << 31, diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h index d895023..5f2eba3 100644 --- a/lib/Target/X86/X86InstrInfo.h +++ b/lib/Target/X86/X86InstrInfo.h @@ -19,6 +19,9 @@  #include "X86RegisterInfo.h"  #include "llvm/ADT/DenseMap.h" +#define GET_INSTRINFO_HEADER +#include "X86GenInstrInfo.inc" +  namespace llvm {    class X86RegisterInfo;    class X86TargetMachine; @@ -611,7 +614,7 @@ inline static bool isMem(const MachineInstr *MI, unsigned Op) {      isLeaMem(MI, Op);  } -class X86InstrInfo : public TargetInstrInfoImpl { +class X86InstrInfo : public X86GenInstrInfo {    X86TargetMachine &TM;    const X86RegisterInfo RI; diff --git a/lib/Target/XCore/XCoreInstrInfo.cpp b/lib/Target/XCore/XCoreInstrInfo.cpp index cb54520..c39571d 100644 --- a/lib/Target/XCore/XCoreInstrInfo.cpp +++ b/lib/Target/XCore/XCoreInstrInfo.cpp @@ -22,6 +22,7 @@  #include "llvm/Support/Debug.h"  #include "llvm/Support/ErrorHandling.h" +#define GET_INSTRINFO_CTOR  #define GET_INSTRINFO_MC_DESC  #include "XCoreGenInstrInfo.inc" @@ -40,8 +41,7 @@ namespace XCore {  using namespace llvm;  XCoreInstrInfo::XCoreInstrInfo() -  : TargetInstrInfoImpl(XCoreInsts, array_lengthof(XCoreInsts), -                        XCore::ADJCALLSTACKDOWN, XCore::ADJCALLSTACKUP), +  : XCoreGenInstrInfo(XCore::ADJCALLSTACKDOWN, XCore::ADJCALLSTACKUP),      RI(*this) {  } diff --git a/lib/Target/XCore/XCoreInstrInfo.h b/lib/Target/XCore/XCoreInstrInfo.h index 977fe8d..840b1e1 100644 --- a/lib/Target/XCore/XCoreInstrInfo.h +++ b/lib/Target/XCore/XCoreInstrInfo.h @@ -17,9 +17,12 @@  #include "llvm/Target/TargetInstrInfo.h"  #include "XCoreRegisterInfo.h" +#define GET_INSTRINFO_HEADER +#include "XCoreGenInstrInfo.inc" +  namespace llvm { -class XCoreInstrInfo : public TargetInstrInfoImpl { +class XCoreInstrInfo : public XCoreGenInstrInfo {    const XCoreRegisterInfo RI;  public:    XCoreInstrInfo();  | 
