summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcSubtarget.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-05 05:50:24 +0000
committerChris Lattner <sabre@nondot.org>2006-02-05 05:50:24 +0000
commit158e1f519cc128ee988eb099082f2e9e30cf2745 (patch)
tree3760d01359d4eca4edb33843f3cba36a6add82d0 /llvm/lib/Target/Sparc/SparcSubtarget.cpp
parentc0e48c6c58a13ded933063a983ffc8df677008f8 (diff)
downloadbcm5719-llvm-158e1f519cc128ee988eb099082f2e9e30cf2745.tar.gz
bcm5719-llvm-158e1f519cc128ee988eb099082f2e9e30cf2745.zip
Rename SPARC V8 target to be the LLVM SPARC target.
llvm-svn: 25985
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcSubtarget.cpp')
-rw-r--r--llvm/lib/Target/Sparc/SparcSubtarget.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcSubtarget.cpp b/llvm/lib/Target/Sparc/SparcSubtarget.cpp
new file mode 100644
index 00000000000..beda79d49b0
--- /dev/null
+++ b/llvm/lib/Target/Sparc/SparcSubtarget.cpp
@@ -0,0 +1,43 @@
+//===- SparcSubtarget.cpp - SPARC Subtarget Information -------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by Chris Lattner and is distributed under the
+// University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the SPARC specific subclass of TargetSubtarget.
+//
+//===----------------------------------------------------------------------===//
+
+#include "SparcSubtarget.h"
+#include "SparcGenSubtarget.inc"
+using namespace llvm;
+
+// FIXME: temporary.
+#include "llvm/Support/CommandLine.h"
+namespace {
+ cl::opt<bool> EnableV9("enable-sparc-v9-insts", cl::Hidden,
+ cl::desc("Enable V9 instructions in the V8 target"));
+}
+
+SparcSubtarget::SparcSubtarget(const Module &M, const std::string &FS) {
+ // Set the default features.
+ IsV9 = false;
+ V8DeprecatedInsts = false;
+ IsVIS = false;
+
+ // Determine default and user specified characteristics
+ std::string CPU = "generic";
+
+ // FIXME: autodetect host here!
+ CPU = "v9"; // What is a good way to detect V9?
+
+ // Parse features string.
+ ParseSubtargetFeatures(FS, CPU);
+
+ // Unless explicitly enabled, disable the V9 instructions.
+ if (!EnableV9)
+ IsV9 = false;
+};
OpenPOWER on IntegriCloud