mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Replace string GNU Triples with llvm::Triple in MCAsmInfo subclasses and create*AsmInfo(). NFC.
Summary: This is the first of several patches to eliminate StringRef forms of GNU triples from the internals of LLVM. After this is complete, GNU triples will be replaced by a more authoratitive representation in the form of an LLVM TargetTuple. Reviewers: rengolin Reviewed By: rengolin Subscribers: ted, llvm-commits, rengolin, jholewinski Differential Revision: http://reviews.llvm.org/D10236 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239036 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		@@ -91,7 +91,7 @@ public:
 | 
			
		||||
  typedef bool (*ArchMatchFnTy)(Triple::ArchType Arch);
 | 
			
		||||
 | 
			
		||||
  typedef MCAsmInfo *(*MCAsmInfoCtorFnTy)(const MCRegisterInfo &MRI,
 | 
			
		||||
                                          StringRef TT);
 | 
			
		||||
                                          const Triple &TT);
 | 
			
		||||
  typedef MCCodeGenInfo *(*MCCodeGenInfoCtorFnTy)(StringRef TT, Reloc::Model RM,
 | 
			
		||||
                                                  CodeModel::Model CM,
 | 
			
		||||
                                                  CodeGenOpt::Level OL);
 | 
			
		||||
@@ -287,15 +287,15 @@ public:
 | 
			
		||||
  /// createMCAsmInfo - Create a MCAsmInfo implementation for the specified
 | 
			
		||||
  /// target triple.
 | 
			
		||||
  ///
 | 
			
		||||
  /// \param Triple This argument is used to determine the target machine
 | 
			
		||||
  /// \param TheTriple This argument is used to determine the target machine
 | 
			
		||||
  /// feature set; it should always be provided. Generally this should be
 | 
			
		||||
  /// either the target triple from the module, or the target triple of the
 | 
			
		||||
  /// host if that does not exist.
 | 
			
		||||
  MCAsmInfo *createMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                             StringRef Triple) const {
 | 
			
		||||
                             StringRef TheTriple) const {
 | 
			
		||||
    if (!MCAsmInfoCtorFn)
 | 
			
		||||
      return nullptr;
 | 
			
		||||
    return MCAsmInfoCtorFn(MRI, Triple);
 | 
			
		||||
    return MCAsmInfoCtorFn(MRI, Triple(TheTriple));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /// createMCCodeGenInfo - Create a MCCodeGenInfo implementation.
 | 
			
		||||
@@ -889,7 +889,8 @@ template <class MCAsmInfoImpl> struct RegisterMCAsmInfo {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
  static MCAsmInfo *Allocator(const MCRegisterInfo & /*MRI*/, StringRef TT) {
 | 
			
		||||
  static MCAsmInfo *Allocator(const MCRegisterInfo & /*MRI*/,
 | 
			
		||||
                              const Triple &TT) {
 | 
			
		||||
    return new MCAsmInfoImpl(TT);
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -69,8 +69,7 @@ const MCExpr *AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(
 | 
			
		||||
  return MCBinaryExpr::createSub(Res, PC, Context);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(StringRef TT) {
 | 
			
		||||
  Triple T(TT);
 | 
			
		||||
AArch64MCAsmInfoELF::AArch64MCAsmInfoELF(const Triple &T) {
 | 
			
		||||
  if (T.getArch() == Triple::aarch64_be)
 | 
			
		||||
    IsLittleEndian = false;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,9 +18,10 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
class Target;
 | 
			
		||||
class StringRef;
 | 
			
		||||
class MCStreamer;
 | 
			
		||||
class Target;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
struct AArch64MCAsmInfoDarwin : public MCAsmInfoDarwin {
 | 
			
		||||
  explicit AArch64MCAsmInfoDarwin();
 | 
			
		||||
  const MCExpr *
 | 
			
		||||
@@ -29,7 +30,7 @@ struct AArch64MCAsmInfoDarwin : public MCAsmInfoDarwin {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct AArch64MCAsmInfoELF : public MCAsmInfoELF {
 | 
			
		||||
  explicit AArch64MCAsmInfoELF(StringRef TT);
 | 
			
		||||
  explicit AArch64MCAsmInfoELF(const Triple &T);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 
 | 
			
		||||
@@ -58,15 +58,13 @@ static MCRegisterInfo *createAArch64MCRegisterInfo(StringRef Triple) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createAArch64MCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                         StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
 | 
			
		||||
                                         const Triple &TheTriple) {
 | 
			
		||||
  MCAsmInfo *MAI;
 | 
			
		||||
  if (TheTriple.isOSDarwin())
 | 
			
		||||
    MAI = new AArch64MCAsmInfoDarwin();
 | 
			
		||||
  else {
 | 
			
		||||
    assert(TheTriple.isOSBinFormatELF() && "Only expect Darwin or ELF");
 | 
			
		||||
    MAI = new AArch64MCAsmInfoELF(TT);
 | 
			
		||||
    MAI = new AArch64MCAsmInfoELF(TheTriple);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Initial state of the frame pointer is SP.
 | 
			
		||||
 
 | 
			
		||||
@@ -19,8 +19,7 @@ using namespace llvm;
 | 
			
		||||
 | 
			
		||||
void ARMMCAsmInfoDarwin::anchor() { }
 | 
			
		||||
 | 
			
		||||
ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(const Triple &TheTriple) {
 | 
			
		||||
  if ((TheTriple.getArch() == Triple::armeb) ||
 | 
			
		||||
      (TheTriple.getArch() == Triple::thumbeb))
 | 
			
		||||
    IsLittleEndian = false;
 | 
			
		||||
@@ -41,8 +40,7 @@ ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin(StringRef TT) {
 | 
			
		||||
 | 
			
		||||
void ARMELFMCAsmInfo::anchor() { }
 | 
			
		||||
 | 
			
		||||
ARMELFMCAsmInfo::ARMELFMCAsmInfo(StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
ARMELFMCAsmInfo::ARMELFMCAsmInfo(const Triple &TheTriple) {
 | 
			
		||||
  if ((TheTriple.getArch() == Triple::armeb) ||
 | 
			
		||||
      (TheTriple.getArch() == Triple::thumbeb))
 | 
			
		||||
    IsLittleEndian = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -19,18 +19,19 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
  class Triple;
 | 
			
		||||
 | 
			
		||||
  class ARMMCAsmInfoDarwin : public MCAsmInfoDarwin {
 | 
			
		||||
    virtual void anchor();
 | 
			
		||||
 | 
			
		||||
  public:
 | 
			
		||||
    explicit ARMMCAsmInfoDarwin(StringRef TT);
 | 
			
		||||
    explicit ARMMCAsmInfoDarwin(const Triple &TheTriple);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  class ARMELFMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
    void anchor() override;
 | 
			
		||||
  public:
 | 
			
		||||
    explicit ARMELFMCAsmInfo(StringRef TT);
 | 
			
		||||
    explicit ARMELFMCAsmInfo(const Triple &TT);
 | 
			
		||||
 | 
			
		||||
    void setUseIntegratedAssembler(bool Value) override;
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -277,18 +277,17 @@ static MCRegisterInfo *createARMMCRegisterInfo(StringRef Triple) {
 | 
			
		||||
  return X;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createARMMCAsmInfo(const MCRegisterInfo &MRI, StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createARMMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                     const Triple &TheTriple) {
 | 
			
		||||
  MCAsmInfo *MAI;
 | 
			
		||||
  if (TheTriple.isOSDarwin() || TheTriple.isOSBinFormatMachO())
 | 
			
		||||
    MAI = new ARMMCAsmInfoDarwin(TT);
 | 
			
		||||
    MAI = new ARMMCAsmInfoDarwin(TheTriple);
 | 
			
		||||
  else if (TheTriple.isWindowsItaniumEnvironment())
 | 
			
		||||
    MAI = new ARMCOFFMCAsmInfoGNU();
 | 
			
		||||
  else if (TheTriple.isWindowsMSVCEnvironment())
 | 
			
		||||
    MAI = new ARMCOFFMCAsmInfoMicrosoft();
 | 
			
		||||
  else
 | 
			
		||||
    MAI = new ARMELFMCAsmInfo(TT);
 | 
			
		||||
    MAI = new ARMELFMCAsmInfo(TheTriple);
 | 
			
		||||
 | 
			
		||||
  unsigned Reg = MRI.getDwarfRegNum(ARM::SP, true);
 | 
			
		||||
  MAI->addInitialFrameState(MCCFIInstruction::createDefCfa(nullptr, Reg, 0));
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,11 @@
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
class Target;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
class BPFMCAsmInfo : public MCAsmInfo {
 | 
			
		||||
public:
 | 
			
		||||
  explicit BPFMCAsmInfo(StringRef TT) {
 | 
			
		||||
  explicit BPFMCAsmInfo(const Triple &TT) {
 | 
			
		||||
    PrivateGlobalPrefix = ".L";
 | 
			
		||||
    WeakRefDirective = "\t.weak\t";
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ using namespace llvm;
 | 
			
		||||
// Pin the vtable to this file.
 | 
			
		||||
void HexagonMCAsmInfo::anchor() {}
 | 
			
		||||
 | 
			
		||||
HexagonMCAsmInfo::HexagonMCAsmInfo(StringRef TT) {
 | 
			
		||||
HexagonMCAsmInfo::HexagonMCAsmInfo(const Triple &TT) {
 | 
			
		||||
  Data16bitsDirective = "\t.half\t";
 | 
			
		||||
  Data32bitsDirective = "\t.word\t";
 | 
			
		||||
  Data64bitsDirective = nullptr;  // .xword is only supported by V9.
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,12 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
  class Triple;
 | 
			
		||||
 | 
			
		||||
  class HexagonMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
    void anchor() override;
 | 
			
		||||
  public:
 | 
			
		||||
    explicit HexagonMCAsmInfo(StringRef TT);
 | 
			
		||||
    explicit HexagonMCAsmInfo(const Triple &TT);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ createHexagonMCSubtargetInfo(StringRef TT, StringRef CPU, StringRef FS) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createHexagonMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                         StringRef TT) {
 | 
			
		||||
                                         const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new HexagonMCAsmInfo(TT);
 | 
			
		||||
 | 
			
		||||
  // VirtualFP = (R30 + #0).
 | 
			
		||||
 
 | 
			
		||||
@@ -19,5 +19,5 @@
 | 
			
		||||
type = Library
 | 
			
		||||
name = MSP430Desc
 | 
			
		||||
parent = MSP430
 | 
			
		||||
required_libraries = MC MSP430AsmPrinter MSP430Info
 | 
			
		||||
required_libraries = MC MSP430AsmPrinter MSP430Info Support
 | 
			
		||||
add_to_library_groups = MSP430
 | 
			
		||||
 
 | 
			
		||||
@@ -12,12 +12,11 @@
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
 | 
			
		||||
#include "MSP430MCAsmInfo.h"
 | 
			
		||||
#include "llvm/ADT/StringRef.h"
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
void MSP430MCAsmInfo::anchor() { }
 | 
			
		||||
 | 
			
		||||
MSP430MCAsmInfo::MSP430MCAsmInfo(StringRef TT) {
 | 
			
		||||
MSP430MCAsmInfo::MSP430MCAsmInfo(const Triple &TT) {
 | 
			
		||||
  PointerSize = CalleeSaveStackSlotSize = 2;
 | 
			
		||||
 | 
			
		||||
  CommentString = ";";
 | 
			
		||||
 
 | 
			
		||||
@@ -17,12 +17,12 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
  class StringRef;
 | 
			
		||||
  class Triple;
 | 
			
		||||
 | 
			
		||||
  class MSP430MCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
    void anchor() override;
 | 
			
		||||
  public:
 | 
			
		||||
    explicit MSP430MCAsmInfo(StringRef TT);
 | 
			
		||||
    explicit MSP430MCAsmInfo(const Triple &TT);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 
 | 
			
		||||
@@ -18,8 +18,7 @@ using namespace llvm;
 | 
			
		||||
 | 
			
		||||
void MipsMCAsmInfo::anchor() { }
 | 
			
		||||
 | 
			
		||||
MipsMCAsmInfo::MipsMCAsmInfo(StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
MipsMCAsmInfo::MipsMCAsmInfo(const Triple &TheTriple) {
 | 
			
		||||
  if ((TheTriple.getArch() == Triple::mips) ||
 | 
			
		||||
      (TheTriple.getArch() == Triple::mips64))
 | 
			
		||||
    IsLittleEndian = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -17,12 +17,12 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
  class StringRef;
 | 
			
		||||
  class Triple;
 | 
			
		||||
 | 
			
		||||
  class MipsMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
    void anchor() override;
 | 
			
		||||
  public:
 | 
			
		||||
    explicit MipsMCAsmInfo(StringRef TT);
 | 
			
		||||
    explicit MipsMCAsmInfo(const Triple &TheTriple);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 
 | 
			
		||||
@@ -75,7 +75,8 @@ static MCSubtargetInfo *createMipsMCSubtargetInfo(StringRef TT, StringRef CPU,
 | 
			
		||||
  return X;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createMipsMCAsmInfo(const MCRegisterInfo &MRI, StringRef TT) {
 | 
			
		||||
static MCAsmInfo *createMipsMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                      const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new MipsMCAsmInfo(TT);
 | 
			
		||||
 | 
			
		||||
  unsigned SP = MRI.getDwarfRegNum(Mips::SP, true);
 | 
			
		||||
 
 | 
			
		||||
@@ -25,8 +25,7 @@ static cl::opt<bool> CompileForDebugging("debug-compile",
 | 
			
		||||
 | 
			
		||||
void NVPTXMCAsmInfo::anchor() {}
 | 
			
		||||
 | 
			
		||||
NVPTXMCAsmInfo::NVPTXMCAsmInfo(StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
NVPTXMCAsmInfo::NVPTXMCAsmInfo(const Triple &TheTriple) {
 | 
			
		||||
  if (TheTriple.getArch() == Triple::nvptx64) {
 | 
			
		||||
    PointerSize = CalleeSaveStackSlotSize = 8;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -18,12 +18,12 @@
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
class Target;
 | 
			
		||||
class StringRef;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
class NVPTXMCAsmInfo : public MCAsmInfo {
 | 
			
		||||
  virtual void anchor();
 | 
			
		||||
public:
 | 
			
		||||
  explicit NVPTXMCAsmInfo(StringRef TT);
 | 
			
		||||
  explicit NVPTXMCAsmInfo(const Triple &TheTriple);
 | 
			
		||||
};
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -69,8 +69,8 @@ static MCSubtargetInfo *createPPCMCSubtargetInfo(StringRef TT, StringRef CPU,
 | 
			
		||||
  return X;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createPPCMCAsmInfo(const MCRegisterInfo &MRI, StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
static MCAsmInfo *createPPCMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                     const Triple &TheTriple) {
 | 
			
		||||
  bool isPPC64 = (TheTriple.getArch() == Triple::ppc64 ||
 | 
			
		||||
                  TheTriple.getArch() == Triple::ppc64le);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
#include "AMDGPUMCAsmInfo.h"
 | 
			
		||||
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(StringRef &TT) : MCAsmInfoELF() {
 | 
			
		||||
AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(const Triple &TT) : MCAsmInfoELF() {
 | 
			
		||||
  HasSingleParameterDotFile = false;
 | 
			
		||||
  //===------------------------------------------------------------------===//
 | 
			
		||||
  MaxInstLength = 16;
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
namespace llvm {
 | 
			
		||||
 | 
			
		||||
class StringRef;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
// If you need to create another MCAsmInfo class, which inherits from MCAsmInfo,
 | 
			
		||||
// you will need to make sure your new class sets PrivateGlobalPrefix to
 | 
			
		||||
@@ -26,7 +26,7 @@ class StringRef;
 | 
			
		||||
// with 'L' as a local symbol.
 | 
			
		||||
class AMDGPUMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
public:
 | 
			
		||||
  explicit AMDGPUMCAsmInfo(StringRef &TT);
 | 
			
		||||
  explicit AMDGPUMCAsmInfo(const Triple &TT);
 | 
			
		||||
};
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,7 @@ using namespace llvm;
 | 
			
		||||
 | 
			
		||||
void SparcELFMCAsmInfo::anchor() {}
 | 
			
		||||
 | 
			
		||||
SparcELFMCAsmInfo::SparcELFMCAsmInfo(StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Triple &TheTriple) {
 | 
			
		||||
  bool isV9 = (TheTriple.getArch() == Triple::sparcv9);
 | 
			
		||||
  IsLittleEndian = (TheTriple.getArch() == Triple::sparcel);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,12 +17,12 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
class StringRef;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
class SparcELFMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
  void anchor() override;
 | 
			
		||||
public:
 | 
			
		||||
  explicit SparcELFMCAsmInfo(StringRef TT);
 | 
			
		||||
  explicit SparcELFMCAsmInfo(const Triple &TheTriple);
 | 
			
		||||
  const MCExpr*
 | 
			
		||||
  getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding,
 | 
			
		||||
                              MCStreamer &Streamer) const override;
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,7 @@ using namespace llvm;
 | 
			
		||||
#include "SparcGenRegisterInfo.inc"
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createSparcMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                       StringRef TT) {
 | 
			
		||||
                                       const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new SparcELFMCAsmInfo(TT);
 | 
			
		||||
  unsigned Reg = MRI.getDwarfRegNum(SP::O6, true);
 | 
			
		||||
  MCCFIInstruction Inst = MCCFIInstruction::createDefCfa(nullptr, Reg, 0);
 | 
			
		||||
@@ -43,7 +43,7 @@ static MCAsmInfo *createSparcMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createSparcV9MCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                       StringRef TT) {
 | 
			
		||||
                                         const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new SparcELFMCAsmInfo(TT);
 | 
			
		||||
  unsigned Reg = MRI.getDwarfRegNum(SP::O6, true);
 | 
			
		||||
  MCCFIInstruction Inst = MCCFIInstruction::createDefCfa(nullptr, Reg, 2047);
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@
 | 
			
		||||
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
SystemZMCAsmInfo::SystemZMCAsmInfo(StringRef TT) {
 | 
			
		||||
SystemZMCAsmInfo::SystemZMCAsmInfo(const Triple &TT) {
 | 
			
		||||
  PointerSize = 8;
 | 
			
		||||
  CalleeSaveStackSlotSize = 8;
 | 
			
		||||
  IsLittleEndian = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -14,11 +14,11 @@
 | 
			
		||||
#include "llvm/Support/Compiler.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
class StringRef;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
class SystemZMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
public:
 | 
			
		||||
  explicit SystemZMCAsmInfo(StringRef TT);
 | 
			
		||||
  explicit SystemZMCAsmInfo(const Triple &TT);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // end namespace llvm
 | 
			
		||||
 
 | 
			
		||||
@@ -132,7 +132,7 @@ unsigned SystemZMC::getFirstReg(unsigned Reg) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createSystemZMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                         StringRef TT) {
 | 
			
		||||
                                         const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new SystemZMCAsmInfo(TT);
 | 
			
		||||
  MCCFIInstruction Inst =
 | 
			
		||||
      MCCFIInstruction::createDefCfa(nullptr,
 | 
			
		||||
 
 | 
			
		||||
@@ -115,8 +115,8 @@ static MCRegisterInfo *createX86MCRegisterInfo(StringRef TT) {
 | 
			
		||||
  return X;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createX86MCAsmInfo(const MCRegisterInfo &MRI, StringRef TT) {
 | 
			
		||||
  Triple TheTriple(TT);
 | 
			
		||||
static MCAsmInfo *createX86MCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                     const Triple &TheTriple) {
 | 
			
		||||
  bool is64Bit = TheTriple.getArch() == Triple::x86_64;
 | 
			
		||||
 | 
			
		||||
  MCAsmInfo *MAI;
 | 
			
		||||
 
 | 
			
		||||
@@ -8,12 +8,11 @@
 | 
			
		||||
//===----------------------------------------------------------------------===//
 | 
			
		||||
 | 
			
		||||
#include "XCoreMCAsmInfo.h"
 | 
			
		||||
#include "llvm/ADT/StringRef.h"
 | 
			
		||||
using namespace llvm;
 | 
			
		||||
 | 
			
		||||
void XCoreMCAsmInfo::anchor() { }
 | 
			
		||||
 | 
			
		||||
XCoreMCAsmInfo::XCoreMCAsmInfo(StringRef TT) {
 | 
			
		||||
XCoreMCAsmInfo::XCoreMCAsmInfo(const Triple &TT) {
 | 
			
		||||
  SupportsDebugInformation = true;
 | 
			
		||||
  Data16bitsDirective = "\t.short\t";
 | 
			
		||||
  Data32bitsDirective = "\t.long\t";
 | 
			
		||||
 
 | 
			
		||||
@@ -17,14 +17,14 @@
 | 
			
		||||
#include "llvm/MC/MCAsmInfoELF.h"
 | 
			
		||||
 | 
			
		||||
namespace llvm {
 | 
			
		||||
  class StringRef;
 | 
			
		||||
  class Target;
 | 
			
		||||
class Triple;
 | 
			
		||||
 | 
			
		||||
  class XCoreMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
class XCoreMCAsmInfo : public MCAsmInfoELF {
 | 
			
		||||
  void anchor() override;
 | 
			
		||||
  public:
 | 
			
		||||
    explicit XCoreMCAsmInfo(StringRef TT);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
  explicit XCoreMCAsmInfo(const Triple &TT);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
} // namespace llvm
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,7 @@ static MCSubtargetInfo *createXCoreMCSubtargetInfo(StringRef TT, StringRef CPU,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static MCAsmInfo *createXCoreMCAsmInfo(const MCRegisterInfo &MRI,
 | 
			
		||||
                                       StringRef TT) {
 | 
			
		||||
                                       const Triple &TT) {
 | 
			
		||||
  MCAsmInfo *MAI = new XCoreMCAsmInfo(TT);
 | 
			
		||||
 | 
			
		||||
  // Initial state of the frame pointer is SP.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user