summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Lanai
diff options
context:
space:
mode:
authorJacques Pienaar <jpienaar@google.com>2016-05-20 03:21:37 +0000
committerJacques Pienaar <jpienaar@google.com>2016-05-20 03:21:37 +0000
commit813e83734d1dae91c29ad191d73604f9ac3a347f (patch)
tree4369a688863cb9f39a3a32aad0daa6d0c562f135 /llvm/lib/Target/Lanai
parent565463fbba62f98914c405b6f2338b99e2c88c4e (diff)
downloadbcm5719-llvm-813e83734d1dae91c29ad191d73604f9ac3a347f.tar.gz
bcm5719-llvm-813e83734d1dae91c29ad191d73604f9ac3a347f.zip
[lanai] Use Optional<Reloc> in LanaiTargetMachine.
Follow r269988 and use Optional<Reloc>. llvm-svn: 270176
Diffstat (limited to 'llvm/lib/Target/Lanai')
-rw-r--r--llvm/lib/Target/Lanai/LanaiSubtarget.cpp1
-rw-r--r--llvm/lib/Target/Lanai/LanaiSubtarget.h4
-rw-r--r--llvm/lib/Target/Lanai/LanaiTargetMachine.cpp21
-rw-r--r--llvm/lib/Target/Lanai/LanaiTargetMachine.h3
4 files changed, 17 insertions, 12 deletions
diff --git a/llvm/lib/Target/Lanai/LanaiSubtarget.cpp b/llvm/lib/Target/Lanai/LanaiSubtarget.cpp
index 98b93401631..bfe07170050 100644
--- a/llvm/lib/Target/Lanai/LanaiSubtarget.cpp
+++ b/llvm/lib/Target/Lanai/LanaiSubtarget.cpp
@@ -40,7 +40,6 @@ LanaiSubtarget &LanaiSubtarget::initializeSubtargetDependencies(StringRef CPU,
LanaiSubtarget::LanaiSubtarget(const Triple &TargetTriple, StringRef Cpu,
StringRef FeatureString, const TargetMachine &TM,
const TargetOptions &Options,
- Reloc::Model RelocationModel,
CodeModel::Model CodeModel,
CodeGenOpt::Level OptLevel)
: LanaiGenSubtargetInfo(TargetTriple, Cpu, FeatureString),
diff --git a/llvm/lib/Target/Lanai/LanaiSubtarget.h b/llvm/lib/Target/Lanai/LanaiSubtarget.h
index f50347682e2..2732ef3097e 100644
--- a/llvm/lib/Target/Lanai/LanaiSubtarget.h
+++ b/llvm/lib/Target/Lanai/LanaiSubtarget.h
@@ -34,8 +34,8 @@ public:
// of the specified triple.
LanaiSubtarget(const Triple &TargetTriple, StringRef Cpu,
StringRef FeatureString, const TargetMachine &TM,
- const TargetOptions &Options, Reloc::Model RelocationModel,
- CodeModel::Model CodeModel, CodeGenOpt::Level OptLevel);
+ const TargetOptions &Options, CodeModel::Model CodeModel,
+ CodeGenOpt::Level OptLevel);
// ParseSubtargetFeatures - Parses features string setting specified
// subtarget options. Definition of function is auto generated by tblgen.
diff --git a/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp b/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
index f89464826b3..bb418f3110c 100644
--- a/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
+++ b/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
@@ -47,18 +47,23 @@ static std::string computeDataLayout(const Triple &TT) {
"-S64"; // 64 bit natural stack alignment
}
-LanaiTargetMachine::LanaiTargetMachine(const Target &TheTarget,
- const Triple &TargetTriple,
+static Reloc::Model getEffectiveRelocModel(const Triple &TT,
+ Optional<Reloc::Model> RM) {
+ if (!RM.hasValue())
+ return Reloc::Static;
+ return *RM;
+}
+
+LanaiTargetMachine::LanaiTargetMachine(const Target &T, const Triple &TT,
StringRef Cpu, StringRef FeatureString,
const TargetOptions &Options,
- Reloc::Model RelocationModel,
+ Optional<Reloc::Model> RM,
CodeModel::Model CodeModel,
CodeGenOpt::Level OptLevel)
- : LLVMTargetMachine(TheTarget, computeDataLayout(TargetTriple),
- TargetTriple, Cpu, FeatureString, Options,
- RelocationModel, CodeModel, OptLevel),
- Subtarget(TargetTriple, Cpu, FeatureString, *this, Options,
- RelocationModel, CodeModel, OptLevel),
+ : LLVMTargetMachine(T, computeDataLayout(TargetTriple), TT, Cpu,
+ FeatureString, Options, getEffectiveRelocModel(TT, RM),
+ CodeModel, OptLevel),
+ Subtarget(TT, Cpu, FeatureString, *this, Options, CodeModel, OptLevel),
TLOF(new LanaiTargetObjectFile()) {
initAsmInfo();
}
diff --git a/llvm/lib/Target/Lanai/LanaiTargetMachine.h b/llvm/lib/Target/Lanai/LanaiTargetMachine.h
index 9c911768e30..1f616085cdb 100644
--- a/llvm/lib/Target/Lanai/LanaiTargetMachine.h
+++ b/llvm/lib/Target/Lanai/LanaiTargetMachine.h
@@ -32,7 +32,8 @@ class LanaiTargetMachine : public LLVMTargetMachine {
public:
LanaiTargetMachine(const Target &TheTarget, const Triple &TargetTriple,
StringRef Cpu, StringRef FeatureString,
- const TargetOptions &Options, Reloc::Model RelocationModel,
+ const TargetOptions &Options,
+ Optional<Reloc::Model> RelocationModel,
CodeModel::Model CodeModel, CodeGenOpt::Level OptLevel);
const LanaiSubtarget *
OpenPOWER on IntegriCloud