On Sun, Jul 03, 2016 at 05:51:09PM -0700, Francisco Jerez wrote: > This series is the result of a long back and forth of patches between > Serge and me. Most of the changes are already reviewed by either of > us, but I'm sending them again over the mailing list just in case > somebody else wants to give additional feedback. Patches 1-30 are > mainly cleaning up and reworking the current LLVM interfacing > infrastructure in preparation for the following changes. Patches > 31-47 is where program compilation is actually split in two stages and > support for linking multiple CL programs into one executable binary is > implemented. >
I have no objections to this series and will be happy to see it committed. -Tom > You can find the same series in the clover-link-program branch of my > git tree: > > https://cgit.freedesktop.org/~currojerez/mesa/log/?h=clover-link-program > > [PATCH 01/47] clover: Bump required LLVM version to 3.6. > [PATCH 02/47] clover/llvm: Drop support for LLVM < 3.6. > [PATCH 03/47] clover/llvm: Drop dead code. > [PATCH 04/47] clover/llvm: Collect #ifdef mess into a separate file. > [PATCH 05/47] clover/llvm: Factor out target string parsing. > [PATCH 06/47] clover/llvm: Factor out compiler option tokenization. > [PATCH 07/47] clover/llvm: Refactor compiler instance initialization. > [PATCH 08/47] clover/llvm: Declare compiler instance at top level and pass > down as argument. > [PATCH 09/47] clover/llvm: Factor out LLVM context init. > [PATCH 10/47] clover/llvm: Clean up compilation into LLVM IR. > [PATCH 11/47] clover/llvm: Trivial codestyle clean-up for optimize(). > [PATCH 12/47] clover/llvm: Simplify diagnostic_handler(). > [PATCH 13/47] clover/llvm: Use helper function to abort compilation with > error message. > [PATCH 14/47] clover/llvm: Tidy debug handling. > [PATCH 15/47] clover/llvm: Move a bunch of utility functions into separate > file. > [PATCH 16/47] clover/llvm: Clean up ELF parsing. > [PATCH 17/47] clover/llvm: Clean up compile_native(). > [PATCH 18/47] clover/llvm: Factor out duplicated construction of > clover::module. > [PATCH 19/47] clover/llvm: Fold compile_native() call into > build_module_native(). > [PATCH 20/47] clover/llvm: Clean up codestyle of get_kernel_args(). > [PATCH 21/47] clover/llvm: Add simplified utility functions for metadata > introspection. > [PATCH 22/47] clover/llvm: Use metadata introspection utils for kernel > argument set-up. > [PATCH 23/47] clover/llvm: Use metadata introspection utils for kernel > enumeration. > [PATCH 24/47] clover/llvm: Clean up bitcode codegen. > [PATCH 25/47] clover/llvm: Split native codegen and assembly print-out into > separate functions. > [PATCH 26/47] clover/llvm: Define function for bitcode print-out. > [PATCH 27/47] clover/llvm: Split shared codegen support code into separate > file. > [PATCH 28/47] clover/llvm: Split bitcode codegen into separate file. > [PATCH 29/47] clover/llvm: Split native codegen into separate file. > [PATCH 30/47] clover/llvm: Trivial assorted cleanups for invocation.cpp. > [PATCH 31/47] clover/llvm: Implement library bitcode codegen. > [PATCH 32/47] clover/llvm: Split compilation and linking. > [PATCH 33/47] clover/llvm: Implement linkage of multiple clover modules. > [PATCH 34/47] clover/llvm: Implement the -create-library linker option. > [PATCH 35/47] clover/tgsi: Move compiler entry point declaration into tgsi > directory and namespace. > [PATCH 36/47] clover/tgsi: Add stub link_program() function. > [PATCH 37/47] clover: Override ret_object. > [PATCH 38/47] clover: Move back to using build_error to signal compilation > failure. > [PATCH 39/47] clover: Define error subclass to signal build option parse > failure. > [PATCH 40/47] clover: Change program::build opts argument to std::string. > [PATCH 41/47] clover: Unify program::build_* into a single method returning a > struct. > [PATCH 42/47] clover: Provide separate program methods for compilation and > linking. > [PATCH 43/47] clover/llvm: Get rid of compile_program_llvm(). > [PATCH 44/47] clover/core: Remove compiler.hpp. > [PATCH 45/47] clover: Trivial cleanups for api/program.cpp. > [PATCH 46/47] clover: Add clLinkProgram (CL 1.2). > [PATCH 47/47] clover/api: Implement clLinkProgram per-device binary presence > validation rule. > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev