DescriptionFloat Constant CSE
Load multiple uses of a floating point constant (between two call
instructions or block start/end) into a variable before its first use.
t1 = b + 1.0
t2 = c + 1.0
Gets transformed to:
t0 = 1.0
t0_1 = t0
t1 = b + t0_1
t2 = c + t0_1
Call instructions reset the procedure, but uses the same variable, just
in case it got a register. We are assuming floating point registers are
not calee saved in general. Example, continuing from before:
result = call <some function>
t3 = d + 1.0
Gets transformed to:
result = call <some function>
t0_2 = t0
t3 = d + t0_2
BUG= none
R=stichnot@chromium.org
Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=5bcc6caf4b1890ef678d67fedf905977a2fc8576
Patch Set 1 #
Total comments: 22
Patch Set 2 : Address Comments #
Total comments: 12
Patch Set 3 : Address Comments #
Messages
Total messages: 11 (5 generated)
|