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

Issue 1424923005: Add workaround to allow testing of 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

Add workaround to allow testing of ARM integrated assembler. It turns out that there are several instruction in the ARM integrated assembler that do not get translated correctly. This results in the spec2k tests not being compilable. To workaround this problem, this CL adds a (temporary) flag that allows all translations to be applied by the integrated assembler. When this flag is false (the default) only correctly working translations to be applied by the integrated assembler. This allows lit tests to still be applied to the correct portions of broken translations. This CL also fixes a bug with local (instruction) labels that did not generate a corresponding label to the -filetype=iasm assembly file. 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=cb504ca52cb41c781e8642ea652e7db08ec27f9a

Patch Set 1 #

Patch Set 2 : Fix nits and format. #

Patch Set 3 : Remove unnecessary addition of ARM32 local (assembler) label. #

Total comments: 4

Patch Set 4 : Fix how to handle issue with integrated assembler. #

Patch Set 5 : Fix nits. #

Total comments: 4

Patch Set 6 : Fix nits. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -23 lines) Patch
M pydir/crosstest_generator.py View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceAssemblerARM32.h View 1 2 3 1 chunk +7 lines, -1 line 0 comments Download
M src/IceClFlags.h View 1 2 3 4 5 2 chunks +6 lines, -0 lines 0 comments Download
M src/IceClFlags.cpp View 1 2 3 3 chunks +8 lines, -0 lines 0 comments Download
M src/IceInstARM32.cpp View 1 2 3 4 5 chunks +9 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/bic.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/branch-mult-fwd.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/branch-simple.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/global-load-store.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/load-store.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/mov-imm.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/mul.ll View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/sdiv.ll View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M tests_lit/assembler/arm32/udiv.ll View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
Karl
5 years, 1 month ago (2015-11-02 22:48:52 UTC) #3
Jim Stichnoth
Sorry to have to say this, but yuck! Could you work toward a fix instead ...
5 years, 1 month ago (2015-11-03 00:21:43 UTC) #4
Karl
Rewrote this CL to reduce yukiness. By default, only fully working translations are lowered by ...
5 years, 1 month ago (2015-11-03 18:56:11 UTC) #5
Jim Stichnoth
LGTM, and I hope this whole thing is very short-lived. :) https://codereview.chromium.org/1424923005/diff/80001/pydir/crosstest_generator.py File pydir/crosstest_generator.py (right): ...
5 years, 1 month ago (2015-11-04 01:01:10 UTC) #6
Karl
Committed patchset #6 (id:100001) manually as cb504ca52cb41c781e8642ea652e7db08ec27f9a (presubmit successful).
5 years, 1 month ago (2015-11-04 16:02:12 UTC) #8
Karl
5 years, 1 month ago (2015-11-04 16:02:40 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/1424923005/diff/80001/pydir/crosstest_generat...
File pydir/crosstest_generator.py (right):

https://codereview.chromium.org/1424923005/diff/80001/pydir/crosstest_generat...
pydir/crosstest_generator.py:69: # ARM doesn't have a complete integrated
assembler yet.
On 2015/11/04 01:01:09, stichnot wrote:
> I would change this comment to say that ARM doesn't have an ELF writer yet. 
The
> default in crosstest.py is iasm, but that could be changed to obj which would
> break arm32 without the explicit --filetype=iasm.

Done.

https://codereview.chromium.org/1424923005/diff/80001/src/IceClFlags.h
File src/IceClFlags.h (right):

https://codereview.chromium.org/1424923005/diff/80001/src/IceClFlags.h#newcod...
src/IceClFlags.h:262: bool AllowUnsafeIas;
On 2015/11/04 01:01:09, stichnot wrote:
> Can we have a TODO to nuke this flag?

Done.

Powered by Google App Engine
This is Rietveld 408576698