summaryrefslogtreecommitdiff
path: root/mlir
diff options
context:
space:
mode:
Diffstat (limited to 'mlir')
-rw-r--r--mlir/lib/Target/LLVMIR/ModuleTranslation.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
index 70171e77eab9..864095fa3464 100644
--- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
@@ -1274,19 +1274,23 @@ SmallVector<llvm::Value *> ModuleTranslation::lookupValues(ValueRange values) {
llvm::OpenMPIRBuilder *ModuleTranslation::getOpenMPBuilder() {
if (!ompBuilder) {
ompBuilder = std::make_unique<llvm::OpenMPIRBuilder>(*llvmModule);
- ompBuilder->initialize();
bool isDevice = false;
+ llvm::StringRef hostIRFilePath = "";
if (auto offloadMod =
- dyn_cast<mlir::omp::OffloadModuleInterface>(mlirModule))
+ dyn_cast<mlir::omp::OffloadModuleInterface>(mlirModule)) {
isDevice = offloadMod.getIsDevice();
+ hostIRFilePath = offloadMod.getHostIRFilePath();
+ }
+
+ ompBuilder->initialize(hostIRFilePath);
// TODO: set the flags when available
- llvm::OpenMPIRBuilderConfig Config(
+ llvm::OpenMPIRBuilderConfig config(
isDevice, /* IsTargetCodegen */ false,
/* HasRequiresUnifiedSharedMemory */ false,
/* OpenMPOffloadMandatory */ false);
- ompBuilder->setConfig(Config);
+ ompBuilder->setConfig(config);
}
return ompBuilder.get();
}