[llvm-bugs] [Bug 26959] New: [idea] Some sort of "layering analysis" / "layering check" feature.

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Mar 16 00:19:59 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=26959

            Bug ID: 26959
           Summary: [idea] Some sort of "layering analysis" / "layering
                    check" feature.
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: chisophugis at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

The linker is in a unique position to analyze the layering of the input
program.

I'm not sure what form this would take. Maybe some form of visualization. Maybe
a diagnostic about recursive dependencies between object files. Maybe a
diagnostic about recursive dependencies between archives.
Note that STT_FILE gives us a way to give useful information at the source file
level (and if we want to go crazy then debug info can give more precision).

One interesting thing is this sort of "matrix" visualization of the
dependencies: http://www.c2lang.org/docs/lld_architecture_20150126.png
(from thread "[LLVMdev] [lld] LLD's software architecture (jan 2015)")
This is a layering diagram for (atom) LLD itself, but the idea would be to
provide users with this information about *their* program (but LLD can dogfood
this, of course).

This is just an idea. I'm not sure if this is feasible to implement, but I
think it would be a nice feature.
Once we can visualize this in a useful way, we can start looking at real
projects to figure out what would is a realistic useful "check" that users may
want and would not be too noisy.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160316/a1e39269/attachment.html>


More information about the llvm-bugs mailing list