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

Issue 1508423003: Subzero. ARM32. Introduces explicit register parameter attribute. (Closed)

Created:
5 years ago by John
Modified:
5 years ago
Reviewers:
Jim Stichnoth, Karl, sehr
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. ARM32. Introduces explicit register parameter attribute. The ARM32 backend used to rely on a specific register declaration order for calling convention register assignment. This CL introduces a new field in the ARM32 register tables for explicitly setting which register holds which parameter. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=2187c84aaf770db0e70024d8781c414e270625a0

Patch Set 1 : Adds the new cc_arg parameter to the reg. tables. No functional changes. #

Patch Set 2 : Integer arguments use the new register table field. #

Patch Set 3 : Modifes the CallingConv class to use the cc_arg parameter from the Register tables. #

Patch Set 4 : #

Patch Set 5 : Reserves r12; make format. #

Patch Set 6 : Adds some comments; make format; make presubmit #

Total comments: 15

Patch Set 7 : Addresses comments. #

Total comments: 9

Patch Set 8 : Addresses comments. #

Total comments: 2

Patch Set 9 : Addresses comment. #

Patch Set 10 : New IceRegistersARM32.def file. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+508 lines, -513 lines) Patch
M Makefile.standalone View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -0 lines 0 comments Download
M pydir/gen_arm32_reg_tables.py View 1 2 3 4 5 6 7 8 6 chunks +134 lines, -115 lines 0 comments Download
M src/IceInstARM32.def View 1 2 3 4 5 6 7 2 chunks +6 lines, -164 lines 0 comments Download
M src/IceRegList.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceRegistersARM32.h View 1 2 6 chunks +16 lines, -10 lines 0 comments Download
A src/IceRegistersARM32.def View 1 2 3 4 5 6 7 8 9 1 chunk +119 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 3 4 5 6 1 chunk +19 lines, -23 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 5 6 7 8 12 chunks +209 lines, -199 lines 0 comments Download

Messages

Total messages: 12 (2 generated)
John
5 years ago (2015-12-09 22:52:49 UTC) #2
Jim Stichnoth
https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def File src/IceInstARM32.def (right): https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def#newcode38 src/IceInstARM32.def:38: X(Reg_r0, 0, "r0", 1, 1, 0, 0, 0, 1, ...
5 years ago (2015-12-10 19:04:06 UTC) #3
Jim Stichnoth
https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def File src/IceInstARM32.def (right): https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def#newcode38 src/IceInstARM32.def:38: X(Reg_r0, 0, "r0", 1, 1, 0, 0, 0, 1, ...
5 years ago (2015-12-11 06:17:13 UTC) #4
John
https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def File src/IceInstARM32.def (right): https://codereview.chromium.org/1508423003/diff/100001/src/IceInstARM32.def#newcode38 src/IceInstARM32.def:38: X(Reg_r0, 0, "r0", 1, 1, 0, 0, 0, 1, ...
5 years ago (2015-12-11 15:43:30 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone File Makefile.standalone (right): https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone#newcode329 Makefile.standalone:329: echo "IceRegistersARM32.def is out-of-date. Please regenerate it with " ...
5 years ago (2015-12-11 18:47:41 UTC) #6
Jim Stichnoth
https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone File Makefile.standalone (right): https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone#newcode329 Makefile.standalone:329: echo "IceRegistersARM32.def is out-of-date. Please regenerate it with " ...
5 years ago (2015-12-11 20:15:25 UTC) #7
John
https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone File Makefile.standalone (right): https://codereview.chromium.org/1508423003/diff/120001/Makefile.standalone#newcode329 Makefile.standalone:329: echo "IceRegistersARM32.def is out-of-date. Please regenerate it with " ...
5 years ago (2015-12-11 20:23:32 UTC) #8
Jim Stichnoth
lgtm https://codereview.chromium.org/1508423003/diff/140001/pydir/gen_arm32_reg_tables.py File pydir/gen_arm32_reg_tables.py (right): https://codereview.chromium.org/1508423003/diff/140001/pydir/gen_arm32_reg_tables.py#newcode209 pydir/gen_arm32_reg_tables.py:209: print ("// This file was auto generated by ...
5 years ago (2015-12-11 21:22:10 UTC) #9
John
Committed patchset #10 (id:180001) manually as 2187c84aaf770db0e70024d8781c414e270625a0 (presubmit successful).
5 years ago (2015-12-16 15:48:29 UTC) #11
John
5 years ago (2015-12-16 15:51:14 UTC) #12
Message was sent while issue was closed.
https://codereview.chromium.org/1508423003/diff/140001/pydir/gen_arm32_reg_ta...
File pydir/gen_arm32_reg_tables.py (right):

https://codereview.chromium.org/1508423003/diff/140001/pydir/gen_arm32_reg_ta...
pydir/gen_arm32_reg_tables.py:209: print ("// This file was auto generated by
the gen_arm32_reg_tables.py script. "
On 2015/12/11 21:22:10, stichnot wrote:
> It would be extra cool if the "gen_arm32_reg_tables.py" string could come from
> argv[0] or whatever, to make it more future-proof.

Done.

Powered by Google App Engine
This is Rietveld 408576698