1. 12 Sep, 2014 2 commits
  2. 11 Sep, 2014 3 commits
  3. 10 Sep, 2014 3 commits
  4. 09 Sep, 2014 5 commits
  5. 08 Sep, 2014 4 commits
  6. 05 Sep, 2014 2 commits
  7. 04 Sep, 2014 4 commits
  8. 03 Sep, 2014 2 commits
  9. 02 Sep, 2014 3 commits
  10. 29 Aug, 2014 1 commit
    • Convert lit tests to check disassembled assembly. · dddc3069
      Jan Voung authored
      Then when we have an integrated assembler, we can check
      its disassembly and the result should be the same.
      This only touches the tests that invoke llvm-mc currently.
      There are other tests which check for .s file output.
      
      There are quite a bit of quirks with llvm-objdump,
      which is unfortunate:
      
      (*) The symbolizer doesn't pick up non-section-local
      function calls. Some externals were converted to be
      local functions. Workaround: where it counts, I just
      left a check via .s files and a new --check-prefix.
      It's a little better in 3.6.
      
      (*) The symbolizer doesn't pick up global variable names.
      I just checked for the relocation addend instead.
      Didn't check if it was better in 3.6, but maybe.
      
      (*) We have a bug in bundling lock + instructions.
      See
      BUG=https://code.google.com/p/nativeclient/issues/detail?id=3929
      
      (*) There's no disassembly for branch lables.
      Checks of jump instructions were converted to check
      for positive or negative values, depending on whether
      it is a forward or backward branch.
      
      BUG=none
      R=stichnot@chromium.org
      
      Review URL: https://codereview.chromium.org/509233002
  11. 28 Aug, 2014 2 commits
  12. 27 Aug, 2014 4 commits
  13. 26 Aug, 2014 4 commits
  14. 18 Aug, 2014 1 commit
    • Subzero: Fix the simple register allocation for -Om1. · 4d79fe5b
      Jim Stichnoth authored
      Background: After lowering each high-level ICE instruction, Om1 calls
      postLower() to do simple register allocation.  It only assigns
      registers where absolutely necessary, specifically for infinite-weight
      variables, while honoring pre-coloring decisions.  The original Om1
      register allocation never tried to reuse registers within a lowered
      sequence, which was generally OK except for very long lowering
      sequences, such as call instructions or some intrinsics.  In these
      cases, when it ran out of physical registers, it would just reset the
      free list and hope for the best, but with no guarantee of correctness.
      
      The fix involves keeping track of which instruction in the lowered
      sequence holds the last use of each variable, and releasing each
      register back to the free list after its last use.  This makes much
      better use of registers.  It's not necessarily optimal, at least with
      respect to pre-colored variables, since those registers are
      black-listed even if they don't interfere with an infinite-weight
      variable.
      
      BUG= none
      R=jvoung@chromium.org
      
      Review URL: https://codereview.chromium.org/483453002