- 14 Sep, 2016 5 commits
-
-
Jim Stichnoth authored
In production autoconf builds (which are the builds that matter), the SUBZERO_REVISION was being calculated based on git history of the top-level native_client repo, rather than the pnacl-subzero repo. BUG= none R=jpp@chromium.org, kschimpf@google.com Review URL: https://codereview.chromium.org/2338943003 .
-
Sagar Thakur authored
The test nacl-other-intrinsics.ll fails with an assertion failure: assert(SpillAreaAlignmentBytes <= MIPS32_STACK_ALIGNMENT_BYTES). This assertion triggers because MIPS32_STACK_ALIGNMENT_BYTES is 8 and SpillAreaAlignmentBytes is 16. The minimum required alignment of stack for MIPS32 is 8 bytes according to the ABI document. Since 16 is aligned to 8, we can safely keep the stack aligned to 16 bytes to fix the test. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2339683003 . Patch from Sagar Thakur <sagar.thakur@imgtec.com>.
-
Srdjan Obucina authored
Implements lowerSelect for basic integer and float datatypes. Support for i64 will be added as separate patch. Crucial for running crosstests. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2337023003 . Patch from Srdjan Obucina <Srdjan.Obucina@imgtec.com>.
-
Jim Stichnoth authored
In a similar fashion as https://codereview.chromium.org/1732233002 . BUG= none R=jpp@chromium.org Review URL: https://codereview.chromium.org/2339843002 .
-
Jaydeep Patil authored
The patch implements mtc1/mfc1 instructions which are required for GP to/from FP registers moves. The patch also implements fptosi and sitofp for float and i32 types to test mtc1/mfc1 instructions. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2316933002 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
- 13 Sep, 2016 4 commits
-
-
Nicolas Capens authored
Instructions are allocated using the ArenaAllocator which uses a memory pool of "slabs", so we can't use the regular C++ delete to deallocate them. Just remove them from the list. This change also provides an override for Inst's operator delete to use the custom allocator, which should currently not be called. BUG=swiftshader:8 Change-Id: Ibb166910402a70e7d9276b28e19b15caf64422f2 Reviewed-on: https://chromium-review.googlesource.com/384336Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Jaydeep Patil authored
The patch implements address optimization for MIPS. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2313293002 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
Srdjan Obucina authored
This patch implements lowerFcmp, for lowering floating point comparison. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2047043002 . Patch from Srdjan Obucina <Srdjan.Obucina@imgtec.com>.
-
Jim Stichnoth authored
The movzx instruction in the lowering sequence should not be allowed to be elided. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4379 R=jpp@chromium.org Review URL: https://codereview.chromium.org/2335933002 .
-
- 11 Sep, 2016 1 commit
-
-
Srdjan Obucina authored
Patch implements truncation and extension of FP values. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2324903002 . Patch from Srdjan Obucina <Srdjan.Obucina@imgtec.com>.
-
- 10 Sep, 2016 1 commit
-
-
Srdjan Obucina authored
This patch adds ABS.fmt and SQRT.fmt instructions for intrinsic calls. Test cases are copied from nacl-other-intrinsics.ll. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2325703002 . Patch from Srdjan Obucina <Srdjan.Obucina@imgtec.com>.
-
- 09 Sep, 2016 6 commits
-
-
Srdjan Obucina authored
genTargetHelperCallFor provides framework for calling Subzero runtime functions. This patch implements calls and tests for some of the available functions, but not all. Current lowerCall implementation does not allow more (Handling of FP return values is missing). R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2317653004 . Patch from Srdjan Obucina <srdjan.obucina@imgtec.com>.
-
Jim Stichnoth authored
Adds the right macro voodoo so that when Subzero is built for a single target, e.g.: $ make -f Makefile.standalone SZTARGET=ARM32 we get output like this: $ ./pnacl-sz --build-atts target_ARM32 rather than this: $ ./pnacl-sz --build-atts target_SZTARGET BUG= none R=eholk@chromium.org Review URL: https://codereview.chromium.org/2306273002 .
-
Jim Stichnoth authored
BUG= none TBR=nicolascapens@chromium.org Review URL: https://codereview.chromium.org/2328873003 .
-
Nicolas Capens authored
MSVC's implementation of the STL allocates memory even for an empty vector. Since we're using a custom thread-local allocator, it should be initialized before any STL member containers get initialized. BUG=swiftshader:7 Change-Id: I4bd977e7ee8eb87006fe08b051cbcfc9bc62342b Reviewed-on: https://chromium-review.googlesource.com/381531Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Nicolas Capens authored
As a global, NoDefinitions could get initialized at program startup, which happens specifically with Visual Studio. This causes the progam to abort because its initialization depends on a TLS variable to be (manually) initialized first. Since there's only one use of NoDefinitions, it can be moved to that location and since it's at function scope it only gets constructed at first use. BUG=swiftshader:7 Change-Id: I30801ad0d0ab380ead33069f174bb78dc1b230ab Reviewed-on: https://chromium-review.googlesource.com/379955Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Nicolas Capens authored
Visual Studio 2015 generates an error for using array_lengthof() on a template class member array. Since the array content does not depend on the template types, just make it a global. BUG=swiftshader:7 Change-Id: If197308413f880484be06e6738f246be144d0ba6 Reviewed-on: https://chromium-review.googlesource.com/380501Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 08 Sep, 2016 2 commits
-
-
Nicolas Capens authored
BUG=swiftshader:7 Change-Id: If4e1f8269343161f907a62f1fccf6a547f80fc1d Reviewed-on: https://chromium-review.googlesource.com/382371Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Jim Stichnoth <stichnot@chromium.org>
-
Nicolas Capens authored
ConstantInteger32::shouldBeRandomizedOrPooled() was defined in a source file and not resolvable. Move its definition inline. BUG=swiftshader:7 Change-Id: I693ef93a9986e11b4e24f0194c9260f074567b81 Reviewed-on: https://chromium-review.googlesource.com/380422Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 07 Sep, 2016 5 commits
-
-
Nicolas Capens authored
BUG=swiftshader:7 Change-Id: I0c51c67b6f19a061dfff83415df5e41ea0efd6de Reviewed-on: https://chromium-review.googlesource.com/380596Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
BUG=swiftshader:7 Change-Id: I0ef3b0ab059bd48e0241eea13a5b77a193351108 Reviewed-on: https://chromium-review.googlesource.com/380275Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
Visual Studio doesn't recognize the use of a class member in a static constexpr unless prefixed with the class name. BUG=swiftshader:7 Change-Id: I4ffbaa6fc1a43a7294ecdaf426bd7fc2aab5e469 Reviewed-on: https://chromium-review.googlesource.com/380195Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
With Visual Studio 2015, the Traits type alias is not considered within scope yet for the constructor's argument list. Instead Use the template argument directly. BUG=swiftshader:7 Change-Id: I677f5bed1a4749aba921a23ed5b1466431147069 Reviewed-on: https://chromium-review.googlesource.com/379915Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
Nicolas Capens authored
BUG=swiftshader:7 Change-Id: If0cfad149ba6ba7bc17708e8a6e5183189eeef5c Reviewed-on: https://chromium-review.googlesource.com/379876Reviewed-by:
Jim Stichnoth <stichnot@chromium.org> Tested-by:
Nicolas Capens <nicolascapens@google.com>
-
- 04 Sep, 2016 1 commit
-
-
Jaydeep Patil authored
This patch implements lowerLoad and extends existing lowerStore for byte, short and floating-point types. The patch also modifies PostLoweringLegalizer for conversion of mov to load or store. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2301303003 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
- 02 Sep, 2016 4 commits
-
-
Nicolas Capens authored
Visual Studio 2015 does not support the use of typename outside of a template definition. Instead alias the flag's storage type. This even avoids some duplication. BUG=swiftshader:7 Change-Id: I787701f6bfe8e36169e6ac5d63fcb6a1a114bdb0
-
Nicolas Capens authored
-
Jim Stichnoth authored
There are two problems to address: 1. Google developers lack some tooling to test MIPS changes. 2. MIPS developers lack some tooling/packages to allow full "make presubmit" testing. Until all this gets sorted out, we add the "make -f Makefile.standalone MIPS=1" option to control some of the testing targets: check-lit: No changes, as all these lit tests should be runnable in both environments. check-xtest: MIPS=1 runs just the mips32 tests, plus the x8664 native tests as a sanity-check. Non-MIPS runs everything except the mips32 tests. check-spec: MIPS=1 completely disables spec2k testing. presubmit: MIPS=1 greatly reduces the number of tests (especially since so many are spec variants). With this change, mips32 CLs should pass "make -f Makefile.standalone MIPS=1 presubmit" before upload, and other CLs should pass "make -f Makefile.standalone presubmit". BUG= none R=kschimpf@google.com, obucinac@gmail.com Review URL: https://codereview.chromium.org/2271053006 .
-
Nicolas Capens authored
BUG=swiftshader:7 Change-Id: I1c40c10b3c3d032d3f7e0f8634c7c9abcc21d130
-
- 31 Aug, 2016 3 commits
-
-
Jim Stichnoth authored
Currently, TargetLowering::sortVarsByAlignment() uses the variable's required alignment as the primary key, but then std::sort() breaks ties arbitrarily. This can give different results across different STL implementations, for example when building against LLVM trunk versus building in the PNaCl environment. The fix is to use Variable::Number as the secondary key. BUG= none R=kschimpf@google.com Review URL: https://codereview.chromium.org/2295393002 .
-
Jim Stichnoth authored
LLVM commit 1d79fff9e65e77f84bf80c2cf4f0155bd167c90d changed the way ilist::reverse_iterator is converted to ilist::iterator. See https://github.com/llvm-mirror/llvm/commit/1d79fff9e65e77f84bf80c2cf4f0155bd167c90d BUG= none R=kschimpf@google.com Review URL: https://codereview.chromium.org/2297363002 .
-
Jaydeep Patil authored
The patch implements lowerSwitch for i32 and i64 types. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2289043002 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
- 29 Aug, 2016 2 commits
-
-
Jim Stichnoth authored
The original Ice::Inst needed a bit of template specialization so that llvm::ilist<Ice::Inst> methods wouldn't try to invoke private/deleted ctor/dtor methods. The Subzero code copied a pattern fairly widely used in LLVM. Recently, LLVM improved ilist<> so that this specialization is no longer needed. BUG= none R=jpp@chromium.org Review URL: https://codereview.chromium.org/2287363002 .
-
Jaydeep Patil authored
This patch adds encoding of few arithmetic and branch instructions. R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2259983004 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
- 26 Aug, 2016 1 commit
-
-
Jaydeep Patil authored
R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2275883002 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
- 22 Aug, 2016 1 commit
-
-
Thomas Lively authored
BUG=https://bugs.chromium.org/p/nativeclient/issues/detail?id=4374 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2266593002 . Patch from Thomas Lively <tlively@google.com>.
-
- 19 Aug, 2016 3 commits
-
-
Jaydeep Patil authored
R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2257043003 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
Jaydeep Patil authored
Both the operands in InstMIPS32Memory are source. However in load instructions, first operand is a destination. The InstMIPS32Load treats first operand as destination and second operand as source. R=jpp@chromium.org, stichnot@chromium.org Review URL: https://codereview.chromium.org/2250203005 . Patch from Jaydeep Patil <jaydeep.patil@imgtec.com>.
-
Thomas Lively authored
BUG=https://bugs.chromium.org/p/nativeclient/issues/detail?id=4374 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/2256673004 .
-
- 18 Aug, 2016 1 commit
-
-
Thomas Lively authored
BUG=https://bugs.chromium.org/p/nativeclient/issues/detail?id=4374 R=kschimpf@google.com, stichnot@chromium.org Review URL: https://codereview.chromium.org/2256903003 .
-