Currently, we permit -mtp=cp15 even for targets that don't implement the TLS register. When building for ARMv6 or earlier, this means we emit instructions that will UNDEF at runtime. For Thumb1, passing -mtp=cp15 will trigger an assert in the backend.
So let's add some diagnostics to ensure that -mtp=cp15 is only accepted for ARMv6T2 or newer.
clang-format: please reformat the code
- llvm::ARM::parseArch(Triple.getArchName()) != llvm::ARM::ArchKind::ARMV6T2) { - D.Diag(diag::err_target_unsupported_tp_hard) << Triple.getArchName(); + llvm::ARM::parseArch(Triple.getArchName()) != + llvm::ARM::ArchKind::ARMV6T2) { + D.Diag(diag::err_target_unsupported_tp_hard) << Triple.getArchName();