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  

storage_alloc Class Reference

#include <storage_alloc.h>

List of all members.

Public Member Functions

 storage_alloc (void)
void reset ()
void get_temp_var (typeNode *intendedType, Register &reg, declNode *&pDecl)
void get_temp_ptr (Register &reg, declNode *&pDecl)
void assign_register (declNode *)
bool assign_arg_register (typeNode *, Register &)
int assign_arg_stack (typeNode *)

Private Attributes

unsigned int _next_reg
unsigned int _next_reg_formal_fixed
unsigned int _next_reg_formal_float
unsigned int _next_stack_formal


Constructor & Destructor Documentation

storage_alloc::storage_alloc void   
 

Definition at line 44 of file storage_alloc.cc.

References reset().


Member Function Documentation

bool storage_alloc::assign_arg_register typeNode  ,
Register  
 

Definition at line 90 of file storage_alloc.cc.

References _next_reg_formal_fixed, _next_reg_formal_float, CBZ::ArchInfo, arch_info::get_regs_param_fixed(), arch_info::get_regs_param_float(), typeNode::is_float(), typeNode::is_integer(), typeNode::is_pointer(), and Register::type().

Referenced by lir_gen_walker::gen_arg_decl().

int storage_alloc::assign_arg_stack typeNode  
 

Definition at line 111 of file storage_alloc.cc.

References _next_stack_formal, typeNode::alloc_align(), and typeNode::alloc_size().

Referenced by lir_gen_walker::gen_arg_decl().

void storage_alloc::assign_register declNode  
 

Definition at line 82 of file storage_alloc.cc.

References _next_reg, declNode::Storage_location::_register, declNode::Storage_location::_type, Register::setType(), declNode::storage_location(), declNode::Storage_location::storageloc_register, and declNode::type().

Referenced by lir_gen_walker::gen_local_decl().

void storage_alloc::get_temp_ptr Register   reg,
declNode *&    pDecl
 

Definition at line 78 of file storage_alloc.cc.

References get_temp_var().

Referenced by lir_gen_walker::load_global_addr(), lir_gen_walker::load_stack_addr(), lir_gen_walker::store_global(), and lir_gen_walker::store_stack().

void storage_alloc::get_temp_var typeNode   intendedType,
Register   reg,
declNode *&    pDecl
 

Definition at line 65 of file storage_alloc.cc.

References _next_reg, LirUtil::new_auto_decl(), declNode::storage_location(), and declNode::Storage_location::storageloc_register.

Referenced by lir_gen_walker::gen_binary_assignment(), lir_gen_walker::gen_unary_assignment(), get_temp_ptr(), lir_gen_walker::load_const(), lir_gen_walker::load_global_var(), and lir_gen_walker::load_stack_var().

void storage_alloc::reset  
 

Definition at line 51 of file storage_alloc.cc.

References _next_reg, _next_reg_formal_fixed, _next_reg_formal_float, _next_stack_formal, CBZ::ArchInfo, arch_info::get_all_regs(), and arch_info::get_stack_formals_offset().

Referenced by lir_gen_walker::at_proc(), and storage_alloc().


Member Data Documentation

unsigned int storage_alloc::_next_reg [private]
 

Definition at line 72 of file storage_alloc.h.

Referenced by assign_register(), get_temp_var(), and reset().

unsigned int storage_alloc::_next_reg_formal_fixed [private]
 

Definition at line 75 of file storage_alloc.h.

Referenced by assign_arg_register(), and reset().

unsigned int storage_alloc::_next_reg_formal_float [private]
 

Definition at line 76 of file storage_alloc.h.

Referenced by assign_arg_register(), and reset().

unsigned int storage_alloc::_next_stack_formal [private]
 

Definition at line 79 of file storage_alloc.h.

Referenced by assign_arg_stack(), and reset().


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

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