Page MenuHomePhabricator

dang (Daniel Grumberg)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 13 2018, 4:28 PM (52 w, 6 d)

Recent Activity

Dec 13 2018

dang added a comment to D55080: [ThinLTO] Out-of-process CodeGenerator for legacy C API.

Thanks for taking a look. This patch is adding the customization points for thinLTO legacy API, which the code generator constructs clang invocations to do code generation. There is no dependency on any build system here and it only has a prove of concept codegen manager which invokes clang directly and collect the result back. You can replace this codegen manager with any protocol that is needed to talk to build system to run clang codegen.
XPC is the way to send information between process on Darwin, which is probably what we are going to use to talk to build system. If interested, I can post a patch which have example how to construct XPC communications, but there isn’t a build system you can use to listen on the other side to run the job yet.
When I say there are no code change for linker, I really mean there is no need to change a single line of code (maybe we need to add an API to select codegen manager in the future). ld64 really has a different approach using C API, which it tries to map the object file output back to the bitcode it gets as input. Terminating and relaunching the linker might has unexpected semantic changes for LTO. In the long run, maybe ld64 needs to design a new set of APIs to use the new C++ APIs but this is out of scope of this patch.

Dec 13 2018, 4:41 AM

Sep 13 2018

dang added a comment to D52049: [ThinLTOCodeGenerator] Avoid Rehash StringMap in ThreadPool.

LGTM I think both find and this are not the nicest, but I can't come up with anything better.

Sep 13 2018, 5:14 PM
dang added a comment to D52049: [ThinLTOCodeGenerator] Avoid Rehash StringMap in ThreadPool.
Sep 13 2018, 4:54 PM