summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-05-18 06:42:02 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-05-18 06:42:02 +0000
commit6deb816c1c1b54cdea0cc040b6f4e8d3df7e6ec4 (patch)
tree34c3ecff9106da1c51620517d710801207c8f3d2 /clang/lib/Driver/Tools.cpp
parenta52184538188f7bd831d978d24226d3fadef792f (diff)
downloadbcm5719-llvm-6deb816c1c1b54cdea0cc040b6f4e8d3df7e6ec4.tar.gz
bcm5719-llvm-6deb816c1c1b54cdea0cc040b6f4e8d3df7e6ec4.zip
Driver: force restricted IT blocks for Windows on ARM
Windows on ARM expects ARMv8 (restricted IT) conditional instructions only. Force enable the restricted IT mode via the backend option when targeting WoA. llvm-svn: 209086
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index b0425cbe08a..7862ffb446e 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3451,6 +3451,11 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-backend-option");
CmdArgs.push_back("-arm-no-restrict-it");
}
+ } else if (TT.isOSWindows() && (TT.getArch() == llvm::Triple::arm ||
+ TT.getArch() == llvm::Triple::thumb)) {
+ // Windows on ARM expects restricted IT blocks
+ CmdArgs.push_back("-backend-option");
+ CmdArgs.push_back("-arm-restrict-it");
}
// Forward -f options with positive and negative forms; we translate
OpenPOWER on IntegriCloud