[llvm] r191042 - Fix LTO handling of module-level assembly (PR14152).
Peter Collingbourne
peter at pcc.me.uk
Mon Sep 23 16:30:51 PDT 2013
On Mon, Sep 23, 2013 at 04:06:50PM -0700, Tom Roeder wrote:
> Here is a new version of the patch that removes the all-targets
> dependency from lib/LTO, drops the changes to
> utils/llvm-build/llvmbuild, and updates tools/llvm-lto, tools/lto, and
> tools/gold to take the new initialization/all-targets dependency into
> account.
>
> I removed LTODisassembler.cpp from tools/lto, since its only task
> seemed to be initialization, and I needed that independently, and
> nothing seemed to be using it. At the same time, I added the function
> lto_initialize to tools/lto and llvm-c/lto.h and used it for
> initialization in gold.
>
> I've tested this on Linux with cmake/ninja and configure/make, and
> I've tested the gold plugin with the simple test case from
> test/lib/LTO/cfi_endproc.ll.
>
> Please take a look.
Hi Tom,
> /**
> - * Initializes LLVM disassemblers.
> - * FIXME: This doesn't really belong here.
> + * Initializes LLVM Targets for lto. This must be called before
> + * creating an lto_code_gen_t or lto_module_t.
> */
> extern void
> -lto_initialize_disassembler(void);
> +lto_initialize(void);
I don't think this is right. libLTO is a stable external interface used
by Apple's linker. Can you make the lto_codegen_create and lto_module_create*
functions do the target initialization if needed?
Thanks,
--
Peter
More information about the llvm-commits
mailing list