[PATCH] D49083: [HIP] Register/unregister device fat binary only once

Yaxun Liu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 18 08:06:29 PDT 2018


yaxunl added inline comments.


================
Comment at: lib/CodeGen/CGCUDANV.cpp:444
+    auto HandleValue =
+        CtorBuilder.CreateAlignedLoad(GpuBinaryHandle, CGM.getPointerAlign());
+    llvm::Constant *Zero = llvm::Constant::getNullValue(HandleValue->getType());
----------------
rjmccall wrote:
> Do you not need to worry about concurrency here?
The ctor functions are executed by the dynamic loader before the program gains the control. The dynamic loader cannot excute the ctor functions concurrently since doing that would not gurantee thread safety of the loaded program. Therefore we can assume sequential execution of ctor functions here.


https://reviews.llvm.org/D49083





More information about the cfe-commits mailing list