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

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 18 10:49:42 PDT 2018


rjmccall 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());
----------------
yaxunl wrote:
> 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.
Okay.  That's worth a comment.

Is the name here specified by some ABI document, or is it just a conventional name that we're picking now?


https://reviews.llvm.org/D49083





More information about the cfe-commits mailing list