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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140417/3e31466c/attachment.html>
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. > > BasYou'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
These upward dependencies are I think a kind of bug that needs to be fixed. If you can remove them I'd love to see that. On Thu, Apr 17, 2014 at 11:52 AM, Michael Spencer <bigcheesegs at gmail.com>wrote:> 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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140417/3dc5909e/attachment.html>
Reasonably Related Threads
- [LLVMdev] [lld] LLD's software architecture (update)
- [LLVMdev] [lld] LLD's software architecture (update)
- [LLVMdev] [lld] LLD's software architecture (update)
- [LLVMdev] [lld] LLD's software architecture (update)
- [LLVMdev] Can we establish layering for the LLD libraries? Current state is a bit of a mess...