From 6deb816c1c1b54cdea0cc040b6f4e8d3df7e6ec4 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Sun, 18 May 2014 06:42:02 +0000 Subject: 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 --- clang/lib/Driver/Tools.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/Driver/Tools.cpp') 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 -- cgit v1.2.3