GCC Middle and Back End API Reference
|
#include <ira-int.h>
The following structure represents a copy of two allocnos. The copies represent move insns or potential move insns usually because of two operand insn constraints. To remove register shuffle, we also create copies between allocno which is output of an insn and allocno becoming dead in the insn.
bool ira_allocno_copy::constraint_p |
Referenced by add_copies(), and ira_create_copy().
ira_allocno_t ira_allocno_copy::first |
Allocnos connected by the copy. The first allocno should have smaller order number than the second one.
Referenced by add_copies(), ira_create_copy(), ira_debug_allocno_prefs(), ira_mark_memory_move_deletion(), swap_allocno_copy_ends_if_necessary(), and update_costs_from_allocno().
int ira_allocno_copy::freq |
Execution frequency of the copy.
Referenced by add_copies(), ira_create_copy(), swap_allocno_copy_ends_if_necessary(), and update_costs_from_allocno().
rtx ira_allocno_copy::insn |
It is a move insn which is an origin of the copy. The member value for the copy representing two operand insn constraints or for the copy created to remove register shuffle is NULL. In last case the copy frequency is smaller than the corresponding insn execution frequency.
Referenced by add_copies(), and ira_create_copy().
ira_loop_tree_node_t ira_allocno_copy::loop_tree_node |
Region from which given copy is originated.
Referenced by add_copies().
ira_copy_t ira_allocno_copy::next_first_allocno_copy |
Referenced by swap_allocno_copy_ends_if_necessary(), and update_costs_from_allocno().
ira_copy_t ira_allocno_copy::next_second_allocno_copy |
int ira_allocno_copy::num |
The unique order number of the copy node starting with 0.
Referenced by ira_create_copy(), and swap_allocno_copy_ends_if_necessary().
ira_copy_t ira_allocno_copy::prev_first_allocno_copy |
All copies with the same allocno as FIRST are linked by the two following members.
ira_copy_t ira_allocno_copy::prev_second_allocno_copy |
All copies with the same allocno as SECOND are linked by the two following members.
ira_allocno_t ira_allocno_copy::second |
Referenced by add_copies(), ira_create_copy(), swap_allocno_copy_ends_if_necessary(), and update_costs_from_allocno().