C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

declNode::Storage_location Struct Reference

Actual Storage Type Storage Location. More...

#include <ast.h>

List of all members.

Public Types

enum  {
  storageloc_unknown, storageloc_register, storageloc_stack, storageloc_mem_global,
  storageloc_advanced
}

Public Member Functions

 Storage_location ()

Public Attributes

enum declNode::Storage_location:: { ... }  _type
Register _register
int _stack_offset


Detailed Description

Actual Storage Type Storage Location.

This structure indicates where the data associated with this declaration will be stored. It is initially setup by the lir_gen_walker phase and may be modified by later phases.

Definition at line 787 of file ast.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
storageloc_unknown  placeholder for invalid value
storageloc_register  data is stored in a register
storageloc_stack  data is stored on the stack
storageloc_mem_global  data is in the global static memory area
storageloc_advanced  data may be stored in different places at different times

Definition at line 798 of file ast.h.


Constructor & Destructor Documentation

declNode::Storage_location::Storage_location   [inline]
 

The type of storage used for this data item.

Definition at line 790 of file ast.h.

References _stack_offset, _type, and storageloc_unknown.


Member Data Documentation

Register declNode::Storage_location::_register
 

If on the stack, the stack offset where the data lives. This is usually a negative offset from the frame pointer.

Definition at line 811 of file ast.h.

Referenced by storage_alloc::assign_register(), LIR::DeclareLocal(), lir_gen_walker::gen_arg_decl(), lir_gen_walker::gen_local_decl(), lir_gen_walker::load_stack_value(), lir_gen_walker::load_stack_var(), and lir_gen_walker::store_stack().

int declNode::Storage_location::_stack_offset
 

Definition at line 813 of file ast.h.

Referenced by procNode::alloc_stack_local(), LIR::DeclareLocal(), lir_gen_walker::gen_arg_decl(), lir_gen_walker::load_stack_addr(), lir_gen_walker::load_stack_value(), lir_gen_walker::load_stack_var(), Storage_location(), and lir_gen_walker::store_stack().

enum { ... } declNode::Storage_location::_type
 

If in a register, the register in which the data is stored.

Referenced by procNode::alloc_stack_local(), storage_alloc::assign_register(), LIR::DeclareLocal(), lir_gen_walker::gen_arg_decl(), lir_gen_walker::gen_global_decl(), lir_gen_walker::gen_local_decl(), lir_gen_walker::load_global_addr(), lir_gen_walker::load_global_value(), lir_gen_walker::load_global_var(), lir_gen_walker::load_stack_addr(), lir_gen_walker::load_stack_value(), lir_gen_walker::load_stack_var(), Storage_location(), lir_gen_walker::store_global(), and lir_gen_walker::store_stack().


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

Generated on August 27, 2003
Back to the C-Breeze home page