@@ -252,15 +252,16 @@ class PrepareForOMPOffloadPrivatizationPass
252252 // variable, rewrite all the uses of the original variable with
253253 // the heap-allocated variable.
254254 rewriter.setInsertionPoint (targetOp);
255- auto clonedOp = cast<omp::MapInfoOp>(cloneModifyAndErase (mapInfoOp));
256- rewriter.setInsertionPoint (clonedOp );
255+ mapInfoOp = cast<omp::MapInfoOp>(cloneModifyAndErase (mapInfoOp));
256+ rewriter.setInsertionPoint (mapInfoOp );
257257
258258 // Fix any members that may use varPtr to now use heapMem
259- for (auto member : clonedOp .getMembers ()) {
259+ for (auto member : mapInfoOp .getMembers ()) {
260260 auto memberMapInfoOp = cast<omp::MapInfoOp>(member.getDefiningOp ());
261261 if (!usesVarPtr (memberMapInfoOp))
262262 continue ;
263- rewriter.setInsertionPoint (cloneModifyAndErase (memberMapInfoOp));
263+ memberMapInfoOp = cast<omp::MapInfoOp>(cloneModifyAndErase (memberMapInfoOp));
264+ rewriter.setInsertionPoint (memberMapInfoOp);
264265
265266 if (memberMapInfoOp.getVarPtrPtr ()) {
266267 Operation *varPtrPtrdefOp =
@@ -276,7 +277,7 @@ class PrepareForOMPOffloadPrivatizationPass
276277 // targetOp.
277278 if (isPrivatizedByValue) {
278279 rewriter.setInsertionPoint (targetOp);
279- auto newPrivVar = LLVM::LoadOp::create (rewriter, clonedOp .getLoc (),
280+ auto newPrivVar = LLVM::LoadOp::create (rewriter, mapInfoOp .getLoc (),
280281 varType, heapMem);
281282 newPrivVars.push_back (newPrivVar);
282283 }
0 commit comments