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

Issue 1495093002: Improve error handling in the ARM integrated assembler. (Closed)

Created:
5 years 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

Improve error handling in the ARM integrated assembler. Up to now, all error handling in the ARM integrated assembler was handled by forcing a text fixup. This CL tries to minimize the use of fixup's to only be applied when there is an unimplemented form of an instruction. All other cases now generate fatal error messages. This CL should make it easier to determine what instructions still need to be extended. BUG= https://bugs.chromium.org/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=0437ae82073b1d52ec17452e9267cde099a73ad2

Patch Set 1 #

Patch Set 2 : Fix nits. #

Total comments: 8

Patch Set 3 : Fix issues in last patch. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+361 lines, -325 lines) Patch
M src/IceAssemblerARM32.h View 1 1 chunk +24 lines, -19 lines 0 comments Download
M src/IceAssemblerARM32.cpp View 1 2 55 chunks +337 lines, -306 lines 2 comments Download

Messages

Total messages: 9 (3 generated)
Karl
5 years ago (2015-12-03 20:34:02 UTC) #3
Jim Stichnoth
https://codereview.chromium.org/1495093002/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1495093002/diff/20001/src/IceAssemblerARM32.cpp#newcode360 src/IceAssemblerARM32.cpp:360: inline IValueT encodeRegister(const Operand *OpReg, const char *RegName, I ...
5 years ago (2015-12-03 21:19:50 UTC) #4
Karl
https://codereview.chromium.org/1495093002/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1495093002/diff/20001/src/IceAssemblerARM32.cpp#newcode360 src/IceAssemblerARM32.cpp:360: inline IValueT encodeRegister(const Operand *OpReg, const char *RegName, On ...
5 years ago (2015-12-03 23:52:59 UTC) #5
Jim Stichnoth
otherwise lgtm https://codereview.chromium.org/1495093002/diff/40001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1495093002/diff/40001/src/IceAssemblerARM32.cpp#newcode368 src/IceAssemblerARM32.cpp:368: if (!BuildDefs::minimal() && !isGPRRegisterDefined(Reg)) I think you ...
5 years ago (2015-12-04 00:02:40 UTC) #6
Karl
Committed patchset #3 (id:40001) manually as 0437ae82073b1d52ec17452e9267cde099a73ad2 (presubmit successful).
5 years ago (2015-12-04 15:29:17 UTC) #8
Karl
5 years ago (2015-12-04 15:29:30 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/1495093002/diff/40001/src/IceAssemblerARM32.cpp
File src/IceAssemblerARM32.cpp (right):

https://codereview.chromium.org/1495093002/diff/40001/src/IceAssemblerARM32.c...
src/IceAssemblerARM32.cpp:368: if (!BuildDefs::minimal() &&
!isGPRRegisterDefined(Reg))
On 2015/12/04 00:02:40, stichnot wrote:
> I think you should follow the usual BuildDefs pattern:
> 
>   if (BuildDefs::minimal())
>     return;
>   if (!isGPRRegisterDefined(Reg))
>     llvm::report_fatal_error(...);

Done.

Powered by Google App Engine
This is Rietveld 408576698