GCC Middle and Back End API Reference
ira_allocno_copy Struct Reference

#include <ira-int.h>

Collaboration diagram for ira_allocno_copy:

Data Fields

int num
ira_allocno_t first
ira_allocno_t second
int freq
bool constraint_p
rtx insn
ira_copy_t prev_first_allocno_copy
ira_copy_t next_first_allocno_copy
ira_copy_t prev_second_allocno_copy
ira_copy_t next_second_allocno_copy
ira_loop_tree_node_t loop_tree_node

Detailed Description

   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.  

Field Documentation

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

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