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