fghanim added a comment.

Thanks for the update. Just a couple of Nits, and a quick note



================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:288
   struct OutlineInfo {
-    SmallVector<BasicBlock *, 32> Blocks;
     using PostOutlineCBTy = std::function<void(Function &)>;
----------------
Nit: isn't this supposed to be part of one of the other patches you split of 
this?


================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:433
 
-  Builder.SetInsertPoint(OuterFn->getEntryBlock().getFirstNonPHI());
-  AllocaInst *TIDAddr = Builder.CreateAlloca(Int32, nullptr, "tid.addr");
-  AllocaInst *ZeroAddr = Builder.CreateAlloca(Int32, nullptr, "zero.addr");
+  IRBuilder<> AllocaBuilder(AllocaIP.getBlock(), AllocaIP.getPoint());
+
----------------
Here and elsewhere: You seem to have forgotten to undo the changes introduced 
by using a separate `AllocaBuilder`?

Also, Nit: before using `AllocaIP`, either add an assert that it is not empty, 
or alternatively, add logic to just set it to entry block of `outerfn` if it is


================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:490
   // of the outlined function.
-  InsertPointTy AllocaIP(PRegEntryBB,
-                         PRegEntryBB->getTerminator()->getIterator());
-  Builder.restoreIP(AllocaIP);
+  AllocaIP =
+      InsertPointTy(PRegEntryBB, PRegEntryBB->getTerminator()->getIterator());
----------------
NIT: I think it would be better to give each a different name, to avoid 
unnecessary confusion. maybe `OuterAllocaIP` and `innerAllocaIP`? Also, we 
don't overwrite the `outerAllocaIP` in case it's needed later?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82470/new/

https://reviews.llvm.org/D82470



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to