[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