![]() |
libFirm
|
performs a backend-specific builtin. More...
Enumerations | |
| enum | ir_builtin_kind { ir_bk_trap, ir_bk_debugbreak, ir_bk_return_address, ir_bk_frame_address, ir_bk_prefetch, ir_bk_ffs, ir_bk_clz, ir_bk_ctz, ir_bk_popcount, ir_bk_parity, ir_bk_bswap, ir_bk_inport, ir_bk_outport, ir_bk_saturating_increment, ir_bk_compare_swap, ir_bk_may_alias, ir_bk_va_start, ir_bk_va_arg, ir_bk_last = ir_bk_va_arg } |
| Supported libFirm builtins. More... | |
| enum | n_Builtin { n_Builtin_mem, n_Builtin_max = n_Builtin_mem } |
| Input numbers for Builtin node. More... | |
| enum | pn_Builtin { pn_Builtin_M, pn_Builtin_max = pn_Builtin_M } |
| Projection numbers for result of Builtin node (use for Proj nodes) More... | |
Functions | |
| ir_node * | new_rd_Builtin (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type) |
| Construct a Builtin node. More... | |
| ir_node * | new_r_Builtin (ir_node *block, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type) |
| Construct a Builtin node. More... | |
| ir_node * | new_d_Builtin (dbg_info *dbgi, ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type) |
| Construct a Builtin node. More... | |
| ir_node * | new_Builtin (ir_node *irn_mem, int arity, ir_node *const *in, ir_builtin_kind kind, ir_type *type) |
| Construct a Builtin node. More... | |
| int | is_Builtin (const ir_node *node) |
| Test if node is a Builtin. More... | |
| ir_node * | get_Builtin_mem (const ir_node *node) |
| Returns mem input of a Builtin node. More... | |
| void | set_Builtin_mem (ir_node *node, ir_node *mem) |
| Sets mem input of a Builtin node. More... | |
| int | get_Builtin_n_params (ir_node const *node) |
| Get the number of Builtin params. More... | |
| ir_node * | get_Builtin_param (ir_node const *node, int pos) |
Get the Builtin param with index pos. More... | |
| void | set_Builtin_param (ir_node *node, int pos, ir_node *param) |
Set the Builtin param with index pos. More... | |
| ir_node ** | get_Builtin_param_arr (ir_node *node) |
| Get an array of all Builtin params. More... | |
| ir_builtin_kind | get_Builtin_kind (const ir_node *node) |
| Returns kind attribute of a Builtin node. More... | |
| void | set_Builtin_kind (ir_node *node, ir_builtin_kind kind) |
| Sets kind attribute of a Builtin node. More... | |
| ir_type * | get_Builtin_type (const ir_node *node) |
| Returns type attribute of a Builtin node. More... | |
| void | set_Builtin_type (ir_node *node, ir_type *type) |
| Sets type attribute of a Builtin node. More... | |
| ir_op * | get_op_Builtin (void) |
| Returns opcode for Builtin nodes. More... | |
Variables | |
| ir_op * | op_Builtin |
| Builtin opcode. More... | |
performs a backend-specific builtin.
| enum ir_builtin_kind |
Supported libFirm builtins.
Definition at line 280 of file firm_types.h.
| enum n_Builtin |
| enum pn_Builtin |
| ir_builtin_kind get_Builtin_kind | ( | const ir_node * | node | ) |
Returns kind attribute of a Builtin node.
Definition at line 3025 of file gen_irnode.c.
Returns mem input of a Builtin node.
Definition at line 571 of file gen_irnode.c.
| int get_Builtin_n_params | ( | ir_node const * | node | ) |
Get the number of Builtin params.
Definition at line 581 of file gen_irnode.c.
Get the Builtin param with index pos.
Definition at line 586 of file gen_irnode.c.
Get an array of all Builtin params.
Definition at line 596 of file gen_irnode.c.
Returns type attribute of a Builtin node.
Definition at line 3035 of file gen_irnode.c.
| ir_op* get_op_Builtin | ( | void | ) |
Returns opcode for Builtin nodes.
Definition at line 601 of file gen_irnode.c.
References op_Builtin.
| int is_Builtin | ( | const ir_node * | node | ) |
Test if node is a Builtin.
Definition at line 3020 of file gen_irnode.c.
| ir_node* new_Builtin | ( | ir_node * | irn_mem, |
| int | arity, | ||
| ir_node *const * | in, | ||
| ir_builtin_kind | kind, | ||
| ir_type * | type | ||
| ) |
Construct a Builtin node.
| irn_mem | mem |
| arity | size of additional inputs array |
| in | additional inputs |
| kind | kind of builtin |
| type | method type for the builtin call |
Definition at line 566 of file gen_irnode.c.
References new_d_Builtin().
| ir_node* new_d_Builtin | ( | dbg_info * | dbgi, |
| ir_node * | irn_mem, | ||
| int | arity, | ||
| ir_node *const * | in, | ||
| ir_builtin_kind | kind, | ||
| ir_type * | type | ||
| ) |
Construct a Builtin node.
| dbgi | A pointer to debug information. |
| irn_mem | mem |
| arity | size of additional inputs array |
| in | additional inputs |
| kind | kind of builtin |
| type | method type for the builtin call |
Definition at line 559 of file gen_irnode.c.
References current_ir_graph, get_cur_block(), IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), and new_rd_Builtin().
Referenced by new_Builtin().
| ir_node* new_r_Builtin | ( | ir_node * | block, |
| ir_node * | irn_mem, | ||
| int | arity, | ||
| ir_node *const * | in, | ||
| ir_builtin_kind | kind, | ||
| ir_type * | type | ||
| ) |
Construct a Builtin node.
| block | The IR block the node belongs to. |
| irn_mem | mem |
| arity | size of additional inputs array |
| in | additional inputs |
| kind | kind of builtin |
| type | method type for the builtin call |
Definition at line 554 of file gen_irnode.c.
References new_rd_Builtin().
| ir_node* new_rd_Builtin | ( | dbg_info * | dbgi, |
| ir_node * | block, | ||
| ir_node * | irn_mem, | ||
| int | arity, | ||
| ir_node *const * | in, | ||
| ir_builtin_kind | kind, | ||
| ir_type * | type | ||
| ) |
Construct a Builtin node.
| dbgi | A pointer to debug information. |
| block | The IR block the node belongs to. |
| irn_mem | mem |
| arity | size of additional inputs array |
| in | additional inputs |
| kind | kind of builtin |
| type | method type for the builtin call |
Definition at line 531 of file gen_irnode.c.
References ALLOCAN, get_irn_irg(), get_unknown_type(), is_Method_type(), mode_T, new_ir_node(), op_Builtin, op_pin_state_pinned, optimize_node(), and verify_new_node().
Referenced by new_d_Builtin(), and new_r_Builtin().
| void set_Builtin_kind | ( | ir_node * | node, |
| ir_builtin_kind | kind | ||
| ) |
Sets kind attribute of a Builtin node.
Definition at line 3030 of file gen_irnode.c.
Sets mem input of a Builtin node.
Definition at line 576 of file gen_irnode.c.
Set the Builtin param with index pos.
Definition at line 591 of file gen_irnode.c.
Sets type attribute of a Builtin node.
Definition at line 3040 of file gen_irnode.c.
| ir_op* op_Builtin |
Builtin opcode.
Definition at line 916 of file nodes.h.
Referenced by get_op_Builtin(), and new_rd_Builtin().