GCC Middle and Back End API Reference
virtual_operand_live Class Reference

#include <tree-ssa-live.h>

Public Member Functions

 virtual_operand_live ()
 
 ~virtual_operand_live ()
 
tree get_live_in (basic_block bb)
 
tree get_live_out (basic_block bb)
 
tree get_live_on_edge (edge e)
 

Private Member Functions

void init ()
 

Private Attributes

treeliveout
 

Detailed Description

On-demand virtual operand global live analysis.  There is at most
a single virtual operand live at a time, the following computes and
caches the virtual operand live at the exit of a basic block
supporting related live-in and live-on-edge queries.  It requires
up-to-date marked backedges.   

Constructor & Destructor Documentation

◆ virtual_operand_live()

virtual_operand_live::virtual_operand_live ( )
inline

◆ ~virtual_operand_live()

virtual_operand_live::~virtual_operand_live ( )
inline

References free(), and liveout.

Member Function Documentation

◆ get_live_in()

tree virtual_operand_live::get_live_in ( basic_block bb)
Compute live-in of BB from cached live-out.   

References FOR_EACH_EDGE, get_live_out(), get_virtual_phi(), ggc_alloc(), gimple_phi_result(), init(), liveout, NULL_TREE, and basic_block_def::preds.

Referenced by get_live_out().

◆ get_live_on_edge()

tree virtual_operand_live::get_live_on_edge ( edge e)
inline

References get_live_out().

◆ get_live_out()

tree virtual_operand_live::get_live_out ( basic_block bb)

◆ init()

void virtual_operand_live::init ( )
private
Virtual operand liveness analysis data init.   

References cfun, ENTRY_BLOCK, ggc_alloc(), gimple_vop(), last_basic_block_for_fn, liveout, and ssa_default_def().

Referenced by get_live_in(), and get_live_out().

Field Documentation

◆ liveout

tree* virtual_operand_live::liveout
private

The documentation for this class was generated from the following files: