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