https://github.com/Xazax-hun commented:
Overall, this looks like a reasonable direction. I had some nits inline. That being said, I am wondering if there is an alternative approach that might be more performant. Specifically, I am not sure how well we scale with the number of facts that we generate. I would not be surprised if having fewer facts would have a significant impact on performance. Some of these escaping related facts do not really affect the dataflow analysis that much, they just add some metadata about the escaping semantics. One potential way to keep the number of facts lower is to not have dedicated facts for escaping but maintain a side table that maps use facts to their escaping semantics. If the number of facts make a difference in the dataflow analysis, another optimization could be to collapse use facts. E.g., instead of having a separate fact for each use, we could have a single use fact mentioning all arguments of a function call and so on. All that being said, these are all just random ideas and should not be part of this PR, I mostly just brought this up to start the brainstorming process. https://github.com/llvm/llvm-project/pull/186126 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
