- 12 Dec, 2015 1 commit
-
-
Reed Kotler authored
This is an attempt to make IceBuildDefs more understandable in the Doxygen produced output, as well as when the various functions are later referenced from other parts of the subzero docs. If you look at the doxygen for both the file and the IceBuildDefs namespace, I think it's definitely much clearer. I'm still learning Doxygen and always see new things and more that I could have done but Rome was not built in a day. In my browser: file:///home/rkotler/nacl_dir/native_client/toolchain_build/src/subzero/docs/html/namespaceIce_1_1BuildDefs.html and file:///home/rkotler/nacl_dir/native_client/toolchain_build/src/subzero/docs/html/IceBuildDefs_8h.html BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1519113003 . Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
-
- 11 Dec, 2015 5 commits
-
-
Jim Stichnoth authored
auto *Foo = llvm::cast<Foo>(...) auto *Foo = llvm::dyn_cast<Foo>(...) auto *Foo = llvm::dyn_cast_or_null<Foo>(...) auto *Foo = Foo::create(...) Some instances may have been missed due to line breaks or "const" mismatches. BUG= none R=kschimpf@google.com Review URL: https://codereview.chromium.org/1516753008 .
-
Reed Kotler authored
BUG= R=kschimpf@google.com, stichnot@chromium.org Review URL: https://codereview.chromium.org/1514193003 . Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
-
Karl Schimpf authored
Adds the data-processing "register-shifted register" form, as well as the 5-bit immediate shift for mov instructions (which unfortunately represent this form differently than other instructions). This CL fixes the ARM integrated assembler to handle all non-V (i.e. neon) instructions used by the spec2k test suite except: rsc: 59 instances. rev: 14 instances. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=jpp@chromium.org, stichnot@chromium.org Review URL: https://codereview.chromium.org/1516063002 .
-
Karl Schimpf authored
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=jpp@chromium.org, stichnot@chromium.org Review URL: https://codereview.chromium.org/1517863002 .
-
Karl Schimpf authored
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=jpp@chromium.org, stichnot@chromium.org Review URL: https://codereview.chromium.org/1516103003 .
-
- 10 Dec, 2015 2 commits
-
-
Reed Kotler authored
the comments now for the main program describe it very well and the classes and methods in the comments are clickable. BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1511483005 . Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
-
Jim Stichnoth authored
Defining this argument as "required=False, default=None" means it's not really optional. It's possible to provide a reasonable default like in e.g. szbuild.py. BUG= none R=jpp@chromium.org Review URL: https://codereview.chromium.org/1511963002 .
-
- 09 Dec, 2015 3 commits
-
-
Karl Schimpf authored
Note: There are no updates to the Dart source files, because Dart doesn't implement this instruction (data memory barrier). BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1507873004 .
-
John Porto authored
After some time of being neglected, this CL improves FP lowering for ARM32. 1) It emits vpush {list}, and vpop {list} when possible. 2) It stops saving alised Vfp registers multiple times (yes, sz used to save both D and S registers even when they aliased.) 3) Introduces Vmla (fp multiply and accumulate) and Vmls (multiply and subtract.) (1 + 2) minimally (but positively) affected SPEC. (3) caused a 2% geomean improvement. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1481133002 . -
Jim Stichnoth authored
The previous filter was too aggressive at changing "//" to "///". The new filter does that transformation more selectively, starting at a commented TODO line and ending at the next non-commented line. BUG= none Review URL: https://codereview.chromium.org/1510893004 .
-
- 08 Dec, 2015 4 commits
-
-
Karl Schimpf authored
Fixes (at least) the obvious problems with sandboxing and the integrated assembler. This includes: Added assembly instruction Nop. Fixed implementation of padWithNop. Fixed linking to local label to only fire when persistent (i.e. last pass of assembly generation). Removed restriction on single register push/pop, since the ARM integrated assembler converts it to a corresopnding str/ldr. Fixed OperandARM32FlexImm to use smallest rotation value, so that external assemblers and the ARM integrated assembler will agree on encoding. Fixed ARM sandboxing requires test in sandboxing.ll BUG=None R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1511653002 .
-
Karl Schimpf authored
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1513543002 .
-
Karl Schimpf authored
BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1509243002 .
-
Karl Schimpf authored
Refactors code to take advantage of these instructions with Uxtb/Uxth. Note. These instructions are used by Subzero, but not Dart. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1503273002 .
-
- 07 Dec, 2015 3 commits
-
-
Reed Kotler authored
seems like these two lines are common to both paths and in fact the different classes allocated are derived from the same common base class so this makes sense to me. BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1494753003 . Patch from Reed Kotler <rkotlerimgtec@gmail.com>.
-
Karl Schimpf authored
Also factors out the body of method lsl() to emitShift(), so that all forms of shift instructions can use the same code. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1501073002 .
-
Jim Stichnoth authored
Uses a nasty regexp to turn something like: // ... TODO(stichnot): Fix // this. into: /// ... @todo TODO(stichnot): Fix /// this. so that doxygen can generate the TODO list. Matches "TODO:" and "TODO " and "TODO(...". BUG= none R=rkotlerimgtec@gmail.com Review URL: https://codereview.chromium.org/1489413007 .
-
- 05 Dec, 2015 1 commit
-
-
John Porto authored
(See https://codereview.chromium.org/1491473002/ for the steps taken while implementing sandboxing.) BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1499983002 .
-
- 04 Dec, 2015 6 commits
-
-
Karl Schimpf authored
Adds RSB (immediate) and RSB (register) to the ARM integrated assembler. Also moves udiv method to corresponding (sorted) position in cpp file. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1494433005 .
-
Karl Schimpf authored
Add allowing movt to work on integer constants that aren't relocatable. Also clean up code sharing between movw and movt. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1500073002 .
-
Jim Stichnoth authored
Once again, the configuration file that comes with Doxygen seems to have defaults set for those generating API Documentation and not for documenting the code in a whole project. With this turned off, even todos and such are ignored in an anonymous namespace. BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1501503002 .
-
Karl Schimpf authored
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 Review URL: https://codereview.chromium.org/1495093002 .
-
John Porto authored
This reverts commit 38ac6bee (mistakenly TBRed.) BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 Review URL: https://codereview.chromium.org/1499973002 .
-
John Porto authored
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 Review URL: https://codereview.chromium.org/1491473002 .
-
- 03 Dec, 2015 2 commits
-
-
John Porto authored
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1477873002 .
-
Jim Stichnoth authored
There is a consistent mistake in most of the file level subzero doxygen comments which stems from a problem with brief. Basically, there are two types of documentation in Doxygen, inline and structural documentation. File level documentation is always structural because inline documentation must either come before or after the entity and for a file that would be impossible. When you have structure documentation, the brief and detailed is handled differently and you have to explicity put the \brief qualifier in. We were only doing this for a few files so when you looked the doxygen for the source directory, the description was blank for almost all of them. If you build docs with this patch and look at the "files" and src directory, you will see all the brief descriptions now. In addition I deleted the text "This file ..." from the beginning of all the file desriptions because it's redundant when you look at the doxygen output and adds no information but takes up space in the descripton. BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1488913002 .
-
- 02 Dec, 2015 2 commits
-
-
Karl Schimpf authored
Cleans up function names containing "decode" and "encode". Change "encode" to represent the conversion of values into bit-sequences, as they appear in instructions. Change "decode" to represent the extraction of values from bit sequences. BUG=None R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1490383002 .
-
Karl Schimpf authored
Adds many more cases of ldr{b,h}/str{b,h} instructions to the ARM integerated assembler. Also refactored decodeAddress() to deal with the fact that immediate/register arguments for LDR/LDRB/STR/STRB differ for LDRH/LDRD/STRH/STRD, by passing in the layout wanted. Note: LDRD/STRD instructions are currently not used by Subzero. BUG=https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1486263002 .
-
- 01 Dec, 2015 2 commits
-
-
John Porto authored
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1474883002 .
-
Karl Schimpf authored
Moves APInt and corresponding convert to float method into the pnacl translator. Renames APInt to BitcodeInt to be more clear that we aren't referring to LLVM's APInt. Rather, it is the representation in PNaCl bitcode. BUG=None R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1484003003 .
-
- 30 Nov, 2015 1 commit
-
-
Karl Schimpf authored
Fixes nits found in landed CL's https://codereview.chromium.org/1456783003, https://codereview.chromium.org/1452293003, and https://codereview.chromium.org/1460523005 BUG=None R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1484023002 .
-
- 27 Nov, 2015 1 commit
-
-
Jim Stichnoth authored
BUG= none R=sehr@chromium.org Review URL: https://codereview.chromium.org/1479873002 .
-
- 26 Nov, 2015 1 commit
-
-
David Sehr authored
1) Move helper creation to separate method, which also computes the maximum outgoing argument size. The computed size is checked against call lowering's size. 2) Make addProlog use the outgoing argument size and remove the adjustments in lowerCall. 3) Remove AdjustStack instructions and friends. BUG= R=jpp@chromium.org, stichnot@chromium.org Review URL: https://codereview.chromium.org/1472623002 .
-
- 25 Nov, 2015 1 commit
-
-
Jim Stichnoth authored
This makes it easier to do bisection debugging. Note that this could be used to simplify "make -f Makefile.standalone check-spec", but I chose not to do that because shellcmd() buffers all of the stdout until completion, which is not a great user experience (at least for this user). BUG= none R=sehr@chromium.org Review URL: https://codereview.chromium.org/1472833006 .
-
- 24 Nov, 2015 1 commit
-
-
John Porto authored
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1469113003 .
-
- 23 Nov, 2015 1 commit
-
-
John Porto authored
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1465213002 .
-
- 22 Nov, 2015 1 commit
-
-
Jim Stichnoth authored
This way, the g++ build for the "make presubmit" target gets a separate build directory, and gets to use ccache. Also, get rid of the "git diff" test, because uncommitted changes are already checked by "git cl upload" and "git cl land". BUG= none R=jpp@chromium.org Review URL: https://codereview.chromium.org/1468823002 .
-
- 21 Nov, 2015 1 commit
-
-
David Sehr authored
BUG= R=jpp@chromium.org Review URL: https://codereview.chromium.org/1458713002 .
-
- 20 Nov, 2015 1 commit
-
-
Karl Schimpf authored
Extends the ARM integrated assembler to understand register-shifted data processing instructions (add, sub, etc.), as well as cmp/test instructions. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=jpp@chromium.org Review URL: https://codereview.chromium.org/1459673003 .
-