[LLVMdev] Continuing PR5680: preserve order of use lists in bitcode

Chandler Carruth chandlerc at google.com
Tue Jul 8 16:48:49 PDT 2014


On Tue, Jul 8, 2014 at 4:29 PM, Duncan P. N. Exon Smith <
duncan at exonsmith.com> wrote:

> I'm looking to tackle PR5680 [1].  The primary goal is to prevent
> behaviour changes in passes that depend on the order of use lists when
> serializing/deserializing the IR to a bitcode file (.bc) between passes.
>
> Here's a quick high-level summary:
>
>   - When writing bitcode, calculate what the use list order will be
>     after reading the bitcode.  (Assumption: the order is predictable.)
>
>   - Write a use-list-order-diff in a new (optional) section in the
>     bitcode.
>
>   - When reading bitcode, apply the use-list-order-diff to restore the
>     original use list order.
>

So, it may be totally obvious, but is there a reason not to embed the
observed order of the use list in the bitcode more directly? This seems
quite round-about, and I'm curious why its needed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140708/99997663/attachment.html>


More information about the llvm-dev mailing list