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

Issue 2086653003: [Turbofan] Add the concept of aliasing to RegisterConfiguration. (Closed)

Created:
4 years, 6 months ago by bbudge
Modified:
4 years, 5 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Turbofan] Add the concept of aliasing to RegisterConfiguration. - Adds the concept of FP register aliasing to RegisterConfiguration. - Changes RegisterAllocator to distinguish between FP representations when allocating. - Changes LinearScanAllocator to detect interference when FP register aliasing is combining, as on ARM. - Changes ARM code generation to allow all registers s0 - s31 to be accessed. - Adds unit tests for RegisterConfiguration, mostly to test aliasing calculations. LOG=N BUG=v8:4124 Committed: https://crrev.com/a933b7044a76d99c84607c846487590413cf6743 Cr-Commit-Position: refs/heads/master@{#37251}

Patch Set 1 #

Patch Set 2 : Fix last aliasing issues. #

Patch Set 3 : Minor cleanup. #

Patch Set 4 : Fix inactive live range population. #

Total comments: 23

Patch Set 5 : Mircea's comments. #

Patch Set 6 : Fix UsePosition::HintRegister #

Patch Set 7 : Rebase. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+626 lines, -197 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 1 2 3 4 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/instruction.cc View 1 2 3 4 5 6 1 chunk +10 lines, -2 lines 0 comments Download
M src/compiler/move-optimizer.cc View 1 2 3 4 1 chunk +26 lines, -12 lines 0 comments Download
M src/compiler/register-allocator.h View 1 2 3 4 9 chunks +23 lines, -9 lines 0 comments Download
M src/compiler/register-allocator.cc View 1 2 3 4 5 23 chunks +277 lines, -138 lines 0 comments Download
M src/compiler/register-allocator-verifier.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/wasm-linkage.cc View 2 chunks +13 lines, -1 line 0 comments Download
M src/register-configuration.h View 1 2 3 4 7 chunks +35 lines, -7 lines 0 comments Download
M src/register-configuration.cc View 4 chunks +87 lines, -20 lines 0 comments Download
M test/cctest/compiler/test-run-native-calls.cc View 3 chunks +18 lines, -4 lines 0 comments Download
M test/unittests/compiler/instruction-sequence-unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
A test/unittests/register-configuration-unittest.cc View 1 2 1 chunk +130 lines, -0 lines 0 comments Download
M test/unittests/unittests.gyp View 1 2 3 4 1 chunk +1 line, -0 lines 1 comment Download

Messages

Total messages: 22 (7 generated)
bbudge
https://codereview.chromium.org/2086653003/diff/60001/src/compiler/register-allocator.cc File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/2086653003/diff/60001/src/compiler/register-allocator.cc#newcode2078 src/compiler/register-allocator.cc:2078: } Mircea, I still think I need use positions ...
4 years, 6 months ago (2016-06-21 23:09:35 UTC) #2
Benedikt Meurer
4 years, 6 months ago (2016-06-22 04:43:37 UTC) #4
Mircea Trofin
https://codereview.chromium.org/2086653003/diff/60001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/2086653003/diff/60001/src/compiler/arm/code-generator-arm.cc#newcode38 src/compiler/arm/code-generator-arm.cc:38: SwVfpRegister ToFloat32Register(InstructionOperand* op) { If this is only called ...
4 years, 6 months ago (2016-06-22 06:07:35 UTC) #5
bbudge
https://codereview.chromium.org/2086653003/diff/60001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/2086653003/diff/60001/src/compiler/arm/code-generator-arm.cc#newcode38 src/compiler/arm/code-generator-arm.cc:38: SwVfpRegister ToFloat32Register(InstructionOperand* op) { On 2016/06/22 06:07:34, Mircea Trofin ...
4 years, 6 months ago (2016-06-22 20:16:04 UTC) #6
bbudge
A few other issues I think are worth discussing: - The RegisterConfiguration takes an fp_aliasing_kind ...
4 years, 6 months ago (2016-06-22 20:28:10 UTC) #7
Mircea Trofin
On 2016/06/22 20:28:10, bbudge wrote: > A few other issues I think are worth discussing: ...
4 years, 6 months ago (2016-06-22 21:28:17 UTC) #8
Mircea Trofin
https://codereview.chromium.org/2086653003/diff/60001/src/compiler/instruction.cc File src/compiler/instruction.cc (right): https://codereview.chromium.org/2086653003/diff/60001/src/compiler/instruction.cc#newcode68 src/compiler/instruction.cc:68: RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN); On 2016/06/22 20:16:04, bbudge wrote: > On 2016/06/22 ...
4 years, 6 months ago (2016-06-22 21:37:37 UTC) #9
bbudge
https://codereview.chromium.org/2086653003/diff/60001/src/compiler/instruction.cc File src/compiler/instruction.cc (right): https://codereview.chromium.org/2086653003/diff/60001/src/compiler/instruction.cc#newcode68 src/compiler/instruction.cc:68: RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN); On 2016/06/22 21:37:37, Mircea Trofin wrote: > On ...
4 years, 6 months ago (2016-06-22 21:51:14 UTC) #10
bbudge
On 2016/06/22 21:28:17, Mircea Trofin wrote: > On 2016/06/22 20:28:10, bbudge wrote: > > A ...
4 years, 6 months ago (2016-06-23 01:19:08 UTC) #11
Mircea Trofin
On 2016/06/23 01:19:08, bbudge wrote: > On 2016/06/22 21:28:17, Mircea Trofin wrote: > > On ...
4 years, 5 months ago (2016-06-23 19:34:45 UTC) #12
Benedikt Meurer
LGTM (mostly rubber-stamped)
4 years, 5 months ago (2016-06-24 03:33:39 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2086653003/120001
4 years, 5 months ago (2016-06-24 12:32:25 UTC) #16
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 5 months ago (2016-06-24 12:44:12 UTC) #18
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/a933b7044a76d99c84607c846487590413cf6743 Cr-Commit-Position: refs/heads/master@{#37251}
4 years, 5 months ago (2016-06-24 12:45:15 UTC) #20
Michael Achenbach
4 years, 5 months ago (2016-06-27 07:57:23 UTC) #22
Message was sent while issue was closed.
https://codereview.chromium.org/2086653003/diff/120001/test/unittests/unittes...
File test/unittests/unittests.gyp (right):

https://codereview.chromium.org/2086653003/diff/120001/test/unittests/unittes...
test/unittests/unittests.gyp:123: 'register-configuration-unittest.cc',
Always keep BUILD.gn in sync. Otherwise the test will stop running soon... will
upload a fix.

Powered by Google App Engine
This is Rietveld 408576698