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

Issue 1452293003: Add BL (immediate) and BLX (register) to ARM assembler. (Closed)

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

Patch Set 2 : Fix nits. #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+179 lines, -20 lines) Patch
M src/DartARM32/assembler_arm.h View 4 chunks +10 lines, -6 lines 0 comments Download
M src/DartARM32/assembler_arm.cc View 5 chunks +7 lines, -6 lines 0 comments Download
M src/IceAssemblerARM32.h View 1 3 chunks +22 lines, -6 lines 2 comments Download
M src/IceAssemblerARM32.cpp View 2 chunks +53 lines, -0 lines 4 comments Download
M src/IceInstARM32.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInstARM32.cpp View 1 1 chunk +20 lines, -0 lines 0 comments Download
A tests_lit/assembler/arm32/blx.ll View 1 chunk +64 lines, -0 lines 2 comments Download
M tests_lit/assembler/arm32/push-pop.ll View 1 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
Karl
5 years, 1 month ago (2015-11-17 23:57:31 UTC) #3
John
Few nits, otherwise lgtm. https://codereview.chromium.org/1452293003/diff/1/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1452293003/diff/1/src/IceAssemblerARM32.cpp#newcode344 src/IceAssemblerARM32.cpp:344: new (allocate<BlRelocatableFixup>()) BlRelocatableFixup(); The usual ...
5 years, 1 month ago (2015-11-18 01:04:17 UTC) #4
Karl
Committed patchset #2 (id:20001) manually as 174531ec83bf9d51b2dc669b3f73f1fb637fbcce (presubmit successful).
5 years, 1 month ago (2015-11-18 16:19:32 UTC) #5
Karl
https://codereview.chromium.org/1452293003/diff/1/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1452293003/diff/1/src/IceAssemblerARM32.cpp#newcode344 src/IceAssemblerARM32.cpp:344: new (allocate<BlRelocatableFixup>()) BlRelocatableFixup(); On 2015/11/18 01:04:17, John wrote: > ...
5 years, 1 month ago (2015-11-18 16:19:37 UTC) #6
Jim Stichnoth
otherwise necro lgtm. Try to address comments in a future CL? https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): ...
5 years, 1 month ago (2015-11-22 03:27:03 UTC) #7
Karl
5 years ago (2015-11-30 16:54:35 UTC) #8
Message was sent while issue was closed.
Fixed in CL https://codereview.chromium.org/1484023002.

https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.cpp
File src/IceAssemblerARM32.cpp (right):

https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.c...
src/IceAssemblerARM32.cpp:336: Str << "\tbl\t" << symbol(Ctx) << "\t@ .word "
On 2015/11/22 03:27:03, stichnot wrote:
> At least on the x86 emit() side, we try to separate the \t from the opcode,
> e.g.:
> 
>   Str << "\t" << "bl\t" << ...
> 
> This is so you can find uses of the opcode easier using "git grep -w bl".

Done.

https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.c...
src/IceAssemblerARM32.cpp:737: int32_t Encoding = (static_cast<int32_t>(Cond) <<
kConditionShift) | B24 |
On 2015/11/22 03:27:03, stichnot wrote:
> IValueT instead of int32_t, right?

Replaced with encodeCondition(Cond).

https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.h
File src/IceAssemblerARM32.h (right):

https://codereview.chromium.org/1452293003/diff/20001/src/IceAssemblerARM32.h...
src/IceAssemblerARM32.h:116: BlRelocatableFixup *createBlFixup(const
ConstantRelocatable *Target);
On 2015/11/22 03:27:03, stichnot wrote:
> I'd be happier if we reserved variable name "Target" for a TargetLowering*. 
> Better might be BrTarget or BlTarget.

Done.

https://codereview.chromium.org/1452293003/diff/20001/tests_lit/assembler/arm...
File tests_lit/assembler/arm32/blx.ll (right):

https://codereview.chromium.org/1452293003/diff/20001/tests_lit/assembler/arm...
tests_lit/assembler/arm32/blx.ll:1: ; Show that we know how to translate add.
On 2015/11/22 03:27:03, stichnot wrote:
> add?

Replaced with blx.

Powered by Google App Engine
This is Rietveld 408576698