summaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains/Arch/ARM.h
diff options
context:
space:
mode:
authorStrahinja Petrovic <strahinja.petrovic@rt-rk.com>2017-09-12 10:40:58 +0000
committerStrahinja Petrovic <strahinja.petrovic@rt-rk.com>2017-09-12 10:40:58 +0000
commit0810e2be8fa9a97519b8e3406e8f67645738c29b (patch)
tree26f286437b14d049ab573307d1625117416616cb /lib/Driver/ToolChains/Arch/ARM.h
parent622d54d5a584280c680148ffa1a1ba6b8a3772f8 (diff)
downloadclang-0810e2be8fa9a97519b8e3406e8f67645738c29b.tar.gz
[ARM] Option for reading thread pointer from coprocessor register
This patch enables option for reading thread pointer directly from coprocessor register (-mtp=soft/cp15). Differential Revision: https://reviews.llvm.org/D34878 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@313018 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains/Arch/ARM.h')
-rw-r--r--lib/Driver/ToolChains/Arch/ARM.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Driver/ToolChains/Arch/ARM.h b/lib/Driver/ToolChains/Arch/ARM.h
index 52afaab762..c1dc168840 100644
--- a/lib/Driver/ToolChains/Arch/ARM.h
+++ b/lib/Driver/ToolChains/Arch/ARM.h
@@ -32,6 +32,12 @@ StringRef getLLVMArchSuffixForARM(llvm::StringRef CPU, llvm::StringRef Arch,
void appendEBLinkFlags(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs,
const llvm::Triple &Triple);
+enum class ReadTPMode {
+ Invalid,
+ Soft,
+ Cp15,
+};
+
enum class FloatABI {
Invalid,
Soft,
@@ -40,6 +46,7 @@ enum class FloatABI {
};
FloatABI getARMFloatABI(const ToolChain &TC, const llvm::opt::ArgList &Args);
+ReadTPMode getReadTPMode(const ToolChain &TC, const llvm::opt::ArgList &Args);
bool useAAPCSForMachO(const llvm::Triple &T);
void getARMArchCPUFromArgs(const llvm::opt::ArgList &Args,