DescriptionSubzero: 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 #
Created: 4 years, 8 months ago
Messages
Total messages: 6 (3 generated)
|