[LLVMdev] [lld] LLD's software architecture

Michael Spencer bigcheesegs at gmail.com
Thu Apr 17 11:52:59 PDT 2014


On Thu, Apr 17, 2014 at 5:51 AM, Bas van den Berg
<b.van.den.berg.nl at gmail.com> wrote:
> Hi,
>
> I'm analysing the LLD code structure (aka architecture) and am
> trying to mold it into a component model.
> Currently I see 4 components:
> - Driver
> - ReaderWriter
> - Passes
> - Core
>
> I wonder if this is the order that they're supposed to be in,
> since there are also code dependencies upwards from:
>   Core -> ReaderWriter
>   Passes -> ReaderWriter
>   ReaderWriter -> Driver
>
> For a graphical view check:
> http://c2lang.org/docs/lld_architecture_96e1b5e02.png
>
> I think that with a few surgical patches, the dependency tree
> can be completely free of circular deps.
>
> Bas

You're interpretation seems right to me. I would love to get this
cleaned up. A lot of this seems to be caused by the round trip passes,
which I am currently moving up into reader writer (they are no longer
passes). I'm not sure how to fix the LinkingContext dependencies
though.

- Michael Spencer



More information about the llvm-dev mailing list