[LLVMdev] Disjoint types after reading several modules
Clemens Hammacher
hammacher at cs.uni-saarland.de
Thu Feb 2 06:35:46 PST 2012
On 2/2/12 2:32 PM, Duncan Sands wrote:
> On 02/02/12 14:25, Clemens Hammacher wrote:
>> On 2/2/12 1:51 PM, Duncan Sands wrote:
> ...
>>> what do you mean by "copied over to the main module"? If you want to add
>>> additional IR to the main module then you should link it in using the
>>> linker.
>>
>> I think that the linker would indeed be able to remap the types
>> correctly, but
>> the main obstacle here is that we only copy individual functions.
>> Maybe it would
>> be possible to first copy the function into a new module, and then
>> link this
>> into the main module, but then again the question is how to correctly
>> copy the
>> function to the temporary module ;)
>
> llvm-extract?
Ah, thanks, I didn't know that tool.
But I don't think it's applicable here. It's a command-line tool which
removes all global values and functions which were not explicitely
stated on the command line, and then dumps the remaining module.
Are you proposing to
- compute the set of referenced global values and functions from the
individual function
- write the working module to the disk
- run llvm-extract
- read the extracted module
- use the linker to link it into the main module?
Then I think it's easier to use our current implementation, and just fix
the issue with the duplicated types.
Sorry if I misunderstood your suggestion.
Clemens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6392 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120202/02e2c185/attachment.bin>
More information about the llvm-dev
mailing list