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-2024 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.

Referenced by pointer_equiv_analyzer::enter().

◆ 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: