1. 08 Feb, 2016 2 commits
    • David Chase's avatar
      [dev.ssa] cmd/compile: fix for bug in cse speed improvements · 58cfa404
      David Chase authored
      Problem was caused by use of Args[].Aux differences
      in early partitioning.  This artificially separated
      two equivalent expressions because sort ignores the
      Aux field, hence things can end with equal things
      separated by unequal things and thus the equal things
      are split into more than one partition.  For example:
      SliceLen(a), SliceLen(b), SliceLen(a).
      
      Fix: don't use Args[].Aux in initial partitioning.
      
      Left in a debugging flag and some debugging Fprintf's;
      not sure if that is house style or not.  We'll probably
      want to be more systematic in our naming conventions,
      e.g. ssa.cse, ssa.scc, etc.
      
      Change-Id: Ib1412539cc30d91ea542c0ac7b2f9b504108ca7f
      Reviewed-on: https://go-review.googlesource.com/19316Reviewed-by: default avatarKeith Randall <khr@golang.org>
      58cfa404
    • Todd Neal's avatar
      [dev.ssa] cmd/compile: speed up cse · bc079228
      Todd Neal authored
      Examine both Aux and AuxInt to form more precise initial partitions.
      Restructure loop to avoid repeated type.Equal() call.  Speeds up
      compilation of testdata/gen/arithConst_ssa by 25%.
      
      Change-Id: I3cfb1d254adf0601ee69239e1885b0cf2a23575b
      Reviewed-on: https://go-review.googlesource.com/19313
      Run-TryBot: Todd Neal <todd@tneal.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      bc079228
  2. 07 Feb, 2016 1 commit
  3. 06 Feb, 2016 1 commit
  4. 05 Feb, 2016 3 commits
  5. 04 Feb, 2016 9 commits
  6. 02 Feb, 2016 3 commits
  7. 01 Feb, 2016 1 commit
  8. 31 Jan, 2016 1 commit
  9. 30 Jan, 2016 1 commit
    • Todd Neal's avatar
      [dev.ssa] cmd/compile: reuse sparse sets across compiler passes · f962f330
      Todd Neal authored
      Cache sparse sets in the function so they can be reused by subsequent
      compiler passes.
      
      benchmark                        old ns/op     new ns/op     delta
      BenchmarkDSEPass-8               206945        180022        -13.01%
      BenchmarkDSEPassBlock-8          5286103       2614054       -50.55%
      BenchmarkCSEPass-8               1790277       1790655       +0.02%
      BenchmarkCSEPassBlock-8          18083588      18112771      +0.16%
      BenchmarkDeadcodePass-8          59837         41375         -30.85%
      BenchmarkDeadcodePassBlock-8     1651575       511169        -69.05%
      BenchmarkMultiPass-8             531529        427506        -19.57%
      BenchmarkMultiPassBlock-8        7033496       4487814       -36.19%
      
      benchmark                        old allocs     new allocs     delta
      BenchmarkDSEPass-8               11             4              -63.64%
      BenchmarkDSEPassBlock-8          599            120            -79.97%
      BenchmarkCSEPass-8               18             18             +0.00%
      BenchmarkCSEPassBlock-8          2700           2700           +0.00%
      BenchmarkDeadcodePass-8          4              3              -25.00%
      BenchmarkDeadcodePassBlock-8     30             9              -70.00%
      BenchmarkMultiPass-8             24             20             -16.67%
      BenchmarkMultiPassBlock-8        1800           1000           -44.44%
      
      benchmark                        old bytes     new bytes     delta
      BenchmarkDSEPass-8               221367        142           -99.94%
      BenchmarkDSEPassBlock-8          3695207       3846          -99.90%
      BenchmarkCSEPass-8               303328        303328        +0.00%
      BenchmarkCSEPassBlock-8          5006400       5006400       +0.00%
      BenchmarkDeadcodePass-8          84232         10506         -87.53%
      BenchmarkDeadcodePassBlock-8     1274940       163680        -87.16%
      BenchmarkMultiPass-8             608674        313834        -48.44%
      BenchmarkMultiPassBlock-8        9906001       5003450       -49.49%
      
      Change-Id: Ib1fa58c7f494b374d1a4bb9cffbc2c48377b59d3
      Reviewed-on: https://go-review.googlesource.com/19100Reviewed-by: default avatarDavid Chase <drchase@google.com>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      f962f330
  10. 29 Jan, 2016 9 commits
  11. 28 Jan, 2016 2 commits
  12. 26 Jan, 2016 2 commits
  13. 22 Jan, 2016 1 commit
  14. 21 Jan, 2016 1 commit
  15. 20 Jan, 2016 2 commits
  16. 19 Jan, 2016 1 commit