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

Issue 380363002: Subzero: Fix a regalloc bug involving too-aggressive AllowRegisterOverlap. (Closed)

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

Description

Subzero: Fix a regalloc bug involving too-aggressive AllowRegisterOverlap. See the BUG description for more details. In short, the register allocator was inappropriately honoring AllowRegisterOverlap even when the variable's live range overlaps with an Unhandled variable precolored to the preferred register. Also changes legalize() logic to recognize when a variable is guaranteed to ultimately have a physical register due to infinite weight, and not create a new temporary in those cases. Finally, dumps RegisterPreference and AllowRegisterOverlap info for Variables for improved diagnostics. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3897 R=jvoung@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=ca662e9

Patch Set 1 #

Total comments: 3

Patch Set 2 : Add PrecoloredUnhandled to the output #

Unified diffs Side-by-side diffs Delta from patch set Stats (+20 lines, -4 lines) Patch
M src/IceCfg.cpp View 1 chunk +7 lines, -0 lines 0 comments Download
M src/IceRegAlloc.cpp View 1 3 chunks +8 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 chunk +5 lines, -2 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Jim Stichnoth
6 years, 5 months ago (2014-07-10 21:26:32 UTC) #1
jvoung (off chromium)
LGTM https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp File src/IceRegAlloc.cpp (right): https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp#newcode224 src/IceRegAlloc.cpp:224: << "(U=" << RegUses[i] << ",F=" << Free[i] ...
6 years, 5 months ago (2014-07-10 21:55:32 UTC) #2
jvoung (off chromium)
https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp File src/IceRegAlloc.cpp (right): https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp#newcode224 src/IceRegAlloc.cpp:224: << "(U=" << RegUses[i] << ",F=" << Free[i] << ...
6 years, 5 months ago (2014-07-10 21:56:43 UTC) #3
Jim Stichnoth
https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp File src/IceRegAlloc.cpp (right): https://codereview.chromium.org/380363002/diff/1/src/IceRegAlloc.cpp#newcode224 src/IceRegAlloc.cpp:224: << "(U=" << RegUses[i] << ",F=" << Free[i] << ...
6 years, 5 months ago (2014-07-10 22:32:10 UTC) #4
Jim Stichnoth
6 years, 5 months ago (2014-07-10 22:32:40 UTC) #5
Message was sent while issue was closed.
Committed patchset #2 manually as rca662e9 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698