|
libFirm 1.20
|
Representation of opcode of intermediate operation. More...
#include <stdio.h>#include "firm_types.h"#include "ident.h"#include "begin.h"#include "opcodes.h"#include "end.h"Go to the source code of this file.
Data Structures | |
| struct | ir_op_ops |
| io_op Operations. More... | |
Defines | |
| #define | NULL_FUNC ((generic_func)(NULL)) |
| The NULL-function. | |
Typedefs | |
| typedef void(* | op_func )(void) |
| A generic function pointer type. | |
| typedef unsigned(* | hash_func )(const ir_node *self) |
| The hash operation. | |
| typedef ir_tarval *(* | computed_value_func )(const ir_node *self) |
| The compute value operation. | |
| typedef ir_node *(* | equivalent_node_func )(ir_node *self) |
| The equivalent node operation. | |
| typedef ir_node *(* | transform_node_func )(ir_node *self) |
| The transform node operation. | |
| typedef int(* | node_cmp_attr_func )(const ir_node *a, const ir_node *b) |
| The node attribute compare operation. | |
| typedef int(* | reassociate_func )(ir_node **n) |
| The reassociation operation. | |
| typedef void(* | copy_attr_func )(ir_graph *irg, const ir_node *old_node, ir_node *new_node) |
| The copy attribute operation. | |
| typedef ir_type *(* | get_type_attr_func )(const ir_node *self) |
| The get_type_attr operation. | |
| typedef ir_entity *(* | get_entity_attr_func )(const ir_node *self) |
| The get_entity_attr operation. | |
| typedef int(* | verify_node_func )(const ir_node *node) |
| The verify_node operation. | |
| typedef int(* | verify_proj_node_func )(const ir_node *proj) |
| The verify_node operation for Proj(X). | |
| typedef void(* | dump_node_func )(FILE *out, const ir_node *self, dump_reason_t reason) |
| The dump_node operation. | |
Enumerations | |
| enum | op_arity { oparity_invalid = 0, oparity_unary, oparity_binary, oparity_trinary, oparity_zero, oparity_variable, oparity_dynamic, oparity_any } |
| The allowed arities. More... | |
| enum | irop_flags { irop_flag_none = 0, irop_flag_labeled = 1U << 0, irop_flag_commutative = 1U << 1, irop_flag_cfopcode = 1U << 2, irop_flag_fragile = 1U << 3, irop_flag_forking = 1U << 4, irop_flag_highlevel = 1U << 5, irop_flag_constlike = 1U << 6, irop_flag_always_opt = 1U << 7, irop_flag_keep = 1U << 8, irop_flag_start_block = 1U << 9, irop_flag_uses_memory = 1U << 10, irop_flag_dump_noblock = 1U << 11, irop_flag_dump_noinput = 1U << 12, irop_flag_cse_neutral = 1U << 13, irop_flag_unknown_jump = 1U << 14 } |
| The irop flags. More... | |
| enum | dump_reason_t { dump_node_opcode_txt, dump_node_mode_txt, dump_node_nodeattr_txt, dump_node_info_txt } |
| Reasons to call the dump_node operation: More... | |
Functions | |
| ident * | get_op_ident (const ir_op *op) |
| Returns the ident for the opcode name. | |
| const char * | get_op_name (const ir_op *op) |
| Returns the string for the opcode. | |
| unsigned | get_op_code (const ir_op *op) |
| Returns the enum for the opcode. | |
| const char * | get_op_pin_state_name (op_pin_state s) |
| Returns a human readable name of an op_pin_state. | |
| op_pin_state | get_op_pinned (const ir_op *op) |
| Returns pinned state of an opcode. | |
| void | set_op_pinned (ir_op *op, op_pin_state pinned) |
| Sets pinned in the opcode. | |
| unsigned | get_next_ir_opcode (void) |
| Returns the next free IR opcode number, allows to register user ops. | |
| unsigned | get_next_ir_opcodes (unsigned num) |
| Returns the next free n IR opcode number, allows to register a bunch of user ops. | |
| op_func | get_generic_function_ptr (const ir_op *op) |
| Returns the generic function pointer from an IR operation. | |
| void | set_generic_function_ptr (ir_op *op, op_func func) |
| Stores a generic function pointer into an IR operation. | |
| irop_flags | get_op_flags (const ir_op *op) |
| Returns the irop flags of an IR opcode. | |
| ir_op * | new_ir_op (unsigned code, const char *name, op_pin_state p, unsigned flags, op_arity opar, int op_index, size_t attr_size, const ir_op_ops *ops) |
| Creates a new IR operation. | |
| unsigned | ir_get_n_opcodes (void) |
| Returns one more than the highest opcode code in use. | |
| ir_op * | ir_get_opcode (unsigned code) |
Returns the opcode with code code. | |
| void | ir_clear_opcodes_generic_func (void) |
| Sets the generic function pointer of all opcodes to NULL. | |
| void | ir_op_set_memory_index (ir_op *op, int memory_index) |
| Sets memory input of operation using memory. | |
| void | ir_op_set_fragile_indices (ir_op *op, int pn_x_regular, int pn_x_except) |
| Sets proj-number for X_regular and X_except projs of fragile nodes. | |
| const ir_op_ops * | get_op_ops (const ir_op *op) |
| Returns the ir_op_ops of an ir_op. | |
Representation of opcode of intermediate operation.
Definition in file irop.h.