GCC Middle and Back End API Reference
ssa_equiv_stack Class Reference
Collaboration diagram for ssa_equiv_stack:

Public Member Functions

 ssa_equiv_stack ()
 
void enter (basic_block)
 
void leave (basic_block)
 
void push_replacement (tree name, tree replacement)
 
tree get_replacement (tree name)
 

Private Attributes

auto_vec< std::pair< tree, tree > > m_stack
 
auto_vec< treem_replacements
 
const std::pair< tree, treem_marker = std::make_pair (NULL_TREE, NULL_TREE)
 

Detailed Description

Context-aware pointer equivalence tracker. Copyright (C) 2020-2025 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldyh@redhat.com> This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.

Constructor & Destructor Documentation

◆ ssa_equiv_stack()

ssa_equiv_stack::ssa_equiv_stack ( )

References m_replacements, and num_ssa_names.

Member Function Documentation

◆ enter()

void ssa_equiv_stack::enter ( basic_block )

References m_marker, and m_stack.

◆ get_replacement()

tree ssa_equiv_stack::get_replacement ( tree name)

◆ leave()

void ssa_equiv_stack::leave ( basic_block )

◆ push_replacement()

void ssa_equiv_stack::push_replacement ( tree name,
tree replacement )

Field Documentation

◆ m_marker

const std::pair<tree, tree> ssa_equiv_stack::m_marker = std::make_pair (NULL_TREE, NULL_TREE)
private

Referenced by enter(), and leave().

◆ m_replacements

auto_vec<tree> ssa_equiv_stack::m_replacements
private

◆ m_stack

auto_vec<std::pair <tree, tree> > ssa_equiv_stack::m_stack
private

Referenced by enter(), leave(), and push_replacement().


The documentation for this class was generated from the following file: