DescriptionSubzero: 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
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=deb5a8258ff638b23af3dd6f05eb1ea8bebd131d
Patch Set 1 #Patch Set 2 : Rebase #
Total comments: 2
Messages
Total messages: 9 (3 generated)
|