GCC Middle and Back End API Reference
|
Functions | |
static void | free_list (rtx *, rtx *) |
static void | free_list () |
static rtx * | find_list_elem () |
static void | remove_list_node () |
rtx | remove_list_elem () |
rtx | alloc_INSN_LIST () |
rtx | alloc_EXPR_LIST () |
void | free_EXPR_LIST_list () |
void | free_INSN_LIST_list () |
rtx | copy_INSN_LIST () |
rtx | concat_INSN_LIST () |
void | free_EXPR_LIST_node () |
void | free_INSN_LIST_node () |
void | remove_free_INSN_LIST_elem () |
rtx | remove_free_INSN_LIST_node () |
rtx | remove_free_EXPR_LIST_node () |
Variables | |
static rtx | unused_insn_list |
static rtx | unused_expr_list |
rtx alloc_EXPR_LIST | ( | ) |
This call is used in place of a gen_rtx_EXPR_LIST. If there is a cached node available, we'll use it, otherwise a call to gen_rtx_EXPR_LIST is made.
References unused_expr_list.
Referenced by add_insn_mem_dependence(), adjust_mems(), alloc_reg_note(), concat_insn_mem_list(), cond_exec_process_insns(), decl_piece_node(), emit_group_load_into_temps(), emit_group_move_into_temps(), extract_mentioned_regs_1(), iv_number_of_iterations(), push_reg_equiv_alt_mem(), shorten_into_mode(), simplify_using_initial_values(), and unswitch_single_loop().
rtx alloc_INSN_LIST | ( | ) |
This call is used in place of a gen_rtx_INSN_LIST. If there is a cached node available, we'll use it, otherwise a call to gen_rtx_INSN_LIST is made.
References unused_insn_list.
Referenced by add_insn_mem_dependence(), add_to_speculative_block(), alloc_reg_note(), compute_ld_motion_mems(), concat_INSN_LIST(), concat_insn_mem_list(), copy_INSN_LIST(), dep_cost_1(), deps_analyze_insn(), find_moveable_store(), fix_recovery_deps(), flush_pending_lists(), queue_insn(), sched_analyze_insn(), and sched_analyze_reg().
rtx concat_INSN_LIST | ( | ) |
Duplicate the INSN_LIST elements of COPY and prepend them to OLD.
References alloc_INSN_LIST(), and copy().
Referenced by deps_analyze_insn(), and deps_join().
rtx copy_INSN_LIST | ( | ) |
Make a copy of the INSN_LIST list LINK and return it.
References alloc_INSN_LIST().
Referenced by save_backtrack_point().
|
static |
Find corresponding to ELEM node in the list pointed to by LISTP. This node must exist in the list. Returns pointer to that node.
Referenced by remove_list_elem().
void free_EXPR_LIST_list | ( | ) |
This function will free up an entire list of EXPR_LIST nodes.
References free_list(), and unused_expr_list.
Referenced by adjust_insn(), flush_pending_lists(), free_deps(), free_pending_lists(), free_reg_equiv(), and simplify_using_initial_values().
void free_EXPR_LIST_node | ( | ) |
This function will free up an individual EXPR_LIST node.
References unused_expr_list.
Referenced by adjust_piece_list(), df_remove_dead_and_unused_notes(), df_remove_dead_eq_notes(), remove_free_EXPR_LIST_node(), simplify_using_initial_values(), and unswitch_single_loop().
void free_INSN_LIST_list | ( | ) |
This function will free up an entire list of INSN_LIST nodes.
References free_list(), and unused_insn_list.
Referenced by add_dependence_list_and_free(), deps_analyze_insn(), fix_recovery_deps(), flush_pending_lists(), free_deps(), free_ldst_entry(), free_pending_lists(), free_st_expr_entry(), free_topmost_backtrack_point(), queue_to_ready(), restore_last_backtrack_point(), and schedule_block().
void free_INSN_LIST_node | ( | ) |
This function will free up an individual INSN_LIST node.
References unused_insn_list.
Referenced by add_to_speculative_block(), dep_cost_1(), early_queue_to_ready(), remove_free_INSN_LIST_elem(), remove_free_INSN_LIST_node(), and schedule_block().
@verbatim List management for the GCC expander.
Copyright (C) 1987-2013 Free Software Foundation, Inc.
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/.
Referenced by free_EXPR_LIST_list(), and free_INSN_LIST_list().
|
static |
This function will free an entire list of either EXPR_LIST, INSN_LIST or DEPS_LIST nodes. This is to be used only on lists that consist exclusively of nodes of one type only. This is only called by free_EXPR_LIST_list, free_INSN_LIST_list and free_DEPS_LIST_list.
rtx remove_free_EXPR_LIST_node | ( | ) |
Remove and free the first node in the EXPR_LIST pointed to by LISTP.
References free_EXPR_LIST_node(), and remove_list_node().
Referenced by remove_from_both_dependence_lists().
void remove_free_INSN_LIST_elem | ( | ) |
Remove and free corresponding to ELEM node in the INSN_LIST pointed to by LISTP.
References free_INSN_LIST_node(), and remove_list_elem().
Referenced by queue_remove().
rtx remove_free_INSN_LIST_node | ( | ) |
Remove and free the first node in the INSN_LIST pointed to by LISTP.
References free_INSN_LIST_node(), and remove_list_node().
Referenced by remove_from_both_dependence_lists(), and remove_from_dependence_list().
rtx remove_list_elem | ( | ) |
Removes corresponding to ELEM node from the list pointed to by LISTP. Returns that node.
References find_list_elem(), and remove_list_node().
Referenced by remove_free_INSN_LIST_elem().
|
static |
Remove the node pointed to by LISTP from the list.
Referenced by remove_free_EXPR_LIST_node(), remove_free_INSN_LIST_node(), and remove_list_elem().
|
static |
An EXPR_LIST containing all EXPR_LISTs allocated but currently unused.
Referenced by alloc_EXPR_LIST(), free_EXPR_LIST_list(), and free_EXPR_LIST_node().
|
static |
Functions for maintaining cache-able lists of EXPR_LIST and INSN_LISTs.
An INSN_LIST containing all INSN_LISTs allocated but currently unused.
Referenced by alloc_INSN_LIST(), free_INSN_LIST_list(), and free_INSN_LIST_node().