ARM MachO: sort out isTargetDarwin/isTargetIOS/... checks.
authorTim Northover <tnorthover@apple.com>
Mon, 6 Jan 2014 14:28:05 +0000 (14:28 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 6 Jan 2014 14:28:05 +0000 (14:28 +0000)
commitd6a729bb8542b5ad90b93e9f6653410329ed9fdf
treed0d19668a0ff4864402f33d7d6c025031d611bec
parent9523aa41fbf7e9dec8df66211a396d5dbe9b2199
ARM MachO: sort out isTargetDarwin/isTargetIOS/... checks.

The ARM backend has been using most of the MachO related subtarget
checks almost interchangeably, and since the only target it's had to
run on has been IOS (which is all three of MachO, Darwin and IOS) it's
worked out OK so far.

But we'd like to support embedded targets under the "*-*-none-macho"
triple, which means everything starts falling apart and inconsistent
behaviours emerge.

This patch should pick a reasonably sensible set of behaviours for the
new triple (and any others that come along, with luck). Some choices
were debatable (notably FP == r7 or r11), but we can revisit those
later when deficiencies become apparent.

llvm-svn: 198617
27 files changed:
llvm/lib/Target/ARM/ARMAsmPrinter.cpp
llvm/lib/Target/ARM/ARMAsmPrinter.h
llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
llvm/lib/Target/ARM/ARMFastISel.cpp
llvm/lib/Target/ARM/ARMFrameLowering.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/ARMInstrThumb.td
llvm/lib/Target/ARM/ARMInstrThumb2.td
llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
llvm/lib/Target/ARM/ARMSubtarget.cpp
llvm/lib/Target/ARM/ARMSubtarget.h
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
llvm/test/CodeGen/ARM/cse-ldrlit.ll
llvm/test/CodeGen/ARM/fast-isel-crash2.ll
llvm/test/CodeGen/ARM/fast-isel-frameaddr.ll
llvm/test/CodeGen/ARM/fold-stack-adjust.ll
llvm/test/CodeGen/ARM/interrupt-attr.ll
llvm/test/CodeGen/ARM/ldm.ll
llvm/test/CodeGen/ARM/memfunc.ll
llvm/test/CodeGen/ARM/none-macho.ll [new file with mode: 0644]