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

Minor enhancements for performance investigation of Escape Analysis #16638

Merged
merged 3 commits into from
Feb 3, 2023

Commits on Jan 30, 2023

  1. Make minor clean up changes to Escape Analysis

    This change implements several minor clean-up items for Escape Analysis:
    
    1) The top-level findIgnoreableUses method looks for calls to
    eaEscapeHelper and then calls a second method named findIgnoreableUses
    to mark uses of candidates for stack allocation as ignorable.  However,
    that second method doesn't actually find ignoreable uses, it just marks
    them.  This change renames that second method to markUsesAsIgnorable
    for clarity.  Also corrected the spelling of 'ignorable.'
    
    2) Most trace code in Escape Analysis identifies a candidate for stack
    allocation by the address of the TR::Node for the allocation, which is
    stored in the _node field of a Candidate object.  In two cases, tracing
    was printing the address of the Candidate object itself.
    
    3) Removed check of environment variable that is used to disable
    checking in loops for aliases of candidates for stack allocation, and
    removed method checkAllNewsOnRHSInLoop that was used in that case.  The
    code that it allows to be disabled has been in place for about three
    years now, so it seems relatively safe.
    
    Signed-off-by:  Henry Zongaro <[email protected]>
    hzongaro committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    10476d9 View commit details
    Browse the repository at this point in the history
  2. Add dynamic debug counters for stack allocations

    Added dynamic debug counters to gauge the number of contiguous and
    non-contiguous stack allocation opportunities that were found.
    
    Signed-off-by:  Henry Zongaro <[email protected]>
    hzongaro committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    874985f View commit details
    Browse the repository at this point in the history
  3. Suppress candidates for stack allocation based on suppressEA option

    Check the setting of the suppressEA option to decide whether a
    particular candidate for stack allocation should be prevented from
    being stack allocated.  This can help test the effect on performance of
    individual opportunities for stack allocation.
    
    Signed-off-by:  Henry Zongaro <[email protected]>
    hzongaro committed Jan 30, 2023
    Configuration menu
    Copy the full SHA
    9949bb5 View commit details
    Browse the repository at this point in the history