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

Issue 1265093002: Subzero: Expand the liveness consistency check. (Closed)

Created:
5 years, 4 months ago by Jim Stichnoth
Modified:
5 years, 4 months ago
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: Expand the liveness consistency check. Liveness analysis includes a consistency check on each node, to verify that variables referenced in only one block do not appear to be live coming into a block (and are therefore live across multiple blocks). This check was disabled in the entry block because there might be function arguments that are referenced only in the entry block but are still live coming in. It seems that this entry-block exclusion has been largely unnecessary for some time. This is because input arguments and other special variables are now pre-marked as multi-block. The exclusion masks problems in some single-block lit tests, so it's best if it can be removed. This CL removes the exclusion, and fixes some minor issues uncovered in the MIPS and ARM target lowering. A key issue is that when implementing a new target lowering and using --skip-unimplemented to make progress with existing tests, it may be necessary to add FakeDef instructions to avoid liveness inconsistency errors. Note that when this patch is applied to 448c16f0f6905460a3d27e728ed0f14a1c08ff69, it correctly identifies the liveness consistency error (as shown by a "make check-lit" failure) that was fixed in 59f2d925252faa7ae7cc688cfdfcf7c4a6f62cce. BUG= none R=jpp@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=b3bfcbcb11c437480c575a78c1cd0d1c213721c7

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4 lines, -5 lines) Patch
M src/IceCfgNode.cpp View 1 chunk +1 line, -4 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 4 (1 generated)
Jim Stichnoth
5 years, 4 months ago (2015-08-01 14:09:08 UTC) #2
John
lgtm
5 years, 4 months ago (2015-08-01 15:39:44 UTC) #3
Jim Stichnoth
5 years, 4 months ago (2015-08-02 01:46:20 UTC) #4
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
b3bfcbcb11c437480c575a78c1cd0d1c213721c7 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698