Skip to content
Snippets Groups Projects
  1. May 29, 2019
  2. May 28, 2019
  3. May 27, 2019
  4. May 23, 2019
  5. May 21, 2019
  6. May 17, 2019
  7. May 16, 2019
  8. May 15, 2019
    • Ian Romanick's avatar
      Revert "nir: add late opt to turn inot/b2f combos back to bcsel" · 06bf5428
      Ian Romanick authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      This reverts commit 7acc8652.
      
      With these optimizations in place, the extra constant folding added in
      the next commit extends some live ranges of 0.0 and ±1.0 constants, and
      that causes several hundred shaders to have more spills and fills.
      
      I believe this optimization we made basically irrelevant by 7725d609
      "intel/fs: Emit better code for b2f(inot(a)) and b2i(inot(a))".
      
      All Gen7.5+ platforms had similar results. (Ice Lake shown)
      total instructions in shared programs: 17225303 -> 17224634 (<.01%)
      instructions in affected programs: 879402 -> 878733 (-0.08%)
      helped: 679
      HURT: 1
      helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
      helped stats (rel) min: 0.03% max: 0.93% x̄: 0.24% x̃: 0.05%
      HURT stats (abs)   min: 10 max: 10 x̄: 10.00 x̃: 10
      HURT stats (rel)   min: 0.45% max: 0.45% x̄: 0.45% x̃: 0.45%
      95% mean confidence interval for instructions value: -1.02 -0.95
      95% mean confidence interval for instructions %-change: -0.26% -0.22%
      Instructions are helped.
      
      total cycles in shared programs: 360842595 -> 360828542 (<.01%)
      cycles in affected programs: 110443594 -> 110429541 (-0.01%)
      helped: 389
      HURT: 265
      helped stats (abs) min: 1 max: 7525 x̄: 162.81 x̃: 28
      helped stats (rel) min: <.01% max: 18.66% x̄: 1.11% x̃: 0.11%
      HURT stats (abs)   min: 1 max: 7614 x̄: 185.96 x̃: 48
      HURT stats (rel)   min: <.01% max: 25.08% x̄: 0.95% x̃: 0.10%
      95% mean confidence interval for cycles value: -75.65 32.67
      95% mean confidence interval for cycles %-change: -0.49% -0.06%
      Inconclusive result (value mean confidence interval includes 0).
      
      total spills in shared programs: 12159 -> 12161 (0.02%)
      spills in affected programs: 13 -> 15 (15.38%)
      helped: 0
      HURT: 1
      
      total fills in shared programs: 25207 -> 25208 (<.01%)
      fills in affected programs: 25 -> 26 (4.00%)
      helped: 0
      HURT: 1
      
      Ivy Bridge
      total instructions in shared programs: 12082019 -> 12082013 (<.01%)
      instructions in affected programs: 1033 -> 1027 (-0.58%)
      helped: 6
      HURT: 0
      helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
      helped stats (rel) min: 0.41% max: 0.83% x̄: 0.61% x̃: 0.59%
      95% mean confidence interval for instructions value: -1.00 -1.00
      95% mean confidence interval for instructions %-change: -0.78% -0.45%
      Instructions are helped.
      
      total cycles in shared programs: 179849270 -> 179849157 (<.01%)
      cycles in affected programs: 4735 -> 4622 (-2.39%)
      helped: 4
      HURT: 0
      helped stats (abs) min: 2 max: 74 x̄: 28.25 x̃: 18
      helped stats (rel) min: 0.13% max: 6.53% x̄: 2.85% x̃: 2.36%
      95% mean confidence interval for cycles value: -82.73 26.23
      95% mean confidence interval for cycles %-change: -7.98% 2.28%
      Inconclusive result (value mean confidence interval includes 0).
      
      Sandy Bridge
      total instructions in shared programs: 10882750 -> 10882748 (<.01%)
      instructions in affected programs: 266 -> 264 (-0.75%)
      helped: 2
      HURT: 0
      
      Iron Lake
      total cycles in shared programs: 188609440 -> 188609448 (<.01%)
      cycles in affected programs: 4320 -> 4328 (0.19%)
      helped: 0
      HURT: 2
      
      GM45
      total cycles in shared programs: 129016868 -> 129016872 (<.01%)
      cycles in affected programs: 2302 -> 2306 (0.17%)
      helped: 0
      HURT: 1
      
      Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
      (cherry picked from commit d2a9ba03)
      [Juan: resolve trivial conflicts]
      Signed-off-by: default avatarJuan A. Suarez Romero <jasuarez@igalia.com>
      
      Conflicts:
      	src/compiler/nir/nir_opt_algebraic.py
      06bf5428
    • Faith Ekstrand's avatar
      intel/fs/ra: Stop adding RA interference to too many SENDS nodes · 75ea0eee
      Faith Ekstrand authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      We only have one node per VGRF so this was adding way too much
      interference.  No idea how we didn't catch this before.
      
      Shader-db results on Kaby Lake:
      
          total instructions in shared programs: 15311100 -> 15311100 (0.00%)
          instructions in affected programs: 0 -> 0
          helped: 0
          HURT: 0
      
          total cycles in shared programs: 355468050 -> 355543197 (0.02%)
          cycles in affected programs: 2472492 -> 2547639 (3.04%)
          helped: 17
          HURT: 20
      
      Fixes: 014edff0 "intel/fs: Add interference between SENDS sources"
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 096ad8a8)
      75ea0eee
    • Faith Ekstrand's avatar
      intel/fs/ra: Only add dest interference to sources that exist · 8cf49e16
      Faith Ekstrand authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      Fixes: 83dedb63 "i965: Add src/dst interference for certain"
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 88cac122)
      8cf49e16
  9. May 14, 2019
Loading