ABataev added inline comments.
================ Comment at: clang/lib/CodeGen/CGDecl.cpp:591 + auto &RT = + *(static_cast<CGOpenMPRuntimeGPU *>(&CGF.CGM.getOpenMPRuntime())); + RT.getKmpcFreeShared(CGF, AddrSizePair); ---------------- Same, just CGOpenMPRuntime &RT = CGM.getOpenMPRuntime(); ================ Comment at: clang/lib/CodeGen/CGDecl.cpp:1605 + if (getLangOpts().OpenMPIsDevice) { + auto &RT = static_cast<CGOpenMPRuntimeGPU &>(CGM.getOpenMPRuntime()); + if (RT.isDelayedVariableLengthDecl(*this, &D)) { ---------------- Here and in other places, jusy remove the cast to CGOpenMPRuntimeGPU, CGM.getOpenMPRuntime() already provides virtual functions, use them directly without cast: ``` CGOpenMPRuntime &RT = CGM.getOpenMPRuntime(); ``` ================ Comment at: clang/lib/CodeGen/CGOpenMPRuntime.h:699-710 + /// Get call to __kmpc_alloc_shared + virtual std::pair<llvm::Value *, llvm::Value *> + getKmpcAllocShared(CodeGenFunction &CGF, const VarDecl *VD) { + llvm_unreachable("not implemented"); + } + + /// Get call to __kmpc_free_shared ---------------- doru1004 wrote: > @ABataev I have added the interface entries here. Then you already good, just do not gast to CGOpenMPRuntimeGPU, use CGM.getOpenMPRuntime() directly since it already has these member functions. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153883/new/ https://reviews.llvm.org/D153883 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits