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

Reply via email to