Chromium Code Reviews

Issue 1844713004: Subzero: Ignore variables with no actual uses. (Closed)

Created:
4 years, 8 months ago by Jim Stichnoth
Modified:
4 years, 8 months ago
Reviewers:
Eric Holk, Karl, sehr, John
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Subzero: Ignore variables with no actual uses. Liveness analysis uses a pair of bit vectors in each CFG node. The early bits correspond to "global" variables that are referenced in more than one block, and the latter bits correspond to "local" variables that are referenced in only that particular single block. Due to an oversight, variables that have no uses are conservatively classified as global, and consume space in every liveness bit vector. This CL improves memory usage by reducing liveness bit vector size: 1. Identify variables with no actual uses and exclude them from the bit vectors. 2. Don't do liveness analysis on rematerializable variables, because they have no need to be involved in register allocation or dead code elimination. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4366 R=jpp@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=cc89c959c2f602361488e0fdc0bf62e5d197d15c

Patch Set 1 #

Patch Set 2 : Also ignore rematerializable variables #

Unified diffs Side-by-side diffs Stats (+66 lines, -19 lines)
M src/IceInst.cpp View 3 chunks +9 lines, -5 lines 0 comments
M src/IceLiveness.h View 2 chunks +6 lines, -1 line 0 comments
M src/IceLiveness.cpp View 2 chunks +4 lines, -4 lines 0 comments
M src/IceOperand.h View 4 chunks +12 lines, -4 lines 0 comments
M src/IceOperand.cpp View 3 chunks +34 lines, -2 lines 0 comments
M src/IceRegAlloc.cpp View 2 chunks +1 line, -3 lines 0 comments

Messages

Total messages: 6 (3 generated)
Jim Stichnoth
4 years, 8 months ago (2016-03-31 18:26:05 UTC) #3
John
lgtm
4 years, 8 months ago (2016-03-31 18:53:23 UTC) #4
Jim Stichnoth
4 years, 8 months ago (2016-03-31 18:55:28 UTC) #6
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
cc89c959c2f602361488e0fdc0bf62e5d197d15c (presubmit successful).

Powered by Google App Engine