GCC Middle and Back End API Reference
vn_avail Struct Reference

#include <tree-ssa-sccvn.h>

Collaboration diagram for vn_avail:

Data Fields

vn_availnext
 
int location
 
int leader
 
struct vn_ssa_auxnext_undo
 

Detailed Description

Instead of having a local availability lattice for each basic-block
and availability at X defined as union of the local availabilities
at X and its dominators we're turning this upside down and track
availability per value given values are usually made available at very
few points.
So we have a chain of LOCATION, LEADER entries where LOCATION is
specifying the basic-block LEADER is made available for VALUE.
We prepend to this chain in RPO order thus for iteration we can simply
remove the last entries.
LOCATION is the basic-block index and LEADER is its SSA name version.   

Field Documentation

◆ leader

int vn_avail::leader

◆ location

int vn_avail::location

◆ next

◆ next_undo

struct vn_ssa_aux* vn_avail::next_undo

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