![]() |
PandA-2024.02
|
This struct specifies the gimple_asm node. More...
#include <tree_node.hpp>


Public Types | |
| enum | { 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_asm (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 | |
| bool | volatile_flag |
| volatile_flag is true if the node is public: it means that the name is accessible from outside. More... | |
| std::string | str |
| str is the operand 0: ASM_STRING. ASM_STRING returns a STRING_CST for the instruction (e.g., "mov x, y"). More... | |
| tree_nodeRef | out |
| out is the operand 1: ASM_OUTPUTS, this represents the outputs for the statement. More... | |
| tree_nodeRef | in |
| in is the operand 2: ASM_INPUTS, this represents the inputs for the statement. More... | |
| tree_nodeRef | clob |
| clob is the operand 3: ASM_CLOBBERS, this represents the clobbers for the statement. More... | |
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_asm node.
Used to represent an inline assembly statement. ASM_STRING returns a STRING_CST for the instruction (e.g., "mov x, y"). ASM_OUTPUTS, ASM_INPUTS, and ASM_CLOBBERS represent the outputs, inputs, and clobbers for the statement. The tree walker structure of this node is: #(TOK_GIMPLE_ASM type (TOK_VOLATILE)? str (out)? in (clob)?)
Definition at line 1574 of file tree_node.hpp.
| anonymous enum |
|
inlineexplicit |
constructor
Definition at line 1577 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 gimple_node.
Definition at line 447 of file tree_node.cpp.
References ALL_VISIT, type_node::visit(), VISIT_MEMBER, and VISIT_SC.

| tree_nodeRef gimple_asm::clob |
clob is the operand 3: ASM_CLOBBERS, this represents the clobbers for the statement.
Definition at line 1594 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| tree_nodeRef gimple_asm::in |
in is the operand 2: ASM_INPUTS, this represents the inputs for the statement.
Definition at line 1591 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| tree_nodeRef gimple_asm::out |
out is the operand 1: ASM_OUTPUTS, this represents the outputs for the statement.
Definition at line 1588 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| std::string gimple_asm::str |
str is the operand 0: ASM_STRING. ASM_STRING returns a STRING_CST for the instruction (e.g., "mov x, y").
Definition at line 1585 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
| bool gimple_asm::volatile_flag |
volatile_flag is true if the node is public: it means that the name is accessible from outside.
Definition at line 1582 of file tree_node.hpp.
Referenced by raw_writer::write_when_not_null_point_to().
1.8.13