GCC Middle and Back End API Reference
_var_map Struct Reference

#include <tree-ssa-live.h>

Data Fields

partition var_partition
int * partition_to_view
int * view_to_partition
unsigned int num_partitions
unsigned int partition_size
int num_basevars
int * partition_to_base_index

Detailed Description

   Used to create the variable mapping when we go out of SSA form.

   Mapping from an ssa_name to a partition number is maintained, as well as
   partition number back to ssa_name.

   This data structure also supports "views", which work on a subset of all
   partitions.  This allows the coalescer to decide what partitions are
   interesting to it, and only work with those partitions.  Whenever the view
   is changed, the partition numbers change, but none of the partition groupings
   change. (ie, it is truly a view since it doesn't change anything)

   The final component of the data structure is the basevar map.  This provides
   a list of all the different base variables which occur in a partition view,
   and a unique index for each one. Routines are provided to quickly produce
   the base variable of a partition.

   Note that members of a partition MUST all have the same base variable.  

Field Documentation

int _var_map::num_basevars
     Number of base variables in the base var list.  

Referenced by var_map_base_fini().

unsigned int _var_map::num_partitions
     Current number of partitions in var_map based on the current view.  

Referenced by calculate_live_on_exit(), and var_map_base_fini().

unsigned int _var_map::partition_size
     Original full partition size.  

Referenced by var_map_base_fini().

int* _var_map::partition_to_base_index
     Map of partitions numbers to base variable table indexes.  

Referenced by var_to_partition_to_var().

int* _var_map::partition_to_view
     Vector for managing partitions views.  

Referenced by calculate_live_on_exit(), partition_to_var(), partition_view_fini(), var_map_base_fini(), and version_to_var().

partition _var_map::var_partition
int* _var_map::view_to_partition

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