aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-04 21:07:38 +0000
committerChris Lattner <sabre@nondot.org>2010-03-04 21:07:38 +0000
commit3a47c4e0a3e8d13ee4fb06cc3a98f9cfa9982400 (patch)
tree38ce3fadb0d9541c4b51afeb960afc4ae13deaef /lib/Driver/ToolChains.h
parent97c00070868aa3230e67a35b74210bc202a5eb2d (diff)
add TCE target support, patch by Pekka J!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97746 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains.h')
-rw-r--r--lib/Driver/ToolChains.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index fda08758c9..6dd64dec9e 100644
--- a/lib/Driver/ToolChains.h
+++ b/lib/Driver/ToolChains.h
@@ -267,6 +267,26 @@ public:
};
+/// TCEToolChain - A tool chain using the llvm bitcode tools to perform
+/// all subcommands. See http://tce.cs.tut.fi for our peculiar target.
+class VISIBILITY_HIDDEN TCEToolChain : public ToolChain {
+public:
+ TCEToolChain(const HostInfo &Host, const llvm::Triple& Triple);
+ ~TCEToolChain();
+
+ virtual DerivedArgList *TranslateArgs(InputArgList &Args,
+ const char *BoundArch) const;
+ virtual Tool &SelectTool(const Compilation &C, const JobAction &JA) const;
+ bool IsMathErrnoDefault() const;
+ bool IsUnwindTablesDefault() const;
+ const char* GetDefaultRelocationModel() const;
+ const char* GetForcedPicModel() const;
+
+private:
+ mutable llvm::DenseMap<unsigned, Tool*> Tools;
+
+};
+
} // end namespace toolchains
} // end namespace driver
} // end namespace clang