summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.h
diff options
context:
space:
mode:
authorTony Linthicum <tlinth@codeaurora.org>2011-12-12 21:14:55 +0000
committerTony Linthicum <tlinth@codeaurora.org>2011-12-12 21:14:55 +0000
commit76329bf83f1ffe97a25ed1726cac709a9ae66d71 (patch)
tree7ab3912397ebe3b7b0b5f98c45975689b7296f02 /clang/lib/Driver/ToolChains.h
parent1213a7a57fdcb6c875b3f79103fc96d3e9d30b40 (diff)
downloadbcm5719-llvm-76329bf83f1ffe97a25ed1726cac709a9ae66d71.tar.gz
bcm5719-llvm-76329bf83f1ffe97a25ed1726cac709a9ae66d71.zip
Hexagon backend support
llvm-svn: 146413
Diffstat (limited to 'clang/lib/Driver/ToolChains.h')
-rw-r--r--clang/lib/Driver/ToolChains.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h
index aaf9ef143f8..45bf0d88c21 100644
--- a/clang/lib/Driver/ToolChains.h
+++ b/clang/lib/Driver/ToolChains.h
@@ -136,7 +136,23 @@ protected:
/// @}
};
-/// Darwin - The base Darwin tool chain.
+class LLVM_LIBRARY_VISIBILITY Hexagon_TC : public ToolChain {
+protected:
+ mutable llvm::DenseMap<unsigned, Tool*> Tools;
+
+public:
+ Hexagon_TC(const HostInfo &Host, const llvm::Triple& Triple);
+ ~Hexagon_TC();
+
+ virtual Tool &SelectTool(const Compilation &C, const JobAction &JA,
+ const ActionList &Inputs) const;
+
+ virtual bool IsUnwindTablesDefault() const;
+ virtual const char *GetDefaultRelocationModel() const;
+ virtual const char *GetForcedPicModel() const;
+};
+
+ /// Darwin - The base Darwin tool chain.
class LLVM_LIBRARY_VISIBILITY Darwin : public ToolChain {
public:
/// The host version.
OpenPOWER on IntegriCloud