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: