[cfe-commits] r72961 - in /cfe/trunk: include/clang/Frontend/CompileOptions.h lib/CodeGen/CGCall.cpp lib/Driver/Tools.cpp test/Driver/flags.c tools/clang-cc/clang-cc.cpp

Devang Patel dpatel at apple.com
Fri Jun 5 15:05:48 PDT 2009


Author: dpatel
Date: Fri Jun  5 17:05:48 2009
New Revision: 72961

URL: http://llvm.org/viewvc/llvm-project?rev=72961&view=rev
Log:
Set function Attribute::NoImplicitFloat appropriately.


Modified:
    cfe/trunk/include/clang/Frontend/CompileOptions.h
    cfe/trunk/lib/CodeGen/CGCall.cpp
    cfe/trunk/lib/Driver/Tools.cpp
    cfe/trunk/test/Driver/flags.c
    cfe/trunk/tools/clang-cc/clang-cc.cpp

Modified: cfe/trunk/include/clang/Frontend/CompileOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompileOptions.h?rev=72961&r1=72960&r2=72961&view=diff

==============================================================================
--- cfe/trunk/include/clang/Frontend/CompileOptions.h (original)
+++ cfe/trunk/include/clang/Frontend/CompileOptions.h Fri Jun  5 17:05:48 2009
@@ -42,6 +42,7 @@
   unsigned TimePasses        : 1; /// Set when -ftime-report is enabled.
   unsigned NoCommon          : 1; /// Set when -fno-common or C++ is enabled.
   unsigned DisableRedZone    : 1; /// Set when -mno-red-zone is enabled.
+  unsigned NoImplicitFloat   : 1; /// Set when -mno-implicit-float is enabled.
 
   /// Inlining - The kind of inlining to perform.
   InliningMethod Inlining;
@@ -65,6 +66,7 @@
     NoCommon = 0;
     Inlining = NoInlining;
     DisableRedZone = 0;
+    NoImplicitFloat = 0;
   }  
 };
 

Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=72961&r1=72960&r2=72961&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Fri Jun  5 17:05:48 2009
@@ -1755,6 +1755,8 @@
 
   if (CompileOpts.DisableRedZone)
     FuncAttrs |= llvm::Attribute::NoRedZone;
+  if (CompileOpts.NoImplicitFloat)
+    FuncAttrs |= llvm::Attribute::NoImplicitFloat;
 
   QualType RetTy = FI.getReturnType();
   unsigned Index = 1;

Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=72961&r1=72960&r2=72961&view=diff

==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Fri Jun  5 17:05:48 2009
@@ -329,7 +329,7 @@
   if (Args.hasFlag(options::OPT_msoft_float,
                    options::OPT_mno_soft_float,
                    false))
-    CmdArgs.push_back("--soft-float");
+    CmdArgs.push_back("--no-implicit-float");
 
   // FIXME: Handle -mtune=.
   (void) Args.hasArg(options::OPT_mtune_EQ);

Modified: cfe/trunk/test/Driver/flags.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/flags.c?rev=72961&r1=72960&r2=72961&view=diff

==============================================================================
--- cfe/trunk/test/Driver/flags.c (original)
+++ cfe/trunk/test/Driver/flags.c Fri Jun  5 17:05:48 2009
@@ -1,9 +1,9 @@
 // RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float %s 2> %t.log &&
-// RUN: grep '"--soft-float"' %t.log &&
+// RUN: grep '"--no-implicit-float"' %t.log &&
 
 // RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -msoft-float -mno-soft-float %s 2> %t.log &&
-// RUN: grep '"--soft-float"' %t.log | count 0 &&
+// RUN: grep '"--no-implicit-float"' %t.log | count 0 &&
 
 // RUN: clang -ccc-host-triple i386-apple-darwin9 -### -S -mno-soft-float %s -msoft-float 2> %t.log &&
-// RUN: grep '"--soft-float"' %t.log
+// RUN: grep '"--no-implicit-float"' %t.log
 

Modified: cfe/trunk/tools/clang-cc/clang-cc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-cc/clang-cc.cpp?rev=72961&r1=72960&r2=72961&view=diff

==============================================================================
--- cfe/trunk/tools/clang-cc/clang-cc.cpp (original)
+++ cfe/trunk/tools/clang-cc/clang-cc.cpp Fri Jun  5 17:05:48 2009
@@ -1406,6 +1406,11 @@
                llvm::cl::desc("Do not emit code that uses the red zone."),
                llvm::cl::init(false));
 
+static llvm::cl::opt<bool>
+NoImplicitFloat("no-implicit-float",
+  llvm::cl::desc("Don't generate implicit floating point instructions (x86-only)"),
+  llvm::cl::init(false));
+
 /// ComputeTargetFeatures - Recompute the target feature list to only
 /// be the list of things that are enabled, based on the target cpu
 /// and feature list.
@@ -1484,6 +1489,7 @@
   Opts.TimePasses = TimeReport;
 
   Opts.DisableRedZone = DisableRedZone;
+  Opts.NoImplicitFloat = NoImplicitFloat;
 }
 
 //===----------------------------------------------------------------------===//





More information about the cfe-commits mailing list