X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode_t.h;h=b824f613a1c7d726ff1afd52f19cd7c4045827cf;hb=79b409329e8b6e9f43ac71df6599372fa0dbe497;hp=494b6ca92bf5bc0d12a41728d8d0ab587ecc3969;hpb=988039bf79a0d7648214f1b29f48b52cc8ca52c7;p=libfirm diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index 494b6ca92..b824f613a 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -99,6 +99,14 @@ ir_op_ops *firm_set_default_get_type_attr(ir_opcode code, ir_op_ops *ops); */ ir_op_ops *firm_set_default_get_entity_attr(ir_opcode code, ir_op_ops *ops); +/** + * Returns an array with the predecessors of the Block. Depending on + * the implementation of the graph data structure this can be a copy of + * the internal representation of predecessors as well as the internal + * array itself. Therefore writing to this array might obstruct the IR. + */ +ir_node **get_Block_cfgpred_arr(ir_node *node); + /*-------------------------------------------------------------------*/ /* These function are most used in libfirm. Give them as static */ /* functions so they can be inlined. */ @@ -497,6 +505,12 @@ _is_Carry(const ir_node *node) { return (_get_irn_op(node) == op_Carry); } +static inline int +_is_Borrow(const ir_node *node) { + assert(node); + return (_get_irn_op(node) == op_Borrow); +} + static inline int _is_And(const ir_node *node) { assert(node); @@ -1085,6 +1099,7 @@ _is_arg_Proj(const ir_node *node) { #define is_Quot(node) _is_Quot(node) #define is_Add(node) _is_Add(node) #define is_Carry(node) _is_Carry(node) +#define is_Borrow(node) _is_Borrow(node) #define is_And(node) _is_And(node) #define is_Or(node) _is_Or(node) #define is_Eor(node) _is_Eor(node)