1. 23 Feb, 2016 3 commits
  2. 22 Feb, 2016 5 commits
  3. 19 Feb, 2016 2 commits
  4. 18 Feb, 2016 1 commit
  5. 17 Feb, 2016 2 commits
    • Alexandru Moșoi's avatar
      [dev.ssa] cmd/compile/internal/ssa: fix the type of constant shift folding. · bc1fb32e
      Alexandru Moșoi authored
      Also throw in a few more shift constant folding.
      
      Change-Id: Iabe00596987f594e0686fbac3d76376d94612340
      Reviewed-on: https://go-review.googlesource.com/19543
      Run-TryBot: David Chase <drchase@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      bc1fb32e
    • Alexandru Moșoi's avatar
      [dev.ssa] cmd/compile/internal/ssa: transform degenerate control blocks · c67cac07
      Alexandru Moșoi authored
      * In cases where we end up with empty branches like in
      if a then jmp b else jmp b;
      the flow can be replaced by a; jmp b.
      
      The following functions is optimized as follows:
      func f(a bool, x int) int {
              v := 0
              if a {
                      v = -1
              } else {
                      v = -1
              }
              return x | v
      }
      
      Before this change:
      02819 (arith_ssa.go:362)  VARDEF "".~r2+16(FP)
      02820 (arith_ssa.go:362)  MOVQ  $0, "".~r2+16(FP)
      02821 (arith_ssa.go:362)  MOVB  "".a(FP), AX
      02822 (arith_ssa.go:362)  TESTB AX, AX
      02823 (arith_ssa.go:364)  JEQ 2824
      02824 (arith_ssa.go:369)  VARDEF "".~r2+16(FP)
      02825 (arith_ssa.go:369)  MOVQ  $-1, "".~r2+16(FP)
      02826 (arith_ssa.go:369)  RET
      
      After this change:
      02819 (arith_ssa.go:362)  VARDEF "".~r2+16(FP)
      02820 (arith_ssa.go:369)  VARDEF "".~r2+16(FP)
      02821 (arith_ssa.go:369)  MOVQ  $-1, "".~r2+16(FP)
      02822 (arith_ssa.go:369)  RET
      
      Updates #14277
      
      Change-Id: Ibe7d284f43406c704903632a4fcf2a4a64059686
      Reviewed-on: https://go-review.googlesource.com/19464Reviewed-by: default avatarKeith Randall <khr@golang.org>
      Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      c67cac07
  6. 16 Feb, 2016 2 commits
  7. 12 Feb, 2016 1 commit
  8. 11 Feb, 2016 2 commits
  9. 10 Feb, 2016 1 commit
    • Keith Randall's avatar
      [dev.ssa] Merge remote-tracking branch 'origin/master' into mergebranch · eb0cff9a
      Keith Randall authored
      Semi-regular merge from tip to dev.ssa.
      
      Two fixes:
      1) Mark selectgo as not returning.  This caused problems
         because there are no VARKILL ops on the selectgo path,
         causing things to be marked live that shouldn't be.
      2) Tell the amd64 assembler that addressing modes like
         name(SP)(AX*4) are ok.
      
      Change-Id: I9ca81c76391b1a65cc47edc8610c70ff1a621913
      eb0cff9a
  10. 09 Feb, 2016 5 commits
  11. 08 Feb, 2016 7 commits
  12. 07 Feb, 2016 2 commits
  13. 06 Feb, 2016 2 commits
    • Ian Lance Taylor's avatar
      net/http: deflake TestCloseNotifierPipelined · 54b4b946
      Ian Lance Taylor authored
      The test sends two HTTP/1.1 pipelined requests.  The first is
      completedly by the second, and as such triggers an immediate call to the
      CloseNotify channel.  The second calls the CloseNotify channel after the
      overall connection is closed.
      
      The test was passing fine on gc because the code would enter the select
      loop before running the handler, so the send on gotReq would always be
      seen first.  On gccgo the code would sometimes enter the select loop
      after the handler had already finished, meaning that the select could
      choose between gotReq and sawClose.  If it picked sawClose, it would
      never close the overall connection, and the httptest server would hang.
      The same hang could be induced with gc by adding a time.Sleep
      immediately before the select loop.
      
      Deflake the test by 1) don't close the overall connection until both
      requests have been seen; 2) don't exit the loop until both closes have
      been seen.
      
      Fixes #14231.
      
      Change-Id: I9d20c309125422ce60ac545f78bcfa337aec1c7d
      Reviewed-on: https://go-review.googlesource.com/19281Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      54b4b946
    • Keith Randall's avatar
      [dev.ssa] cmd/compile: strength-reduce 64-bit constant divides · a3055af4
      Keith Randall authored
      The frontend does this for 32 bits and below, but SSA needs
      to do it for 64 bits.  The algorithms are all copied from
      cgen.go:cgen_div.
      
      Speeds up TimeFormat substantially: ~40% slower to ~10% slower.
      
      Change-Id: I023ea2eb6040df98ccd9105e15ca6ea695610a7a
      Reviewed-on: https://go-review.googlesource.com/19302
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarTodd Neal <todd@tneal.org>
      a3055af4
  14. 05 Feb, 2016 5 commits