Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Issue 650613003: Subzero: Speed up VariablesMetadata initialization. (Closed)

Created:
6 years, 2 months ago by Jim Stichnoth
Modified:
6 years, 2 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Visibility:
Public.

Description

Subzero: Speed up VariablesMetadata initialization. Currently, O2 calls VariablesMetadata::init() 4 times: - Twice for liveness analysis, where only multi-block use information is needed for dealing with sparse bit vectors. - Once for address mode inference, where single-definition information is needed. - Once for register allocation, where all information is needed, including the set of all definitions which is needed for determining AllowOverlap. So we limit the amount of data we gather based on the actual need. BUG= none R=jvoung@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=877b04e409637216712d3c36fc155b47f8bd8d38

Patch Set 1 #

Total comments: 2

Patch Set 2 : Change variable name to clarify meaning; weaken assert #

Patch Set 3 : Split Definitions[] into first plus the rest #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -35 lines) Patch
M src/IceCfg.cpp View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceOperand.h View 1 2 6 chunks +16 lines, -8 lines 0 comments Download
M src/IceOperand.cpp View 1 2 11 chunks +38 lines, -18 lines 0 comments Download
M src/IceRegAlloc.cpp View 1 2 2 chunks +8 lines, -5 lines 2 comments Download
M src/IceTargetLoweringX8632.cpp View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
Jim Stichnoth
This gives 3-5% improvement in O2 translation time.
6 years, 2 months ago (2014-10-15 17:10:07 UTC) #2
jvoung (off chromium)
otherwise LGTM https://codereview.chromium.org/650613003/diff/1/src/IceOperand.cpp File src/IceOperand.cpp (right): https://codereview.chromium.org/650613003/diff/1/src/IceOperand.cpp#newcode249 src/IceOperand.cpp:249: if (FirstDefinition == NULL) Looks like this ...
6 years, 2 months ago (2014-10-15 17:44:55 UTC) #3
Jim Stichnoth
PTAL. I changed the meaning of Definitions[] to be all definitions except the first one, ...
6 years, 2 months ago (2014-10-15 21:29:43 UTC) #4
jvoung (off chromium)
LGTM https://codereview.chromium.org/650613003/diff/40001/src/IceRegAlloc.cpp File src/IceRegAlloc.cpp (right): https://codereview.chromium.org/650613003/diff/40001/src/IceRegAlloc.cpp#newcode56 src/IceRegAlloc.cpp:56: for (size_t i = 0; i < Defs.size(); ...
6 years, 2 months ago (2014-10-15 22:10:37 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/650613003/diff/40001/src/IceRegAlloc.cpp File src/IceRegAlloc.cpp (right): https://codereview.chromium.org/650613003/diff/40001/src/IceRegAlloc.cpp#newcode56 src/IceRegAlloc.cpp:56: for (size_t i = 0; i < Defs.size(); ++i) ...
6 years, 2 months ago (2014-10-15 22:12:44 UTC) #6
Jim Stichnoth
6 years, 2 months ago (2014-10-15 22:13:12 UTC) #7
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
877b04e409637216712d3c36fc155b47f8bd8d38 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698