[PATCH] ARM: sort out MachO target checks

Tim Northover t.p.northover at gmail.com
Thu Dec 12 04:27:15 PST 2013


Hi,

This patch is designed so that LLVM can accept the "arm-none-macho" triple and do something sensible with it. As a result, the bulk is sorting out the ARM backend's weird and inconsistent use of the isTargetIOS, isTargetDarwin, isTargetMachO tests, which it previously considered to be basically the same thing.

I also had to choose a set of reasonable defaults for "none-macho", a combination of iOS and ELF behaviour (we want AAPCS, but not RTABI, and some other iOS conventions to hold). I've tried to test most of these in a specific added test, with some explanations.

Could someone look over it and make sure I've not done something stupid?

Cheers.

Tim

http://llvm-reviews.chandlerc.com/D2395

Files:
  lib/Target/ARM/ARMAsmPrinter.cpp
  lib/Target/ARM/ARMAsmPrinter.h
  lib/Target/ARM/ARMBaseRegisterInfo.cpp
  lib/Target/ARM/ARMFastISel.cpp
  lib/Target/ARM/ARMFrameLowering.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMInstrInfo.td
  lib/Target/ARM/ARMInstrThumb.td
  lib/Target/ARM/ARMInstrThumb2.td
  lib/Target/ARM/ARMSelectionDAGInfo.cpp
  lib/Target/ARM/ARMSubtarget.cpp
  lib/Target/ARM/ARMSubtarget.h
  lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
  lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
  lib/Target/ARM/Thumb1FrameLowering.cpp
  lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
  test/CodeGen/ARM/cse-ldrlit.ll
  test/CodeGen/ARM/emit-big-cst.ll
  test/CodeGen/ARM/fast-isel-crash2.ll
  test/CodeGen/ARM/fast-isel-frameaddr.ll
  test/CodeGen/ARM/fold-stack-adjust.ll
  test/CodeGen/ARM/interrupt-attr.ll
  test/CodeGen/ARM/ldm.ll
  test/CodeGen/ARM/memfunc.ll
  test/CodeGen/ARM/none-macho.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2395.1.patch
Type: text/x-patch
Size: 35428 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131212/f006a3c2/attachment.bin>


More information about the llvm-commits mailing list