summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2018-12-07 12:10:23 +0000
committerDavid Green <david.green@arm.com>2018-12-07 12:10:23 +0000
commitca29c271d2b951b125b7f97264ca7b927db0b1cf (patch)
tree0c576a9c69d06179da070a855a87d460b62e4003 /llvm/lib/Target/XCore/XCoreTargetMachine.cpp
parent700a29a153039c6176efaf7a3b7c0a274b8aafed (diff)
downloadbcm5719-llvm-ca29c271d2b951b125b7f97264ca7b927db0b1cf.tar.gz
bcm5719-llvm-ca29c271d2b951b125b7f97264ca7b927db0b1cf.zip
[Targets] Add errors for tiny and kernel codemodel on targets that don't support them
Adds fatal errors for any target that does not support the Tiny or Kernel codemodels by rejigging the getEffectiveCodeModel calls. Differential Revision: https://reviews.llvm.org/D50141 llvm-svn: 348585
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/XCore/XCoreTargetMachine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/XCore/XCoreTargetMachine.cpp b/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
index 38925bfd51b..2aa9932e246 100644
--- a/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
+++ b/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
@@ -31,7 +31,8 @@ static Reloc::Model getEffectiveRelocModel(Optional<Reloc::Model> RM) {
return *RM;
}
-static CodeModel::Model getEffectiveCodeModel(Optional<CodeModel::Model> CM) {
+static CodeModel::Model
+getEffectiveXCoreCodeModel(Optional<CodeModel::Model> CM) {
if (CM) {
if (*CM != CodeModel::Small && *CM != CodeModel::Large)
report_fatal_error("Target only supports CodeModel Small or Large");
@@ -51,7 +52,7 @@ XCoreTargetMachine::XCoreTargetMachine(const Target &T, const Triple &TT,
: LLVMTargetMachine(
T, "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32",
TT, CPU, FS, Options, getEffectiveRelocModel(RM),
- getEffectiveCodeModel(CM), OL),
+ getEffectiveXCoreCodeModel(CM), OL),
TLOF(llvm::make_unique<XCoreTargetObjectFile>()),
Subtarget(TT, CPU, FS, *this) {
initAsmInfo();
OpenPOWER on IntegriCloud