PandA-2024.02
|
This struct specifies the gimple_assign node (GCC 4.3 tree node). More...
#include <tree_node.hpp>
Public Types | |
enum | { GETID =(gimple_node) = 0, GETID =(gimple_node) = 0, GETID =(gimple_node) = 0, GETID =(gimple_node) = 0 } |
visitor enum More... | |
Public Types inherited from gimple_node | |
enum | { GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0, GETID =(srcp) = 0 } |
visitor enum More... | |
Public Types inherited from WeightedNode | |
enum | { GETID =(tree_node) = 0 } |
visitor enum More... | |
Public Member Functions | |
gimple_assign (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 gimple_node | |
gimple_node (unsigned int i) | |
Constructor. More... | |
void | SetVdef (const tree_nodeRef &vdef) |
Add a vdef. More... | |
bool | AddVuse (const tree_nodeRef &vuse) |
Add a vuse. More... | |
bool | AddVover (const tree_nodeRef &vover) |
Add a vover. More... | |
Public Member Functions inherited from srcp | |
srcp () | |
constructor More... | |
virtual | ~srcp () |
Destructor. 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 | op0 |
The first operand of the binary expression. More... | |
tree_nodeRef | op1 |
The second operand of the binary expression. More... | |
tree_nodeRef | predicate |
The predicate. More... | |
bool | init_assignment |
bool | clobber |
bool | temporary_address |
Data Fields inherited from gimple_node | |
tree_nodeRef | memuse |
whole memory operand use More... | |
tree_nodeRef | memdef |
whole memory operand def More... | |
tree_nodeRef | vdef |
vdef of this statement More... | |
TreeNodeSet | vuses |
vuses of this statement More... | |
TreeNodeSet | vovers |
vovers of this statement More... | |
std::vector< tree_nodeRef > | pragmas |
list of pragmas associated to the function More... | |
PointToSolutionRef | use_set |
The point-to set used by this gimple node. More... | |
PointToSolutionRef | clobbered_set |
The clobbered set of this gimple node. More... | |
tree_nodeRef | scpe |
The function to which this gimple_node belongs. More... | |
unsigned int | bb_index |
The basic block to which this gimple_node belongs. More... | |
std::string | operation |
The operation. More... | |
bool | artificial |
this field is true if the gimple_node was created artificially to handle some specific situations, like for example handling functions returning structs by value or accepting structs by value as parameters More... | |
bool | keep |
when true CSE and Bit Value optimization will not remove from the IR More... | |
Data Fields inherited from srcp | |
std::string | include_name |
include_name is a filename string, this can be the location of a reference, if no definition has been seen. More... | |
unsigned int | line_number |
line_number holds a line number. More... | |
unsigned int | column_number |
column_number holds the column number. 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... | |
This struct specifies the gimple_assign node (GCC 4.3 tree node).
Assignment expression. The first operand is the what to set; the second, the new value.
Definition at line 3015 of file tree_node.hpp.
anonymous enum |
|
explicit |
constructor
Definition at line 850 of file tree_node.cpp.
|
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 gimple_node.
Definition at line 855 of file tree_node.cpp.
References ALL_VISIT, op0, op1, predicate, VISIT_MEMBER, and VISIT_SC.
Referenced by gimple_nop::visit(), gimple_goto::visit(), and handler::visit().
bool gimple_assign::clobber |
Definition at line 3031 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().
bool gimple_assign::init_assignment |
Definition at line 3029 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
tree_nodeRef gimple_assign::op0 |
The first operand of the binary expression.
Definition at line 3021 of file tree_node.hpp.
Referenced by Bit_Value::backward_transfer(), lut_transformation::CheckIfPO(), IR_lowering::division_by_a_constant(), Bit_Value::forward_transfer(), GimpleWriter::GimpleWriter(), CSE::has_memory_access(), visit(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef gimple_assign::op1 |
The second operand of the binary expression.
Definition at line 3024 of file tree_node.hpp.
Referenced by Bit_Value::backward_transfer(), bloc::check_function_call(), IR_lowering::division_by_a_constant(), Bit_Value::forward_transfer(), GimpleWriter::GimpleWriter(), CSE::has_memory_access(), visit(), and raw_writer::write_when_not_null_point_to().
tree_nodeRef gimple_assign::predicate |
The predicate.
Definition at line 3027 of file tree_node.hpp.
Referenced by GimpleWriter::GimpleWriter(), visit(), and raw_writer::write_when_not_null_point_to().
bool gimple_assign::temporary_address |
Definition at line 3033 of file tree_node.hpp.
Referenced by Bit_Value::backward_transfer(), GimpleWriter::GimpleWriter(), and raw_writer::write_when_not_null_point_to().