Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[compiler] Instruction reordering #29863

Merged
merged 6 commits into from
Jun 14, 2024

Commits on Jun 11, 2024

  1. [compiler] Instruction reordering

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    a6ca8bb View commit details
    Browse the repository at this point in the history
  2. Update on "[compiler] Instruction reordering"

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    2cb5cdd View commit details
    Browse the repository at this point in the history
  3. Update on "[compiler] Instruction reordering"

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    6b5cab7 View commit details
    Browse the repository at this point in the history
  4. Update on "[compiler] Instruction reordering"

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    d77fe0a View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Update on "[compiler] Instruction reordering"

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    e9c1bd0 View commit details
    Browse the repository at this point in the history
  2. Update on "[compiler] Instruction reordering"

    Adds a pass just after DCE to reorder safely reorderable instructions (jsx, primitives, globals) closer to where they are used, to allow other optimization passes to be more effective. Notably, the reordering allows scope merging to be more effective, since that pass relies on two scopes not having intervening instructions — in many cases we can now reorder such instructions out of the way and unlock merging, as demonstrated in the changed fixtures.
    
    The algorithm itself is described in the docblock.
    
    note: This is a cleaned up version of #29579 that is ready for review.
    
    [ghstack-poisoned]
    josephsavona committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    1501466 View commit details
    Browse the repository at this point in the history