Subzero: Improve register availability peephole for function return values.
Originally, a call instruction was lowered like this:
// %result = call @foo(...)
%t1:eax = call foo
%result = %t1:eax
Because t1 is pre-colored, it is not available as a substitution if the following instruction uses %result as a source operand.
To improve this, we copy it through an intermediate temporary:
// %result = call @foo(...)
%t1:eax = call foo
%t2 = %t1:eax
%result = %t2
BUG= none
R=eholk@chromium.org
Review URL: https://codereview.chromium.org/2064073005 .
1 file changed