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 global
bitmap_headlivein
bitmap_headliveout
int num_blocks
int * work_stack
int * stack_top

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

int tree_live_info_d::num_blocks

Referenced by new_tree_live_info().

int* tree_live_info_d::stack_top
int* tree_live_info_d::work_stack

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