Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
pointerValue Class ReferencePointer value class.
More...
#include <pointervalue.h>
List of all members.
Detailed Description
Pointer value class.
This class holds a temporary pointer value, which consists of a set of target memory blocks, and a boolean that indicates whether it's an "address-of" pointer. We need this because expressions such as "&y" don't have storage associated with them.
Definition at line 59 of file pointervalue.h.
Constructor & Destructor Documentation
pointerValue::pointerValue |
( |
|
) |
|
|
pointerValue::pointerValue |
( |
memoryBlock * |
mb, |
|
|
bool |
is_address = false |
|
) |
|
|
pointerValue::pointerValue |
( |
const pointerValue & |
other |
) |
|
|
pointerValue::~pointerValue |
( |
|
) |
|
|
Member Function Documentation
void pointerValue::add_blocks_from |
( |
const pointerValue & |
other |
) |
[inline] |
|
void pointerValue::copy_pointers_from |
( |
const pointerValue & |
other |
) |
[inline] |
|
void pointerValue::initialize_pointers |
( |
|
) |
[inline] |
|
bool pointerValue::is_lvalue |
( |
|
) |
[inline] |
|
|
Is assignable?
Is the given pointerValue an L-value
Definition at line 148 of file pointervalue.h. |
Member Data Documentation
|
Memory blocks.
The objects that make up the "value" of the pointer analysis lattice element.
Definition at line 72 of file pointervalue.h.
Referenced by add_blocks_from(), Pointers::analyze_procedure_at(), Pointers::assignment_operator(), Pointers::at_allocation(), constantAnalyzer::at_assignment(), Pointers::at_deallocation(), constantAnalyzer::at_parameter_pass(), Pointers::call_operator(), livenessAnalyzer::collectDefs(), Pointers::conservative_procedure_call(), copy_pointers_from(), Pointers::determine_call_targets(), Pointers::dot_operator(), Pointers::eval(), Pointers::generate_uses(), Pointers::is_allocation(), Pointers::is_deallocation(), Pointers::is_exit(), Pointers::is_reallocation(), Pointers::is_va_arg(), Pointers::is_va_start(), pointerValue(), Pointers::procedure_call(), constantAnalyzer::rebuild_flowvalue(), precisionAnalyzer::record(), and Pointers::star_operator(). |
const constant* pointerValue::constant_value
|
|
|
Constant value.
For constant propagation and constant folding
Definition at line 78 of file pointervalue.h.
Referenced by Pointers::analyze_procedure(), Pointers::assignment_operator(), constantAnalyzer::at_address(), constantAnalyzer::at_assignment(), constantAnalyzer::at_basicblock_entry(), constantAnalyzer::at_binary(), constantAnalyzer::at_cast(), constantAnalyzer::at_const(), constantAnalyzer::at_dereference(), constantAnalyzer::at_field_access(), constantAnalyzer::at_id(), constantAnalyzer::at_index(), constantAnalyzer::at_parameter_pass(), constantAnalyzer::at_return(), constantAnalyzer::at_stmt_entry(), constantAnalyzer::at_unary(), and Pointers::eval(). |
int pointerValue::count = 0 [static]
|
|
bool pointerValue::is_a_use
|
|
|
Is a use?
True if the objects will be used.
Definition at line 90 of file pointervalue.h.
Referenced by Pointers::analyze_procedure(), constantAnalyzer::at_binary(), constantAnalyzer::at_cast(), constantAnalyzer::at_dereference(), constantAnalyzer::at_field_access(), constantAnalyzer::at_id(), constantAnalyzer::at_index(), constantAnalyzer::at_unary(), Pointers::call_operator(), Pointers::eval(), and Pointers::pass_return_value(). |
bool pointerValue::is_address
|
|
|
Is address?
True if this represents the address of the memory blocks.
Definition at line 84 of file pointervalue.h.
Referenced by add_blocks_from(), Pointers::assignment_operator(), Pointers::at_allocation(), constantAnalyzer::at_parameter_pass(), Pointers::conservative_procedure_call(), copy_pointers_from(), Pointers::determine_call_targets(), Pointers::dot_operator(), Pointers::eval(), Pointers::generate_uses(), Pointers::procedure_call(), constantAnalyzer::rebuild_flowvalue(), precisionAnalyzer::record(), Pointers::setup_va_list_variables(), and Pointers::star_operator(). |
The documentation for this class was generated from the following files:
|