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

Issue 1412963008: Add the PUSH instruction to ARM integrated assembler. (Closed)

Created:
5 years, 1 month ago by Karl
Modified:
5 years, 1 month ago
Reviewers:
Jim Stichnoth, 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

Patch Set 1 #

Total comments: 4

Patch Set 2 : Fix nits. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+295 lines, -7 lines) Patch
M src/DartARM32/assembler_arm.h View 3 chunks +13 lines, -0 lines 0 comments Download
M src/DartARM32/assembler_arm.cc View 4 chunks +13 lines, -6 lines 0 comments Download
M src/IceAssemblerARM32.h View 3 chunks +24 lines, -0 lines 0 comments Download
M src/IceAssemblerARM32.cpp View 1 4 chunks +45 lines, -0 lines 0 comments Download
M src/IceInstARM32.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInstARM32.cpp View 1 1 chunk +45 lines, -0 lines 0 comments Download
M tests_lit/assembler/arm32/bic.ll View 1 chunk +5 lines, -1 line 0 comments Download
A tests_lit/assembler/arm32/push-pop.ll View 1 1 chunk +149 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
Karl
5 years, 1 month ago (2015-11-05 22:46:36 UTC) #3
Jim Stichnoth
otherwise lgtm https://codereview.chromium.org/1412963008/diff/1/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1412963008/diff/1/src/IceAssemblerARM32.cpp#newcode546 src/IceAssemblerARM32.cpp:546: Registers >= (1 << 16)) What is ...
5 years, 1 month ago (2015-11-06 00:59:10 UTC) #4
Karl
Committed patchset #2 (id:20001) manually as 6cab56197153807395ff60d1d672b0098dd97a8a (presubmit successful).
5 years, 1 month ago (2015-11-06 17:14:15 UTC) #5
Karl
5 years, 1 month ago (2015-11-06 17:14:30 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/1412963008/diff/1/src/IceAssemblerARM32.cpp
File src/IceAssemblerARM32.cpp (right):

https://codereview.chromium.org/1412963008/diff/1/src/IceAssemblerARM32.cpp#n...
src/IceAssemblerARM32.cpp:546: Registers >= (1 << 16))
On 2015/11/06 00:59:09, stichnot wrote:
> What is this magic 16?  Can you document it in a constexpr?

Done.

https://codereview.chromium.org/1412963008/diff/1/tests_lit/assembler/arm32/p...
File tests_lit/assembler/arm32/push-pop.ll (right):

https://codereview.chromium.org/1412963008/diff/1/tests_lit/assembler/arm32/p...
tests_lit/assembler/arm32/push-pop.ll:72: call void @DoSomething();
On 2015/11/06 00:59:09, stichnot wrote:
> Add a comment describing the trick: the over-eager O2 register allocator puts
v1
> and v2 into callee-save registers since the call instruction kills the scratch
> registers, requiring these callee-save registers to be pushed/popped in the
> prolog/epilog.

Done.

Powered by Google App Engine
This is Rietveld 408576698