Subzero: Improve lowering of rematerializable call args.

Normally, if a call argument is a rematerializable Variable, it is rematerialized into a GPR (via the "lea" instruction) and then written into the appropriate arg space.

This is appropriate for arguments passed on the stack, but for register arguments, it forces an unnecessary copy through another register.

This CL allows that intermediate register copy to be removed.

The resulting code looks cleaner, but it is unlikely to have much effect on performance - there really aren't register pressure issues because lots of scratch registers are available right before the call (which kills all scratch registers).

BUG= none
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/2080443002 .
1 file changed