[CGFCOLLECTOR] Adding Fortran call graph collector#115
[CGFCOLLECTOR] Adding Fortran call graph collector#115gomfol12 wants to merge 143 commits intotudasc:develfrom
Conversation
pearzt
left a comment
There was a problem hiding this comment.
Thanks a lot for all the work, the structure looks really good. I have some initial comments, but I will try to do a more in-depth review soon.
jplehr
left a comment
There was a problem hiding this comment.
Thank you for working on this.
I did an initial brief pass, please go through the comments and address them.
One more question: Does this PR as-is already run CI pipelines? If not, please add it to the CI pipelines as appropriate.
cgfcollector/src/Main.cpp
Outdated
|
|
||
| std::string cgString = dumpCG(); | ||
|
|
||
| std::unique_ptr<llvm::raw_pwrite_stream> file = ::createOutputFile(getInstance(), getCurrentFile(), ""); |
There was a problem hiding this comment.
This can be problematic in parallel CI runs
There was a problem hiding this comment.
I don't understand why this could be problematic. Every test case operates on its own set of files and is only run once, per CI run.
|
Please rebase this onto the most current |
01f3d3f to
ed5d7ff
Compare
… for debugging graph edges
… not inserted into cg
d0aea8b to
4f762f9
Compare
This adds a call graph collector for Fortran. The collector is implemented as a flang plugin and generates a call graph from source-level. See the tests for a list of language features this plugin covers.
This pull request is quite large, but it is not really possible splitting it in multiply requests without pushing broken code. The tests could be separate into a different pull request, but they are tightly coupled with the collector and would fail without it, so I think keeping it in one pull request makes sense.
What this adds:
cgfcollectorthat includes flang plugin, tests, tools, etc.cgfcollector_wrapper.shandcgfcollector_comp_wrapper.shthat simplify running the plugin.How to run: see
cgfcollector/README.mdThe commit history is a mess, and I don't know how strongly you value a clean git history and if I should clean this up.