aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Blackfin/BlackfinSubtarget.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2009-08-02 17:32:10 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2009-08-02 17:32:10 +0000
commitd950941e138455ebcd7a5f55805dcb977892e3e3 (patch)
treef9732e3dd797f8f76f0c886f57f295daeb1f1a92 /lib/Target/Blackfin/BlackfinSubtarget.h
parent4ea480499c40cd7e28bf35cacda33ccbab2aab07 (diff)
downloadexternal_llvm-d950941e138455ebcd7a5f55805dcb977892e3e3.zip
external_llvm-d950941e138455ebcd7a5f55805dcb977892e3e3.tar.gz
external_llvm-d950941e138455ebcd7a5f55805dcb977892e3e3.tar.bz2
Analog Devices Blackfin back-end.
Generate code for the Blackfin family of DSPs from Analog Devices: http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html We aim to be compatible with the exsisting GNU toolchain found at: http://blackfin.uclinux.org/gf/project/toolchain The back-end is experimental. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77897 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Blackfin/BlackfinSubtarget.h')
-rw-r--r--lib/Target/Blackfin/BlackfinSubtarget.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/Target/Blackfin/BlackfinSubtarget.h b/lib/Target/Blackfin/BlackfinSubtarget.h
new file mode 100644
index 0000000..31df9c0
--- /dev/null
+++ b/lib/Target/Blackfin/BlackfinSubtarget.h
@@ -0,0 +1,39 @@
+//===- BlackfinSubtarget.h - Define Subtarget for the Blackfin -*- C++ -*-====//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the BLACKFIN specific subclass of TargetSubtarget.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef BLACKFIN_SUBTARGET_H
+#define BLACKFIN_SUBTARGET_H
+
+#include "llvm/Target/TargetSubtarget.h"
+#include <string>
+
+namespace llvm {
+
+ class TargetMachine;
+ class Module;
+
+ class BlackfinSubtarget : public TargetSubtarget {
+ bool ssyncWorkaround;
+ public:
+ BlackfinSubtarget(const TargetMachine &TM, const Module &M,
+ const std::string &FS);
+
+ /// ParseSubtargetFeatures - Parses features string setting specified
+ /// subtarget options. Definition of function is auto generated by tblgen.
+ std::string ParseSubtargetFeatures(const std::string &FS,
+ const std::string &CPU);
+ };
+
+} // end namespace llvm
+
+#endif