[llvm-commits] [llvm-gcc-4.2] r72960 - in /llvm-gcc-4.2/trunk/gcc: config/i386/i386.h llvm-backend.cpp
Devang Patel
dpatel at apple.com
Fri Jun 5 14:57:59 PDT 2009
Author: dpatel
Date: Fri Jun 5 16:57:59 2009
New Revision: 72960
URL: http://llvm.org/viewvc/llvm-project?rev=72960&view=rev
Log:
Set Attribute::NoImplicitFloat appropriately.
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
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=72960&r1=72959&r2=72960&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.h Fri Jun 5 16:57:59 2009
@@ -3892,9 +3892,11 @@
if (TARGET_3DNOW_A) F.AddFeature("3dnowa"); \
}
-#define LLVM_SET_MACHINE_OPTIONS(argvec) \
+#define LLVM_SET_IMPLICIT_FLOAT(flag_no_implicit_float) \
if (!TARGET_80387) \
- argvec.push_back("-no-implicit-float")
+ flag_no_implicit_float = 1; \
+ else \
+ flag_no_implicit_float = 0;
/* LLVM ABI definition macros. */
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=72960&r1=72959&r2=72960&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Fri Jun 5 16:57:59 2009
@@ -81,6 +81,9 @@
// Non-zero if red-zone is disabled.
static int flag_disable_red_zone = 0;
+// Non-zero if implicit floating point instructions are disabled.
+static int flag_no_implicit_float = 0;
+
// Global state for the LLVM backend.
Module *TheModule = 0;
DebugInfo *TheDebugInfo = 0;
@@ -339,6 +342,9 @@
#ifdef LLVM_SET_MACHINE_OPTIONS
LLVM_SET_MACHINE_OPTIONS(Args);
#endif
+#ifdef LLVM_SET_IMPLICIT_FLOAT
+ LLVM_SET_IMPLICIT_FLOAT(flag_no_implicit_float)
+#endif
if (time_report)
Args.push_back("--time-passes");
@@ -461,8 +467,12 @@
ExceptionHandling = flag_exceptions;
for (Module::iterator I = TheModule->begin(), E = TheModule->end();
I != E; ++I)
- if (!I->isDeclaration() && flag_disable_red_zone)
- I->addFnAttr(Attribute::NoRedZone);
+ if (!I->isDeclaration()) {
+ if (flag_disable_red_zone)
+ I->addFnAttr(Attribute::NoRedZone);
+ if (flag_no_implicit_float)
+ I->addFnAttr(Attribute::NoImplicitFloat);
+ }
}
void llvm_lang_dependent_init(const char *Name) {
More information about the llvm-commits
mailing list