PandA-2024.02
|
Low-level memory addressing. More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(WeightedNode) = 0, GETID =(WeightedNode) = 0, GETID =(WeightedNode) = 0, GETID =(WeightedNode) = 0, GETID =(WeightedNode) = 0, GETID =(WeightedNode) = 0 } |
visitor enum More... | |
Public Types inherited from WeightedNode | |
enum | { GETID =(tree_node) = 0 } |
visitor enum More... | |
Public Member Functions | |
target_mem_ref461 (unsigned int i) | |
constructor More... | |
void | visit (tree_node_visitor *const v) const override |
Redefinition of get_kind_text. More... | |
Public Member Functions inherited from WeightedNode | |
WeightedNode (unsigned int i) | |
Constructor. More... | |
Public Member Functions inherited from tree_node | |
tree_node (unsigned int i) | |
Constructor. More... | |
virtual | ~tree_node ()=default |
Destructor. More... | |
virtual enum kind | get_kind () const =0 |
Virtual function returning the type of the actual class. More... | |
virtual std::string | get_kind_text () const =0 |
Virtual function returning the name of the actual class. More... | |
std::string | ToString () const |
Print this node as string in gimple format. More... | |
Data Fields | |
tree_nodeRef | type |
type of the expression More... | |
tree_nodeRef | base |
BASE register. More... | |
tree_nodeRef | offset |
OFFSET integer constant. More... | |
tree_nodeRef | idx |
INDEX register. More... | |
tree_nodeRef | step |
STEP integer constant. More... | |
tree_nodeRef | idx2 |
INDEX register. More... | |
Data Fields inherited from tree_node | |
const unsigned int | index |
Represent the index read from the raw file and the index-1 of the vector of tree_node associated to the functions vector present in the tree_manager. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from tree_node | |
static enum kind | get_kind (const std::string &name) |
Given a string, return the corresponding kind. More... | |
static std::string | GetString (const enum kind k) |
Given a kind, return the corresponding string. More... | |
Low-level memory addressing.
Operands are BASE (address of static or global variable or register), OFFSET (integer constant), INDEX (register), STEP (integer constant), INDEX2 (register), The corresponding address is BASE + STEP * INDEX + INDEX2 + OFFSET. Only variations and values valid on the target are allowed.
The type of STEP, INDEX and INDEX2 is sizetype.
The type of BASE is a pointer type. If BASE is not an address of a static or global variable INDEX2 will be NULL.
The type of OFFSET is a pointer type and determines TBAA the same as the constant offset operand in MEM_REF.
Definition at line 4938 of file tree_node.hpp.
anonymous enum |
visitor enum
Enumerator | |
---|---|
GETID | |
GETID | |
GETID | |
GETID | |
GETID | |
GETID |
Definition at line 4976 of file tree_node.hpp.
|
inlineexplicit |
constructor
Definition at line 4941 of file tree_node.hpp.
|
overridevirtual |
Redefinition of get_kind_text.
Redefinition of get_kind. virtual function used to traverse the tree_node data structure.
v | is a reference to the tree_node visitor class |
Reimplemented from WeightedNode.
Definition at line 1563 of file tree_node.cpp.
References ALL_VISIT, offset, decl_node::type, var_decl::visit(), VISIT_MEMBER, and VISIT_SC.
tree_nodeRef target_mem_ref461::base |
BASE register.
Definition at line 4949 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), tree_helper::get_array_var(), GimpleWriter::GimpleWriter(), VarDeclFix::recursive_examinate(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef target_mem_ref461::idx |
INDEX register.
Definition at line 4955 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), GimpleWriter::GimpleWriter(), VarDeclFix::recursive_examinate(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef target_mem_ref461::idx2 |
INDEX register.
Definition at line 4961 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), GimpleWriter::GimpleWriter(), VarDeclFix::recursive_examinate(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef target_mem_ref461::offset |
OFFSET integer constant.
Definition at line 4952 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef target_mem_ref461::step |
STEP integer constant.
Definition at line 4958 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef target_mem_ref461::type |
type of the expression
Definition at line 4946 of file tree_node.hpp.
Referenced by IR_lowering::expand_target_mem_ref(), and raw_writer::write_when_not_null_point_to().