[llvm] r255448 - ARM: only emit EABI attributes on EABI targets

Saleem Abdulrasool via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 12 21:27:47 PST 2015


Author: compnerd
Date: Sat Dec 12 23:27:45 2015
New Revision: 255448

URL: http://llvm.org/viewvc/llvm-project?rev=255448&view=rev
Log:
ARM: only emit EABI attributes on EABI targets

EABI attributes should only be emitted on EABI targets.  This prevents the
emission of the optimization goals EABI attribute on Windows ARM.

Added:
    llvm/trunk/test/CodeGen/ARM/Windows/no-eabi.ll
Modified:
    llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=255448&r1=255447&r2=255448&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Sat Dec 12 23:27:45 2015
@@ -540,7 +540,8 @@ void ARMAsmPrinter::EmitEndOfAsmFile(Mod
   MCTargetStreamer &TS = *OutStreamer->getTargetStreamer();
   ARMTargetStreamer &ATS = static_cast<ARMTargetStreamer &>(TS);
 
-  if (OptimizationGoals > 0)
+  if (OptimizationGoals > 0 &&
+      (Subtarget->isTargetAEABI() || Subtarget->isTargetGNUAEABI()))
     ATS.emitAttribute(ARMBuildAttrs::ABI_optimization_goals, OptimizationGoals);
   OptimizationGoals = -1;
 

Added: llvm/trunk/test/CodeGen/ARM/Windows/no-eabi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/Windows/no-eabi.ll?rev=255448&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/Windows/no-eabi.ll (added)
+++ llvm/trunk/test/CodeGen/ARM/Windows/no-eabi.ll Sat Dec 12 23:27:45 2015
@@ -0,0 +1,10 @@
+; RUN: llc -O3 -mtriple thumbv7-windows %s -filetype asm -o - | FileCheck -check-prefix CHECK-NONEABI %s
+; RUN: llc -O3 -mtriple armv7--linux-gnueabi %s -filetype asm -o - | FileCheck -check-prefix CHECK-EABI %s
+
+define arm_aapcs_vfpcc void @function() {
+  ret void
+}
+
+; CHECK-EABI: .eabi_attribute
+; CHECK-NONEABI-NOT: .eabi_attribute
+




More information about the llvm-commits mailing list