Meinersbur added inline comments.
================ Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:3029-3032 + addLoopMetadata( + CanonicalLoop, + MDNode::get(Ctx, {MDString::get(Ctx, "llvm.loop.parallel_accesses"), + AccessGroup})); ---------------- Instead of calling `addLoopMetadata` repeatedly, consider collecting metadata in a `SmallVector` and call `addLoopMetadata` only once at the end. ``` SmallVector<Metadata*> MDList; if (Safelen == nullptr) { ... MDList.push_back(MDNode::get(...)); } ... addLoopMetadata(CanonicalLoop, MDList); ``` ================ Comment at: llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:3048 + // parameter. Therefore, use safelen only in the absence of simdlen. + ConstantInt *VectorizeWidth = Simdlen == nullptr ? Safelen : Simdlen; addLoopMetadata( ---------------- `safelen` should not mean the same as `llvm.loop.vectorize.width`. `safelen` could be unreasonably large to use as SIMD width or a non-power-of-2. That being said, it's what `CGStmtOpenMP.cpp` does as well and I don't know any better way. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131526/new/ https://reviews.llvm.org/D131526 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits