Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

[WIP] Support Write-Thru of EH variables in LSRA #26087

Closed
wants to merge 12 commits into from

Commits on Nov 15, 2019

  1. Support Write-Thru of EH variables in LSRA

    Mark EH variables (those that are live in or out of exception regions) only as lvLiveInOutOfHndlr, not necessarily lvDoNotEnregister
    During register allocation, mark these as write-thru, and mark all defs as write-thru, ensuring that the stack value is always valid.
    Mark those defs with GTF_SPILLED (this the "reload" flag and is not currently used for pure defs) to indicate that it should be kept in the register.
    Mark blocks that enter EH regions as having no predecessor, and set the location of all live-in vars to be on the stack.
    Change genFnPrologCalleeRegArgs to store EH vars also to the stack if they have a register assignment.
    Tune callee-save heuristics for EH vars.
    Remove/modify mitigations
    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    490174b View commit details
    Browse the repository at this point in the history
  2. Fix last-use condition

    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    e399633 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5632339 View commit details
    Browse the repository at this point in the history
  4. Fix uninitialized variable

    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    06545e6 View commit details
    Browse the repository at this point in the history
  5. Fix formatting

    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    7198c74 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c57f67b View commit details
    Browse the repository at this point in the history
  7. Fix release build

    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    04d85e0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c23f479 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f00cb24 View commit details
    Browse the repository at this point in the history
  10. - Change gtIsLikelyRegVar to return false for defs of EHvars, since…

    … they always go to memory.
    
    - Never split a block if the only resolution moves are for EH vars.
    - Add a test case to enable diff tracking for #21973
    CarolEidt committed Nov 15, 2019
    Configuration menu
    Copy the full SHA
    c2ae4dd View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2019

  1. Fix merge issue

    Modify weight for EH vars in LIR
    Take into account how many callee save regs there are
    CarolEidt committed Nov 20, 2019
    Configuration menu
    Copy the full SHA
    f96f1cf View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2019

  1. Configuration menu
    Copy the full SHA
    c91dd3f View commit details
    Browse the repository at this point in the history