1. 04 Sep, 2016 1 commit
  2. 02 Sep, 2016 4 commits
    • Simplify ClFlags macro for older C++ standards. · a0b720de
      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
    • Subzero: Add the MIPS=1 makefile option for alternate testing mode. · cc8bc16f
      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 .
    • Implement ICE_CACHELINE_BOUNDARY for Visual Studio. · d5e7cafb
      Nicolas Capens authored
      BUG=swiftshader:7
      
      Change-Id: I1c40c10b3c3d032d3f7e0f8634c7c9abcc21d130
  3. 31 Aug, 2016 3 commits
  4. 29 Aug, 2016 2 commits
  5. 26 Aug, 2016 1 commit
  6. 22 Aug, 2016 1 commit
  7. 19 Aug, 2016 3 commits
  8. 18 Aug, 2016 1 commit
  9. 17 Aug, 2016 2 commits
  10. 16 Aug, 2016 2 commits
  11. 13 Aug, 2016 1 commit
  12. 11 Aug, 2016 1 commit
  13. 10 Aug, 2016 1 commit
  14. 09 Aug, 2016 1 commit
  15. 08 Aug, 2016 2 commits
  16. 05 Aug, 2016 3 commits
  17. 04 Aug, 2016 6 commits
  18. 03 Aug, 2016 1 commit
  19. 02 Aug, 2016 1 commit
  20. 01 Aug, 2016 2 commits
    • Enable Local CSE by default · 53c8fbdf
      Manasij Mukherjee authored
      Reduce the default number of iterations to 1
      Put the optional code behind the -lcse-no-ssa flag, which is disabled by
      default. This brings down the overhead of enabling this to about 2%.
      
      BUG=
      R=stichnot@chromium.org
      
      Review URL: https://codereview.chromium.org/2185193002 .
    • Subzero: Local variable splitting. · b9a84728
      Jim Stichnoth authored
      The linear-scan register allocator takes an all-or-nothing approach -- either the variable's entire live range gets a register, or none of it does.
      
      To help with this, we add a pass that splits successive uses of a variable within a basic block into a chain of linked variables.  This gives the register allocator the chance to allocate registers to subsets of the original live range.
      
      The split variables are linked to each other so that if they don't get a register, they share a stack slot with the original variable, and redundant writes to that stack slot are recognized and elided.
      
      This pass is executed after target lowering and right before register allocation.  As such, it has to deal with some idiosyncrasies of target lowering, specifically the possibility of intra-block control flow.  We experimented with doing this as a pre-lowering pass.  However, the transformations interfered with some of the target lowering's pattern matching, such as bool folding, so we concluded that post-lowering was a better place for it.
      
      Note: Some of the lit tests are overly specific about registers, and in these cases it was the path of least resistance to just disable local variable splitting.
      
      BUG= none
      R=eholk@chromium.org, jpp@chromium.org
      
      Review URL: https://codereview.chromium.org/2177033002 .
  21. 27 Jul, 2016 1 commit