|
GCC Middle and Back End API Reference
|

Go to the source code of this file.
Data Structures | |
| struct | ddg_node |
| struct | ddg_edge |
| struct | ddg |
| struct | ddg_scc |
| struct | ddg_all_sccs |
Macros | |
| #define | NODE_SUCCESSORS(x) |
| #define | NODE_PREDECESSORS(x) |
Typedefs | |
| typedef struct ddg_node * | ddg_node_ptr |
| typedef struct ddg_edge * | ddg_edge_ptr |
| typedef struct ddg * | ddg_ptr |
| typedef struct ddg_scc * | ddg_scc_ptr |
| typedef struct ddg_all_sccs * | ddg_all_sccs_ptr |
Enumerations | |
| enum | dep_type { TRUE_DEP , OUTPUT_DEP , ANTI_DEP } |
| enum | dep_data_type { REG_OR_MEM_DEP , REG_DEP , MEM_DEP , REG_AND_MEM_DEP } |
Functions | |
| ddg_ptr | create_ddg (basic_block, int closing_branch_deps) |
| void | free_ddg (ddg_ptr) |
| void | print_ddg (FILE *, ddg_ptr) |
| void | vcg_print_ddg (FILE *, ddg_ptr) |
| void | print_ddg_edge (FILE *, ddg_edge_ptr) |
| void | print_sccs (FILE *, ddg_all_sccs_ptr, ddg_ptr) |
| ddg_node_ptr | get_node_of_insn (ddg_ptr, rtx_insn *) |
| void | find_successors (sbitmap result, ddg_ptr, sbitmap) |
| void | find_predecessors (sbitmap result, ddg_ptr, sbitmap) |
| ddg_all_sccs_ptr | create_ddg_all_sccs (ddg_ptr) |
| void | free_ddg_all_sccs (ddg_all_sccs_ptr) |
| int | find_nodes_on_paths (sbitmap result, ddg_ptr, sbitmap from, sbitmap to) |
| bool | autoinc_var_is_used_p (rtx_insn *, rtx_insn *) |
| #define NODE_PREDECESSORS | ( | x | ) |
| #define NODE_SUCCESSORS | ( | x | ) |
The following two macros enables direct access to the successors and predecessors bitmaps held in each ddg_node. Do not make changes to these bitmaps, unless you want to change the DDG.
| typedef struct ddg_all_sccs* ddg_all_sccs_ptr |
| typedef struct ddg_edge* ddg_edge_ptr |
| typedef struct ddg_node* ddg_node_ptr |
DDG - Data Dependence Graph - interface. Copyright (C) 2004-2026 Free Software Foundation, Inc. Contributed by Ayal Zaks and Mustafa Hagog <zaks,mustafa@il.ibm.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/>.
| typedef struct ddg_scc* ddg_scc_ptr |
| enum dep_data_type |
| enum dep_type |
References autoinc_var_is_used_p().
Referenced by autoinc_var_is_used_p().
| ddg_ptr create_ddg | ( | basic_block | , |
| int | closing_branch_deps ) |
References create_ddg().
Referenced by create_ddg().
| ddg_all_sccs_ptr create_ddg_all_sccs | ( | ddg_ptr | ) |
References create_ddg_all_sccs().
Referenced by create_ddg_all_sccs().
References find_nodes_on_paths().
Referenced by find_nodes_on_paths().
References find_predecessors().
Referenced by find_predecessors().
References find_successors().
Referenced by find_successors().
| void free_ddg | ( | ddg_ptr | ) |
References free_ddg().
Referenced by free_ddg().
| void free_ddg_all_sccs | ( | ddg_all_sccs_ptr | ) |
References free_ddg_all_sccs().
Referenced by free_ddg_all_sccs().
| ddg_node_ptr get_node_of_insn | ( | ddg_ptr | , |
| rtx_insn * | ) |
References get_node_of_insn().
Referenced by get_node_of_insn().
| void print_ddg | ( | FILE * | , |
| ddg_ptr | ) |
References print_ddg().
Referenced by print_ddg().
| void print_ddg_edge | ( | FILE * | , |
| ddg_edge_ptr | ) |
References print_ddg_edge().
Referenced by print_ddg_edge().
| void print_sccs | ( | FILE * | , |
| ddg_all_sccs_ptr | , | ||
| ddg_ptr | ) |
References print_sccs().
Referenced by print_sccs().
| void vcg_print_ddg | ( | FILE * | , |
| ddg_ptr | ) |
References vcg_print_ddg().
Referenced by vcg_print_ddg().