[Mlir-commits] [mlir] [OpenMP][MLIR] Add "IsolatedFromAbove" trait to omp.target (PR #67318)
Kiran Chandramohan
llvmlistbot at llvm.org
Mon Oct 30 05:18:37 PDT 2023
================
@@ -2065,33 +2080,61 @@ convertOmpTarget(Operation &opInst, llvm::IRBuilderBase &builder,
auto targetOp = cast<omp::TargetOp>(opInst);
auto &targetRegion = targetOp.getRegion();
+ DataLayout DL = DataLayout(opInst.getParentOfType<ModuleOp>());
+ SmallVector<Value> mapOperands = targetOp.getMapOperands();
+
+ // Remove mapOperands/blockArgs that have no use inside the region.
+ assert(mapOperands.size() == targetRegion.getNumArguments() &&
+ "Number of mapOperands must be same as block_arguments");
+ for (size_t i = 0; i < mapOperands.size(); i++) {
+ if (targetRegion.getArgument(i).use_empty()) {
+ targetRegion.eraseArgument(i);
+ mapOperands.erase(&mapOperands[i]);
+ i--;
+ }
+ }
----------------
kiranchandramohan wrote:
Nit: Ideally, this should be done earlier. May be the RemoveDeadValues.cpp pass can be used in the flow. No change required now.
https://github.com/llvm/llvm-project/pull/67318
More information about the Mlir-commits
mailing list