Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 3.2k
    • Issues 3.2k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1k
    • Merge requests 1k
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MesaMesa
  • mesamesa
  • Merge requests
  • !1061

nir/large_constants: Use dominance information to find more constants

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Caio Oliveira requested to merge cmarcelo/mesa:r/nir-large-constants-use-dominance into master Jun 10, 2019
  • Overview 4
  • Commits 1
  • Pipelines 4
  • Changes 1

Relax the restriction that all the writes need to be in the first block: now accept variables that have all the writes in the same block, and all the reads are dominated by that block.

This let the pass identify large constants that are local to a helper function. The writes will be at the place that the function is inlined, possibly not in the first block (but still all in the same block).

Results for vkpipeline-db in SKL:

total instructions in shared programs: 3655799 -> 3654053 (-0.05%)
instructions in affected programs: 79452 -> 77706 (-2.20%)
helped: 16
HURT: 0

total cycles in shared programs: 1448655344 -> 1448652934 (<.01%)
cycles in affected programs: 30155012 -> 30152602 (<.01%)
helped: 14
HURT: 2

total loops in shared programs: 2436 -> 2436 (0.00%)
loops in affected programs: 0 -> 0
helped: 0
HURT: 0

total spills in shared programs: 6820 -> 6752 (-1.00%)
spills in affected programs: 2894 -> 2826 (-2.35%)
helped: 8
HURT: 0

total fills in shared programs: 20862 -> 20784 (-0.37%)
fills in affected programs: 12248 -> 12170 (-0.64%)
helped: 6
HURT: 2

LOST:   0
GAINED: 0
Edited Jun 10, 2019 by Caio Oliveira
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: r/nir-large-constants-use-dominance