[PATCH] ARM: sort out MachO target checks

Renato Golin renato.golin at linaro.org
Thu Dec 12 12:48:17 PST 2013


  Hi Tim,

  LGTM.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:261
@@ -260,3 +260,3 @@
 
-  if (Subtarget->isAAPCS_ABI() && !Subtarget->isTargetDarwin()) {
+  if (Subtarget->isAAPCS_ABI() && !Subtarget->isTargetMachO()) {
     // Double-precision floating-point arithmetic helper functions
----------------
Tim Northover wrote:
> Renato Golin wrote:
> > I'd *really* love to change this to "isTargetEABI()". Does MachO EABI also call __aeabi_ functions or not?
> Sounds like a very good idea longer term. EABI seems to be the only environment that does use them. But I'd rather not do that in this patch because until I get the front-end sorted compilation will still be using -darwin-eabi which doesn't want them.
Absolutely! I didn't mean for you to.

================
Comment at: test/CodeGen/ARM/emit-big-cst.ll:9
@@ -9,1 +8,3 @@
+; CHECK-NEXT: .long 0
+; CHECK-NEXT: .size bigCst, 16
 
----------------
Tim Northover wrote:
> Renato Golin wrote:
> > This is a weird change...
> It comes from the move APCS/AAPCS change you commented on above. That one makes AAPCS the default for "thumbv7-unknown-unknown" which changes the alignment constraints of big types (an i82 in this case).
Right.

================
Comment at: test/CodeGen/ARM/fold-stack-adjust.ll:14
@@ -13,3 +13,3 @@
 ; CHECK-LABEL: check_simple:
-; CHECK: push.w {r7, r8, r9, r10, r11, lr}
+; CHECK: push {r3, r4, r5, r6, r7, lr}
 ; CHECK-NOT: sub sp, sp,
----------------
Tim Northover wrote:
> Renato Golin wrote:
> > smells like this is going to break next time...
> Hopefully not. The large part of the change was due to me forcing the iOS-style 2-area prologue (to use a Thumb1 16-bit push) on MachO bare-metal targets. I'd only expect it to change in future if LLVM decides it needs more than 16 bytes of stack.
Ok, makes sense.


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



More information about the llvm-commits mailing list