AArch64: map bare-metal arm64-macho triple to MachO MC layer.

Far better than an assertion about expecting ELF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239647 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tim Northover 2015-06-12 23:37:11 +00:00
parent 21a987d1ac
commit 31b680fa24
3 changed files with 14 additions and 2 deletions

View File

@ -523,7 +523,7 @@ MCAsmBackend *llvm::createAArch64leAsmBackend(const Target &T,
const MCRegisterInfo &MRI,
const Triple &TheTriple,
StringRef CPU) {
if (TheTriple.isOSDarwin())
if (TheTriple.isOSBinFormatMachO())
return new DarwinAArch64AsmBackend(T, MRI);
assert(TheTriple.isOSBinFormatELF() && "Expect either MachO or ELF target");

View File

@ -60,7 +60,7 @@ static MCRegisterInfo *createAArch64MCRegisterInfo(StringRef Triple) {
static MCAsmInfo *createAArch64MCAsmInfo(const MCRegisterInfo &MRI,
const Triple &TheTriple) {
MCAsmInfo *MAI;
if (TheTriple.isOSDarwin())
if (TheTriple.isOSBinFormatMachO())
MAI = new AArch64MCAsmInfoDarwin();
else {
assert(TheTriple.isOSBinFormatELF() && "Only expect Darwin or ELF");

View File

@ -0,0 +1,12 @@
; RUN: llc -mtriple=arm64-macho -o - %s | FileCheck %s
; RUN: llc -mtriple=arm64-macho -filetype=obj -o %t %s
; RUN: llvm-objdump -triple=arm64-macho -d %t | FileCheck --check-prefix=CHECK-OBJ %s
define void @foo() {
; CHECK-LABEL: _foo:
; CHECK: ret
; CHECK-OBJ: 0: c0 03 5f d6 ret
ret void
}