[llvm-commits] [llvm-gcc-4.2] r145780 - in /llvm-gcc-4.2/trunk/gcc: config/arm/arm.h config/i386/i386.h config/rs6000/rs6000.h llvm-backend.cpp

Nick Lewycky nicholas at mxc.ca
Sat Dec 3 14:43:38 PST 2011


Author: nicholas
Date: Sat Dec  3 16:43:37 2011
New Revision: 145780

URL: http://llvm.org/viewvc/llvm-project?rev=145780&view=rev
Log:
Try to fix a couple more bits of fallout from the TargetOptions API change.
This doesn't seem to affect dragonegg.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.h
    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.h?rev=145780&r1=145779&r2=145780&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.h Sat Dec  3 16:43:37 2011
@@ -3569,15 +3569,17 @@
                         ? "armv4" : ""))))))))
 
 #define LLVM_SET_MACHINE_OPTIONS(argvec)               \
-  if (TARGET_SOFT_FLOAT)                               \
-    argvec.push_back("-soft-float");                   \
-  if (TARGET_HARD_FLOAT_ABI)                           \
-    argvec.push_back("-float-abi=hard");               \
   if (flag_mkernel || flag_apple_kext) {               \
     argvec.push_back("-arm-long-calls");               \
     argvec.push_back("-arm-strict-align");             \
   }
 
+#define LLVM_SET_TARGET_OPTIONS(options)               \
+  options.GenerateSoftFloatCalls = TARGET_SOFT_FLOAT;  \
+  if (TARGET_HARD_FLOAT_ABI)                           \
+    options.FloatABIForCalls = llvm::FloatABI::Hard;
+
+
 /* Doing struct copy by partial-word loads and stores is not a good idea on ARM. */
 #define TARGET_LLVM_MIN_BYTES_COPY_BY_MEMCPY 4
 

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.h?rev=145780&r1=145779&r2=145780&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.h Sat Dec  3 16:43:37 2011
@@ -3962,14 +3962,18 @@
   
 #define LLVM_SET_MACHINE_OPTIONS(argvec)                \
   do {                                                  \
+    if (ix86_force_align_arg_pointer)                   \
+      argvec.push_back("-force-align-stack");           \
+  } while (0)
+
+#define LLVM_SET_TARGET_OPTIONS(options)                \
+  do {                                                  \
     /* A value of 3 in flag_omit_frame_pointer implies  \
        omitting leaf frame pointers only.  */           \
     if (flag_omit_frame_pointer == 3)                   \
-      argvec.push_back("--disable-non-leaf-fp-elim");   \
-                                                        \
-    if (ix86_force_align_arg_pointer)                   \
-      argvec.push_back("-force-align-stack");           \
+      options.NoFramePointerElimNonLeaf = true;         \
   } while (0)
+
 #endif /* ENABLE_LLVM */
 /* LLVM LOCAL end */
 

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.h?rev=145780&r1=145779&r2=145780&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.h Sat Dec  3 16:43:37 2011
@@ -3468,9 +3468,10 @@
     F.AddFeature("64bit", TARGET_POWERPC64); \
   }
 
-#define LLVM_SET_MACHINE_OPTIONS(argvec)               \
-  if (TARGET_SOFT_FLOAT)                               \
-    argvec.push_back("-soft-float");
+#define LLVM_SET_MACHINE_OPTIONS(argvec)
+
+#define LLVM_SET_TARGET_OPTIONS(options)               \
+  options.GenerateSoftFloatCalls = TARGET_SOFT_FLOAT;
 
 /* When -m64 is specified, set the architecture to powerpc64-os-blah even if the
  * compiler was configured for powerpc-os-blah.

Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=145780&r1=145779&r2=145780&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Sat Dec  3 16:43:37 2011
@@ -561,6 +561,7 @@
   FeatureStr = Features.getString();
 
   TargetOptions Options;
+  LLVM_SET_TARGET_OPTIONS(Options);
   Options.UnsafeFPMath = fast_math_flags_set_p();
   Options.NoInfsFPMath = !flag_honor_infinites;
   Options.NoNaNsFPMath = !flag_honor_nans;





More information about the llvm-commits mailing list