GCC Middle and Back End API Reference
du_head Struct Reference

#include <regrename.h>

Collaboration diagram for du_head:

Data Fields

struct du_headnext_chain
struct du_chainfirst
struct du_chainlast
unsigned regno
int nregs
unsigned id
bitmap_head conflicts
HARD_REG_SET hard_conflicts
unsigned int need_caller_save_reg:1
unsigned int cannot_rename:1

Detailed Description

   We keep linked lists of DU_HEAD structures, each of which describes
   a chain of occurrences of a reg.  

Field Documentation

unsigned int du_head::cannot_rename
     Nonzero if the register is used in a way that prevents renaming,
     such as the SET_DEST of a CALL_INSN or an asm operand that used
     to be a hard register.  

Referenced by note_sets_clobbers(), record_operand_use(), and set_incoming_from_chain().

bitmap_head du_head::conflicts
     A bitmap to record conflicts with other chains.  

Referenced by free_chain_data(), record_operand_use(), and set_incoming_from_chain().

struct du_chain* du_head::first
     The first and last elements of this chain.  

Referenced by merge_overlapping_regs(), regrename_chain_from_id(), and set_incoming_from_chain().

HARD_REG_SET du_head::hard_conflicts
     Conflicts with untracked hard registers.  

Referenced by set_incoming_from_chain().

unsigned du_head::id
     A unique id to be used as an index into the conflicts bitmaps.  

Referenced by note_sets_clobbers(), record_operand_use(), and set_incoming_from_chain().

struct du_chain * du_head::last

Referenced by set_incoming_from_chain().

unsigned int du_head::need_caller_save_reg
     Nonzero if the chain crosses a call.  

Referenced by record_operand_use(), and set_incoming_from_chain().

struct du_head* du_head::next_chain
     The next chain.  

Referenced by free_chain_data(), record_operand_use(), and verify_reg_tracked().

int du_head::nregs
unsigned du_head::regno
     Describes the register being tracked.  

Referenced by note_sets_clobbers(), record_operand_use(), and regrename_chain_from_id().


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