jdoerfert added inline comments.

================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:784
+    }
+  }
+
----------------
1) If we would need this, remove the Counter stuff everywhere, if you want to 
iterate a container: `for (const T& : Container)`
2) `BlockParents` seems to be a set with the blocks, we already have that, it's 
called `ParallelRegionBlockSet`, simply pass it in.
3) Why don't we use the `Inputs` and `Outputs` set computed by the 
`findInputsOutputs` call. Those are the live-in and live-out values of the 
parallel region.


================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:795
+  unsigned CapturedSize = CapturedValues.size();
+  std::vector<Type *> StructTypes;
+  StructTypes.reserve(CapturedSize);
----------------



================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:806
+    llvm::IRBuilder<>::InsertPointGuard Guard(Builder);
+    Builder.SetInsertPoint(InsertBeforeInst);
+
----------------
The alloca needs to go in the `OuterAllocaIP` passed in by the caller of 
`CreateParallel`.


================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:821
+    Value *LoadedValue =
+        Builder.CreateExtractValue(LoadedAlloca, SrcIdx.index());
+
----------------
I'm not too happy with this insert/extract value scheme. Without further 
optimization (-O0) this might not be lowered properly. Why don't we create a 
GEP and load/store to the appropriate location instead?


================
Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:831
+            U.set(LoadedValue);
+  }
+}
----------------
Instead of doing this, unpack/load the location in the `PrivHelper` like we did 
before. Also, pass the loaded value as `Inner` to the `PrivCB` so that the 
callback has both the original value `V` and the reload `Inner`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91556

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

Reply via email to