89
89
#include < llvm/Transforms/Vectorize/SLPVectorizer.h>
90
90
#include < multi_llvm/llvm_version.h>
91
91
#include < multi_llvm/multi_llvm.h>
92
- #include < multi_llvm/optional_helper.h>
93
92
#include < multi_llvm/triple.h>
94
93
#include < mux/mux.hpp>
95
94
#include < spirv-ll/module.h>
@@ -117,7 +116,7 @@ namespace {
117
116
// changed around; not a big deal, just a few ugly ifdefs
118
117
inline llvm::ModulePassManager buildPerModuleDefaultPipeline (
119
118
llvm::PassBuilder &PB, llvm::OptimizationLevel OL,
120
- multi_llvm::Optional <llvm::ModulePassManager> EP) {
119
+ std::optional <llvm::ModulePassManager> EP) {
121
120
assert (OL != llvm::OptimizationLevel::O0);
122
121
if (EP.has_value ()) {
123
122
PB.registerPipelineStartEPCallback (
@@ -134,7 +133,7 @@ inline llvm::ModulePassManager buildPerModuleDefaultPipeline(
134
133
}
135
134
136
135
inline llvm::ModulePassManager buildO0DefaultPipeline (
137
- llvm::PassBuilder &PB, multi_llvm::Optional <llvm::ModulePassManager> EP) {
136
+ llvm::PassBuilder &PB, std::optional <llvm::ModulePassManager> EP) {
138
137
if (EP.has_value ()) {
139
138
PB.registerPipelineStartEPCallback (
140
139
[&EP](llvm::ModulePassManager &MPM, llvm::OptimizationLevel) {
@@ -146,7 +145,7 @@ inline llvm::ModulePassManager buildO0DefaultPipeline(
146
145
147
146
inline llvm::ModulePassManager buildPipeline (
148
147
llvm::PassBuilder &PB, clang::CodeGenOptions Opts,
149
- multi_llvm::Optional <llvm::ModulePassManager> EP) {
148
+ std::optional <llvm::ModulePassManager> EP) {
150
149
return Opts.OptimizationLevel == 0
151
150
? buildO0DefaultPipeline (PB, std::move (EP))
152
151
: buildPerModuleDefaultPipeline (PB, llvm::OptimizationLevel::O3,
@@ -166,8 +165,8 @@ inline llvm::ModulePassManager buildPipeline(
166
165
void runFrontendPipeline (
167
166
compiler::BaseModule &base_module, llvm::Module &module,
168
167
const clang::CodeGenOptions &CGO,
169
- multi_llvm::Optional <llvm::ModulePassManager> EP = multi_llvm::None ,
170
- multi_llvm::Optional <llvm::ModulePassManager> LP = multi_llvm::None ) {
168
+ std::optional <llvm::ModulePassManager> EP = std::nullopt ,
169
+ std::optional <llvm::ModulePassManager> LP = std::nullopt ) {
171
170
llvm::PipelineTuningOptions PTO;
172
171
PTO.LoopUnrolling = CGO.UnrollLoops ;
173
172
auto PassMach = base_module.createPassMachinery ();
@@ -1355,8 +1354,8 @@ void BaseModule::loadBuiltinsPCH(clang::CompilerInstance &instance) {
1355
1354
1356
1355
void BaseModule::runOpenCLFrontendPipeline (
1357
1356
const clang::CodeGenOptions &codeGenOpts,
1358
- multi_llvm::Optional <llvm::ModulePassManager> early_passes,
1359
- multi_llvm::Optional <llvm::ModulePassManager> late_passes) {
1357
+ std::optional <llvm::ModulePassManager> early_passes,
1358
+ std::optional <llvm::ModulePassManager> late_passes) {
1360
1359
if (options.fast_math ) {
1361
1360
if (late_passes.has_value ()) {
1362
1361
late_passes->addPass (FastMathPass ());
@@ -2059,7 +2058,7 @@ void BaseModule::populateOpenCLOpts(clang::CompilerInstance &instance,
2059
2058
std::unique_ptr<compiler::utils::PassMachinery>
2060
2059
BaseModule::createPassMachinery () {
2061
2060
return std::make_unique<BaseModulePassMachinery>(
2062
- llvm_module->getContext (), /* TM*/ nullptr , /* Info*/ multi_llvm::None ,
2061
+ llvm_module->getContext (), /* TM*/ nullptr , /* Info*/ std::nullopt ,
2063
2062
/* BICallback*/ nullptr , target.getContext ().isLLVMVerifyEachEnabled (),
2064
2063
target.getContext ().getLLVMDebugLoggingLevel (),
2065
2064
target.getContext ().isLLVMTimePassesEnabled ());
0 commit comments