codeql icon indicating copy to clipboard operation
codeql copied to clipboard

C++: Global value numbering for function calls

Open rdmarsh2 opened this issue 3 years ago • 1 comments
trafficstars

This PR adds global value numbering for function calls, taking into account side effects. It also eliminates global side effects for function calls when the function does not use or modify non-local state other than what's immediately pointed to by its parameters.

rdmarsh2 avatar Jul 25 '22 19:07 rdmarsh2

Small update on this PR. There's a very large performance regression. I would have guessed that it was due to the recursion through forall, but it looks like callPartialValueNumber is to blame. There may just be too much non-linear recursion.

MathiasVP avatar Aug 25 '22 12:08 MathiasVP