X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode.h;h=983f71f49fba687db105bbfa346bf34845998c56;hb=f9d25133f86594ca2b1f33fb0b41a591ecc9b914;hp=86390266715124f84d4b6322c90a7f18de988806;hpb=5d8483cb581a65fb3d7519d9d2f7f65654a03fe5;p=libfirm diff --git a/ir/ir/irnode.h b/ir/ir/irnode.h index 863902667..983f71f49 100644 --- a/ir/ir/irnode.h +++ b/ir/ir/irnode.h @@ -652,7 +652,8 @@ void set_Div_mem (ir_node *node, ir_node *mem); typedef enum { pn_Div_M, /**< Memory result. */ pn_Div_X_except, /**< Execution result if exception occurred. */ - pn_Div_res /**< Result of computation. */ + pn_Div_res, /**< Result of computation. */ + pn_Div_max /**< number of projections from a Div */ } pn_Div; /* Projection numbers for Div. */ ir_node *get_Mod_left (ir_node *node); @@ -936,6 +937,26 @@ void set_Mux_false (ir_node *node, ir_node *ir_false); ir_node *get_Mux_true (ir_node *node); void set_Mux_true (ir_node *node, ir_node *ir_true); +/** + * Projection numbers for result of CopyB node: use for Proj nodes! + */ +typedef enum { + pn_CopyB_M_regular = pn_Call_M_regular, /**< The memory result. */ + pn_CopyB_X_except = pn_Call_X_except, /**< The control flow result branching to the exception handler */ + pn_CopyB_M_except = pn_Call_M_except, /**< The memory result in case the runtime function terminated with + an exception */ + pn_CopyB_max = pn_Call_max /**< number of projections from a CopyB */ +} pn_CopyB; /* Projection numbers for CopyB. */ +#define pn_CopyB_M pn_CopyB_M_regular + +ir_node *get_CopyB_mem (ir_node *node); +void set_CopyB_mem (ir_node *node, ir_node *mem); +ir_node *get_CopyB_dst (ir_node *node); +void set_CopyB_dst (ir_node *node, ir_node *dst); +ir_node *get_CopyB_src (ir_node *node); +void set_CopyB_src (ir_node *node, ir_node *src); +type *get_CopyB_type(ir_node *node); +void set_CopyB_type(ir_node *node, type *data_type); /* *