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

Issue 1614273002: Subzero: Make -reg-use and -reg-exclude specific to register class. (Closed)

Created:
4 years, 11 months ago by Jim Stichnoth
Modified:
4 years, 11 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: Make -reg-use and -reg-exclude specific to register class. The main feature here is that when listing a register via the -reg-use or -reg-exclude option, we can limit the effect to a single register class, instead of applying it across all register classes. Example: pnacl-sz -reg-use i32:eax,i32:ecx,i32:edx -reg-exclude f32:xmm0 Note that without the register class prefix, behavior is the same as before, specifically that the restriction applies to all register classes. This requires a few high-level changes: 1. We need a mechanism to name *all* register classes, not just the standard ones that map to IceType values. 2. While we're at it, give standard types a more usable name, e.g. "v4i32" instead of "<4 x i32>". 3. Since we've commandeered ":" as the class/register token separator, we change ARM i64 register pair names from e.g. "r0:r1" to "r0r1". The motivation is that for register allocator torture testing, we'd like to drastically restrict the registers available to e.g. the extensively-used i32 register class, while not overly restricting the seldom-used i32to8 register class (which reflects the set of i32 registers that may trivially truncate to i8). BUG= none R=kschimpf@google.com Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=2544d4d2ef7e340664dc0748a5de966f0ee8ef08

Patch Set 1 #

Patch Set 2 : Cleanup #

Total comments: 8

Patch Set 3 : Code review changes #

Patch Set 4 : Add error log #

Unified diffs Side-by-side diffs Delta from patch set Stats (+170 lines, -87 lines) Patch
M src/IceOperand.h View 1 chunk +0 lines, -17 lines 0 comments Download
M src/IceRegAlloc.cpp View 1 2 3 1 chunk +6 lines, -3 lines 0 comments Download
M src/IceTargetLowering.h View 1 chunk +2 lines, -1 line 0 comments Download
M src/IceTargetLowering.cpp View 1 2 3 chunks +52 lines, -27 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 chunks +18 lines, -5 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 2 3 chunks +14 lines, -4 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632Traits.h View 1 chunk +1 line, -1 line 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 1 chunk +19 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 chunk +1 line, -1 line 0 comments Download
M src/IceTypes.h View 1 2 chunks +20 lines, -1 line 0 comments Download
M src/IceTypes.cpp View 1 5 chunks +14 lines, -5 lines 0 comments Download
M src/IceTypes.def View 1 2 chunks +19 lines, -18 lines 0 comments Download

Messages

Total messages: 9 (4 generated)
Jim Stichnoth
4 years, 11 months ago (2016-01-22 01:24:48 UTC) #4
Karl
https://codereview.chromium.org/1614273002/diff/20001/src/IceTargetLowering.cpp File src/IceTargetLowering.cpp (right): https://codereview.chromium.org/1614273002/diff/20001/src/IceTargetLowering.cpp#newcode180 src/IceTargetLowering.cpp:180: [&BadRegNames, RegNameToIndex, TypeToRegisterSet, TypeToRegisterSetSize, Why not just use [&] ...
4 years, 11 months ago (2016-01-22 17:10:55 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/1614273002/diff/20001/src/IceTargetLowering.cpp File src/IceTargetLowering.cpp (right): https://codereview.chromium.org/1614273002/diff/20001/src/IceTargetLowering.cpp#newcode180 src/IceTargetLowering.cpp:180: [&BadRegNames, RegNameToIndex, TypeToRegisterSet, TypeToRegisterSetSize, On 2016/01/22 17:10:54, Karl wrote: ...
4 years, 11 months ago (2016-01-22 19:02:17 UTC) #6
Karl
lgtm
4 years, 11 months ago (2016-01-22 19:17:52 UTC) #7
Jim Stichnoth
4 years, 11 months ago (2016-01-22 21:07:51 UTC) #9
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
2544d4d2ef7e340664dc0748a5de966f0ee8ef08 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698