diff options
| author | James Molloy <james.molloy@arm.com> | 2014-04-23 10:26:40 +0000 |
|---|---|---|
| committer | James Molloy <james.molloy@arm.com> | 2014-04-23 10:26:40 +0000 |
| commit | 650cb57067c11ea7992866892d04bd9b277de72a (patch) | |
| tree | 47d97295ad020f7abf0ecd2e916c62928bc8696f /llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp | |
| parent | 3a9a023eb6027654429d21114ed0f1481dd4f502 (diff) | |
| download | bcm5719-llvm-650cb57067c11ea7992866892d04bd9b277de72a.tar.gz bcm5719-llvm-650cb57067c11ea7992866892d04bd9b277de72a.zip | |
[ARM64] Add a big endian version of the ARM64 target machine, and update all users.
This completes the porting of r202024 (cpirker "Add AArch64 big endian Target (aarch64_be)") to ARM64.
llvm-svn: 206965
Diffstat (limited to 'llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp index a7ce09bdeaf..30dcda49ff6 100644 --- a/llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp +++ b/llvm/lib/Target/ARM64/MCTargetDesc/ARM64MCTargetDesc.cpp @@ -66,7 +66,7 @@ static MCAsmInfo *createARM64MCAsmInfo(const MCRegisterInfo &MRI, MAI = new ARM64MCAsmInfoDarwin(); else { assert(TheTriple.isOSBinFormatELF() && "Only expect Darwin or ELF"); - MAI = new ARM64MCAsmInfoELF(); + MAI = new ARM64MCAsmInfoELF(TT); } // Initial state of the frame pointer is SP. @@ -139,33 +139,46 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT, // Force static initialization. extern "C" void LLVMInitializeARM64TargetMC() { // Register the MC asm info. - RegisterMCAsmInfoFn X(TheARM64Target, createARM64MCAsmInfo); + RegisterMCAsmInfoFn X(TheARM64leTarget, createARM64MCAsmInfo); + RegisterMCAsmInfoFn Y(TheARM64beTarget, createARM64MCAsmInfo); // Register the MC codegen info. - TargetRegistry::RegisterMCCodeGenInfo(TheARM64Target, + TargetRegistry::RegisterMCCodeGenInfo(TheARM64leTarget, + createARM64MCCodeGenInfo); + TargetRegistry::RegisterMCCodeGenInfo(TheARM64beTarget, createARM64MCCodeGenInfo); // Register the MC instruction info. - TargetRegistry::RegisterMCInstrInfo(TheARM64Target, createARM64MCInstrInfo); + TargetRegistry::RegisterMCInstrInfo(TheARM64leTarget, createARM64MCInstrInfo); + TargetRegistry::RegisterMCInstrInfo(TheARM64beTarget, createARM64MCInstrInfo); // Register the MC register info. - TargetRegistry::RegisterMCRegInfo(TheARM64Target, createARM64MCRegisterInfo); + TargetRegistry::RegisterMCRegInfo(TheARM64leTarget, createARM64MCRegisterInfo); + TargetRegistry::RegisterMCRegInfo(TheARM64beTarget, createARM64MCRegisterInfo); // Register the MC subtarget info. - TargetRegistry::RegisterMCSubtargetInfo(TheARM64Target, + TargetRegistry::RegisterMCSubtargetInfo(TheARM64leTarget, + createARM64MCSubtargetInfo); + TargetRegistry::RegisterMCSubtargetInfo(TheARM64beTarget, createARM64MCSubtargetInfo); // Register the asm backend. - TargetRegistry::RegisterMCAsmBackend(TheARM64Target, createARM64AsmBackend); + TargetRegistry::RegisterMCAsmBackend(TheARM64leTarget, createARM64leAsmBackend); + TargetRegistry::RegisterMCAsmBackend(TheARM64beTarget, createARM64beAsmBackend); // Register the MC Code Emitter - TargetRegistry::RegisterMCCodeEmitter(TheARM64Target, + TargetRegistry::RegisterMCCodeEmitter(TheARM64leTarget, + createARM64MCCodeEmitter); + TargetRegistry::RegisterMCCodeEmitter(TheARM64beTarget, createARM64MCCodeEmitter); // Register the object streamer. - TargetRegistry::RegisterMCObjectStreamer(TheARM64Target, createMCStreamer); + TargetRegistry::RegisterMCObjectStreamer(TheARM64leTarget, createMCStreamer); + TargetRegistry::RegisterMCObjectStreamer(TheARM64beTarget, createMCStreamer); // Register the MCInstPrinter. - TargetRegistry::RegisterMCInstPrinter(TheARM64Target, + TargetRegistry::RegisterMCInstPrinter(TheARM64leTarget, + createARM64MCInstPrinter); + TargetRegistry::RegisterMCInstPrinter(TheARM64beTarget, createARM64MCInstPrinter); } |

