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

Issue 1407273006: Generate block labels in the ARM hybrid assembler. (Closed)

Created:
5 years, 2 months ago by Karl
Modified:
5 years, 2 months ago
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

Generate block labels in the ARM hybrid assembler. Fixes an issue where branches don't compile in the hybrid integrated assembler because some jump instructions have not yet been integrated. It does this by adding an instruction label for each corresponding label generated by the standalone ARM assembler. Note that in order to fix this, I had to change the signature of virtual method Assembler::bindCfgNodeLabel to get the Cfg node (rather than the index value). This allows the ARM hybrid assembler to generate a label for each CfgNode (using the getAsmName() method). BUG= https://code.google.com/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=50a3331c517ea0945987b616f4c5cf607aa81b9b

Patch Set 1 #

Patch Set 2 : Ready for review. #

Total comments: 2

Patch Set 3 : Fix nit. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+133 lines, -28 lines) Patch
M src/IceAssembler.h View 1 chunk +2 lines, -3 lines 0 comments Download
M src/IceAssemblerARM32.h View 1 4 chunks +23 lines, -6 lines 0 comments Download
M src/IceAssemblerARM32.cpp View 1 2 3 chunks +18 lines, -4 lines 0 comments Download
M src/IceAssemblerMIPS32.h View 1 chunk +1 line, -2 lines 0 comments Download
M src/IceAssemblerX86Base.h View 1 chunk +1 line, -1 line 0 comments Download
M src/IceAssemblerX86BaseImpl.h View 2 chunks +3 lines, -2 lines 0 comments Download
M src/IceCfgNode.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/IceInstARM32.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceInstARM32.cpp View 1 chunk +7 lines, -0 lines 0 comments Download
M tests_lit/assembler/arm32/add.ll View 2 chunks +8 lines, -6 lines 0 comments Download
A tests_lit/assembler/arm32/branch-simple.ll View 1 chunk +64 lines, -0 lines 0 comments Download
M tests_lit/assembler/arm32/global-load-store.ll View 2 chunks +2 lines, -0 lines 0 comments Download
M tests_lit/assembler/arm32/ret.ll View 1 chunk +1 line, -2 lines 0 comments Download
M tests_lit/assembler/arm32/sub.ll View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 6 (2 generated)
Karl
5 years, 2 months ago (2015-10-22 20:15:11 UTC) #3
Jim Stichnoth
lgtm https://codereview.chromium.org/1407273006/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1407273006/diff/20001/src/IceAssemblerARM32.cpp#newcode211 src/IceAssemblerARM32.cpp:211: emitTextInst(Node->getAsmName() + ":", 0); Can you use "constexpr ...
5 years, 2 months ago (2015-10-23 13:54:52 UTC) #4
Karl
Committed patchset #3 (id:40001) manually as 50a3331c517ea0945987b616f4c5cf607aa81b9b (presubmit successful).
5 years, 2 months ago (2015-10-23 16:19:53 UTC) #5
Karl
5 years, 2 months ago (2015-10-23 16:20:07 UTC) #6
Message was sent while issue was closed.
https://chromiumcodereview.appspot.com/1407273006/diff/20001/src/IceAssembler...
File src/IceAssemblerARM32.cpp (right):

https://chromiumcodereview.appspot.com/1407273006/diff/20001/src/IceAssembler...
src/IceAssemblerARM32.cpp:211: emitTextInst(Node->getAsmName() + ":", 0);
On 2015/10/23 13:54:52, stichnot wrote:
> Can you use "constexpr SizeT InstSize = 0;" for the "0" arg?

Done.

Powered by Google App Engine
This is Rietveld 408576698