ARM: keep special non-AEABIness of "-darwin-eabi" triples for now
authorTim Northover <tnorthover@apple.com>
Mon, 6 Jan 2014 12:00:44 +0000 (12:00 +0000)
committerTim Northover <tnorthover@apple.com>
Mon, 6 Jan 2014 12:00:44 +0000 (12:00 +0000)
Longer term, we want to move users to "*-*-*-macho" for embedded work, but for
now people are relying on the last thing we told them, which is unfortunately
"*-*-darwin-eabi".

rdar://problem/15703934

llvm-svn: 198602

llvm/lib/Target/ARM/ARMSubtarget.h
llvm/test/CodeGen/ARM/divmod-eabi.ll

index 8c471dc..d1433ec 100644 (file)
@@ -317,9 +317,12 @@ public:
   // FIXME: Add a flag for bare-metal for that target and set Triple::EABI
   // even for GNUEABI, so we can make a distinction here and still conform to
   // the EABI on GNU (and Android) mode. This requires change in Clang, too.
+  // FIXME: The Darwin exception is temporary, while we move users to
+  // "*-*-*-macho" triples as quickly as possible.
   bool isTargetAEABI() const {
-    return TargetTriple.getEnvironment() == Triple::EABI ||
-      TargetTriple.getEnvironment() == Triple::EABIHF;
+    return (TargetTriple.getEnvironment() == Triple::EABI ||
+            TargetTriple.getEnvironment() == Triple::EABIHF) &&
+           !isTargetDarwin();
   }
 
   bool isTargetHardFloat() const {
index 64d093e..7a46af1 100644 (file)
@@ -2,6 +2,8 @@
 ; RUN: llc -mtriple armv7-none-eabihf %s -o - | FileCheck %s --check-prefix=EABI
 ; RUN: llc -mtriple armv7-linux-gnueabi %s -o - | FileCheck %s --check-prefix=GNU
 ; RUN: llc -mtriple armv7-apple-darwin %s -o - | FileCheck %s --check-prefix=DARWIN
+; FIXME: long-term, we will use "-apple-macho" and won't need this exception:
+; RUN: llc -mtriple armv7-apple-darwin-eabi %s -o - | FileCheck %s --check-prefix=DARWIN
 
 define signext i16 @f16(i16 signext %a, i16 signext %b) {
 ; EABI-LABEL: f16: