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

Allow extensions to GlobalRegisterAllocator #6577

Merged
merged 3 commits into from
Mar 20, 2023

Commits on Mar 10, 2023

  1. Make RegisterCandidate(s) and GlobalSet extendable

    -Put TR_RegisterCandidate, TR_RegisterCandidates, and GlobalSet classes
    into the OMR namespace and create derived classes in TR namespace,
    allowing downstream projects to add a project-level class to those
    hierarchies in order to extend functionality.
    -Make members of the above classes protected
    -Make the following methods virtual:
      -GlobalSet::collectReferencedAutoSymRefs()
      -RegisterCandidate::symbolIsLive()
      -RegisterCandidate::processLiveOnEntryBlocks()
      -RegisterCandidates::findOrCreate()
      -RegisterCandidates::find(TR::SymbolReference *)
      -RegisterCandidates::assign()
      -RegisterCandidates::computeAvailableRegisters()
    kevindean12 committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    e02762b View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2023

  1. Make TR_GlobalRegister an extensible class

    -replace uses of TR_GlobalRegister with TR::GlobalRegister
    kevindean12 committed Mar 14, 2023
    Configuration menu
    Copy the full SHA
    a8787e4 View commit details
    Browse the repository at this point in the history
  2. Make some GlobalRegisterAllocator members protected and virtual

    -the following GRA methods are made virtual for downstream projects
    to be able to extend functionality:
    	-markAutosUsedIn()
    	-transformNode()
    	-prepareForBlockExit()
    	-registerIsLiveAcrossEdge()
    -make several GRA members protected
    -make TR_LiveRangeSplitter members protected
    
    Closes: eclipse#6529
    kevindean12 committed Mar 14, 2023
    Configuration menu
    Copy the full SHA
    7383012 View commit details
    Browse the repository at this point in the history