summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/analyze-project-deps.py
Commit message (Collapse)AuthorAgeFilesLines
* Use list comprehension instead of map/filter to prepare Python2/3 compatSerge Guelton2019-03-211-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D59579 llvm-svn: 356647
* Make scripts/analyzer-project-deps compatible with python3Pavel Labath2018-12-061-19/+19
| | | | llvm-svn: 348479
* Make scripts/analyze-project-deps.py executablePavel Labath2017-06-291-1/+3
| | | | llvm-svn: 306669
* [analyze deps] Show incoming and outgoing counts on island members.Zachary Turner2017-03-221-2/+13
| | | | llvm-svn: 298535
* [analyze deps] Also show cycle islands.Zachary Turner2017-03-221-0/+14
| | | | | | | | | | | | | | | | | | | We currently display a list of all minimal cycles, but it's useful to be able to see the big picture impact of these cycles by merging them all together into groups of interconnected components. Because the cycle discovery algorithm only considers "minimal" cycles, it discards all information for dependencies which are not considered part of the minimal cycle. So all we know is that the components of each island definitely all depend on each other but it's still possible that there are hidden dependencies due to transitive includes. The cycle list should still be the authoritative reference for deciding where the easiest places to break cycles are, though. llvm-svn: 298530
* [deps script] Sort cycles by the difficulty of breaking.Zachary Turner2017-03-211-7/+30
| | | | | | | | | When passing --discover-cycles and --show-counts, it displays the number of dependencies between each hop of the cycle, and sorts by the sum. Dependencies at the top of the list should be the easiest to break. llvm-svn: 298455
* [analyze-project-deps.py] Add the ability to list all cycles.Zachary Turner2017-03-201-1/+77
| | | | | | | | | | | | | | This analyzes the dependency graph and computes all minimal cycles. Equivalent cycles that differ only by rotation are excluded, as are cycles that are "super-cycles" of other smaller cycles. For example, if we discover the cycle A -> C -> A, and then later A -> B -> C -> D -> A, this latter cycle is not considered. Thus, it is possible that after eliminating some cycles, new ones will appear. However, this is the only way to make the algorithm terminate in a reasonable amount of time. llvm-svn: 298324
* A few improvements to deps analysis scripts.Zachary Turner2017-03-061-26/+42
| | | | | | | | 1) Looks in Plugins and clang 2) Adds a mode to display the deps sorted by the number of times the deps occurs in a particular project llvm-svn: 297036
* Fix line endings of deps analysis script.Zachary Turner2017-03-061-65/+65
| | | | llvm-svn: 297035
* Fix a bug in the dep analysis script.Zachary Turner2017-03-041-0/+1
| | | | | | | It wasn't always normalizing slashes correctly, so you'd end up with the same thing in the map twice. llvm-svn: 296947
* Add a script to dump out all project inter-dependencies.Zachary Turner2017-03-031-0/+65
llvm-svn: 296920
OpenPOWER on IntegriCloud