GCC Middle and Back End API Reference
tree_live_info_d Struct Reference

#include <tree-ssa-live.h>

Collaboration diagram for tree_live_info_d:

Data Fields

var_map map
 
bitmap_headlivein
 
bitmap_headliveout
 
int num_blocks
 
int * work_stack
 
int * stack_top
 
bitmap_obstack livein_obstack
 
bitmap_obstack liveout_obstack
 

Detailed Description

---------------- live on entry/exit info ------------------------------ This structure is used to represent live range information on SSA based trees. A partition map must be provided, and based on the active partitions, live-on-entry information and live-on-exit information can be calculated. As well, partitions are marked as to whether they are global (live outside the basic block they are defined in). The live-on-entry information is per block. It provide a bitmap for each block which has a bit set for each partition that is live on entry to that block. The live-on-exit information is per block. It provides a bitmap for each block indicating which partitions are live on exit from the block. For the purposes of this implementation, we treat the elements of a PHI as follows: Uses in a PHI are considered LIVE-ON-EXIT to the block from which they originate. They are *NOT* considered live on entry to the block containing the PHI node. The Def of a PHI node is *not* considered live on entry to the block. It is considered to be "define early" in the block. Picture it as each block having a stmt (or block-preheader) before the first real stmt in the block which defines all the variables that are defined by PHIs. -----------------------------------------------------------------------

Field Documentation

◆ livein

◆ livein_obstack

bitmap_obstack tree_live_info_d::livein_obstack

◆ liveout

◆ liveout_obstack

bitmap_obstack tree_live_info_d::liveout_obstack

◆ map

◆ num_blocks

int tree_live_info_d::num_blocks

Referenced by new_tree_live_info().

◆ stack_top

int* tree_live_info_d::stack_top

◆ work_stack

int* tree_live_info_d::work_stack

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