aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llc/llc.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-06-05 21:57:13 +0000
committerDevang Patel <dpatel@apple.com>2009-06-05 21:57:13 +0000
commit578efa920abd218ba75a0fb3c9b8398f4c0a774b (patch)
tree6837a5d548b2b8e81d676e7659d64f17dc0972bd /tools/llc/llc.cpp
parentabc019968067736a499467f7db7fb758a425ca06 (diff)
downloadexternal_llvm-578efa920abd218ba75a0fb3c9b8398f4c0a774b.zip
external_llvm-578efa920abd218ba75a0fb3c9b8398f4c0a774b.tar.gz
external_llvm-578efa920abd218ba75a0fb3c9b8398f4c0a774b.tar.bz2
Add new function attribute - noimplicitfloat
Update code generator to use this attribute and remove NoImplicitFloat target option. Update llc to set this attribute when -no-implicit-float command line option is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72959 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llc/llc.cpp')
-rw-r--r--tools/llc/llc.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index a247472..c630331 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -105,6 +105,11 @@ DisableRedZone("disable-red-zone",
cl::desc("Do not emit code that uses the red zone."),
cl::init(false));
+static cl::opt<bool>
+NoImplicitFloats("no-implicit-float",
+ cl::desc("Don't generate implicit floating point instructions (x86-only)"),
+ cl::init(false));
+
// GetFileNameRoot - Helper function to get the basename of a filename.
static inline std::string
GetFileNameRoot(const std::string &InputFilename) {
@@ -344,6 +349,8 @@ int main(int argc, char **argv) {
if (!I->isDeclaration()) {
if (DisableRedZone)
I->addFnAttr(Attribute::NoRedZone);
+ if (NoImplicitFloats)
+ I->addFnAttr(Attribute::NoImplicitFloat);
Passes.run(*I);
}