[mono][interp] Reduce redundant moves with calls#79905
Conversation
|
Tagging subscribers to this area: @BrzVlad Issue DetailsWe were marking INTERP_LOCAL_FLAG_NO_CALL_ARGS for source vars of non calls. With further optimizations, the var could end up being used only for the call but we never unset the flag. Reuse the ref count data instead, which is kept updated following optimizations, to achieve same thing. If cprop is not run then we always duplicate the args, but this is an unused scenario.
|
e3148f4 to
226d05b
Compare
|
This PR is currently blocked by bug in the call args offset allocation: #80175 Failure happens in |
We were marking INTERP_LOCAL_FLAG_NO_CALL_ARGS for source vars of non calls. With further optimizations, the var could end up being used only for the call but we never unset the flag. Reuse the ref count data, which is kept updated following optimizations, to achieve same thing. If cprop is not run then we always duplicate the args, but this is an unused scenario.
226d05b to
d7205fe
Compare
We were marking INTERP_LOCAL_FLAG_NO_CALL_ARGS for source vars of non calls. With further optimizations, the var could end up being used only for the call but we never unset the flag. Reuse the ref count data instead, which is kept updated following optimizations, to achieve same thing. If cprop is not run then we always duplicate the args, but this is an unused scenario.