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

Issue 1136793002: Handle ARM "ret void" and function alignment with proper padding. (Closed)

Created:
5 years, 7 months ago by jvoung (off chromium)
Modified:
5 years, 7 months ago
Reviewers:
Karl, Jim Stichnoth, JF
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

Handle ARM "ret void" and function alignment with proper padding. Modify run-pnacl-sz to pass in the correct assembler/disasembler flags for ARM when not using the integrated assembler. Model the "ret" pseudo instruction (special form of "bx" inst). Separate from "bx" to allow epilogue insertion to find the terminator. Add a flag "--skip-unimplemented" to skip through all of the "Not yet implemented" assertions, and use that in the test. Set up a stack trace printer when ALLOW_DUMP so that the UnimplementedError prints out some useful information of *which* case is unimplemented. Change the .type ...,@function from @function to %function. ARM assembler seems to only like %function because "@" is a comment character. 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=b2d5084c573ef5de15eb0e87bdde5dfba59e524a

Patch Set 1 #

Patch Set 2 : clang-format #

Patch Set 3 : rename param #

Total comments: 20

Patch Set 4 : review #

Patch Set 5 : negate #

Patch Set 6 : fix comment #

Patch Set 7 : add comment #

Patch Set 8 : redundant comment #

Patch Set 9 : note moved to cpp #

Unified diffs Side-by-side diffs Delta from patch set Stats (+431 lines, -96 lines) Patch
M Makefile.standalone View 1 chunk +1 line, -0 lines 0 comments Download
M pydir/run-pnacl-sz.py View 4 chunks +25 lines, -7 lines 0 comments Download
M src/IceCfg.cpp View 1 chunk +3 lines, -2 lines 0 comments Download
M src/IceClFlags.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceClFlags.cpp View 3 chunks +7 lines, -0 lines 0 comments Download
M src/IceCompileServer.cpp View 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceInstARM32.h View 1 2 3 4 5 6 7 1 chunk +94 lines, -1 line 0 comments Download
A src/IceInstARM32.cpp View 1 2 3 4 5 6 1 chunk +101 lines, -0 lines 0 comments Download
M src/IceInstARM32.def View 1 2 3 1 chunk +19 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 2 chunks +9 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 18 chunks +121 lines, -77 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceUtils.h View 1 2 3 1 chunk +15 lines, -0 lines 0 comments Download
M src/assembler.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/assembler_arm32.h View 1 1 chunk +10 lines, -7 lines 0 comments Download
M src/assembler_ia32.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/function_aligned.ll View 1 2 3 4 5 2 chunks +13 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
jvoung (off chromium)
Decided to send out the simpler "ret void" first instead of stuff for add (which ...
5 years, 7 months ago (2015-05-08 21:31:25 UTC) #2
Jim Stichnoth
https://codereview.chromium.org/1136793002/diff/40001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1136793002/diff/40001/src/IceCfg.cpp#newcode467 src/IceCfg.cpp:467: Str << "\t.type\t" << MangledName << ",%function\n"; % instead ...
5 years, 7 months ago (2015-05-11 20:12:32 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/1136793002/diff/40001/src/IceCfg.cpp File src/IceCfg.cpp (right): https://codereview.chromium.org/1136793002/diff/40001/src/IceCfg.cpp#newcode467 src/IceCfg.cpp:467: Str << "\t.type\t" << MangledName << ",%function\n"; On 2015/05/11 ...
5 years, 7 months ago (2015-05-11 22:11:51 UTC) #4
Jim Stichnoth
lgtm https://codereview.chromium.org/1136793002/diff/40001/src/IceTargetLoweringARM32.cpp File src/IceTargetLoweringARM32.cpp (right): https://codereview.chromium.org/1136793002/diff/40001/src/IceTargetLoweringARM32.cpp#newcode276 src/IceTargetLoweringARM32.cpp:276: if (Offset <= -(1 << InstARM32::kOffset12Bits) || On ...
5 years, 7 months ago (2015-05-12 00:01:45 UTC) #5
jvoung (off chromium)
Thanks! https://codereview.chromium.org/1136793002/diff/40001/src/IceTargetLoweringARM32.cpp File src/IceTargetLoweringARM32.cpp (right): https://codereview.chromium.org/1136793002/diff/40001/src/IceTargetLoweringARM32.cpp#newcode276 src/IceTargetLoweringARM32.cpp:276: if (Offset <= -(1 << InstARM32::kOffset12Bits) || On ...
5 years, 7 months ago (2015-05-12 16:38:09 UTC) #6
jvoung (off chromium)
5 years, 7 months ago (2015-05-12 16:53:56 UTC) #7
Message was sent while issue was closed.
Committed patchset #9 (id:150001) manually as
b2d5084c573ef5de15eb0e87bdde5dfba59e524a (tree was closed).

Powered by Google App Engine
This is Rietveld 408576698