diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2017-08-03 02:16:28 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2017-08-03 02:16:28 +0000 |
commit | aa0226ed719e9e0491c3b6a9661005daeb4b82ff (patch) | |
tree | e0090f88501d7f42a24db8412471c38591472b1d | |
parent | 79e238afee61b305d6391741cbda7d749ae9f626 (diff) | |
download | bcm5719-llvm-aa0226ed719e9e0491c3b6a9661005daeb4b82ff.tar.gz bcm5719-llvm-aa0226ed719e9e0491c3b6a9661005daeb4b82ff.zip |
Update for llvm change.
llvm-svn: 309912
-rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 80f43acec32..6150513a707 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -335,16 +335,18 @@ static CodeGenOpt::Level getCGOptLevel(const CodeGenOptions &CodeGenOpts) { } } -static llvm::CodeModel::Model getCodeModel(const CodeGenOptions &CodeGenOpts) { - unsigned CodeModel = - llvm::StringSwitch<unsigned>(CodeGenOpts.CodeModel) - .Case("small", llvm::CodeModel::Small) - .Case("kernel", llvm::CodeModel::Kernel) - .Case("medium", llvm::CodeModel::Medium) - .Case("large", llvm::CodeModel::Large) - .Case("default", llvm::CodeModel::Default) - .Default(~0u); +static Optional<llvm::CodeModel::Model> +getCodeModel(const CodeGenOptions &CodeGenOpts) { + unsigned CodeModel = llvm::StringSwitch<unsigned>(CodeGenOpts.CodeModel) + .Case("small", llvm::CodeModel::Small) + .Case("kernel", llvm::CodeModel::Kernel) + .Case("medium", llvm::CodeModel::Medium) + .Case("large", llvm::CodeModel::Large) + .Case("default", ~1u) + .Default(~0u); assert(CodeModel != ~0u && "invalid code model!"); + if (CodeModel == ~1u) + return None; return static_cast<llvm::CodeModel::Model>(CodeModel); } @@ -658,7 +660,7 @@ void EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) { return; } - llvm::CodeModel::Model CM = getCodeModel(CodeGenOpts); + Optional<llvm::CodeModel::Model> CM = getCodeModel(CodeGenOpts); std::string FeaturesStr = llvm::join(TargetOpts.Features.begin(), TargetOpts.Features.end(), ","); llvm::Reloc::Model RM = getRelocModel(CodeGenOpts); |