X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode.h;h=5a97ff2d9d5f1b648b2b950f5e112854c250d1d1;hb=c23f6e062025e00e102d2e1ca95b48e696ad8cca;hp=13e393dacdf6b3ebee5387bc4550c84890c10eb4;hpb=63eda4e17ebee2a6ab7520d0559ddac0223607d7;p=libfirm diff --git a/ir/ir/irnode.h b/ir/ir/irnode.h index 13e393dac..5a97ff2d9 100644 --- a/ir/ir/irnode.h +++ b/ir/ir/irnode.h @@ -20,6 +20,7 @@ # include "irop.h" # include "irmode.h" # include "type.h" +# include "irextbb.h" # include "dbginfo.h" /** @@ -273,6 +274,11 @@ ir_node *get_Block_cg_cfgpred(ir_node * node, int pos); /* frees the memory. */ void remove_Block_cg_cfgpred_arr(ir_node * node); +/** returns the extended basic block a block belongs to */ +ir_extblk *get_Block_extbb(const ir_node *block); +/** sets the extended basic block a block belongs to */ +void set_Block_extbb(ir_node *block, ir_extblk *extblk); + /** Return the number of Keep alive node. */ int get_End_n_keepalives(ir_node *end); @@ -470,6 +476,7 @@ typedef enum { an exception */ pn_Call_max = 5 /**< number of projections from a Call */ } pn_Call; /* Projection numbers for Call. */ +#define pn_Call_M pn_Call_M_regular ir_node *get_Call_mem (ir_node *node); void set_Call_mem (ir_node *node, ir_node *mem); @@ -674,11 +681,11 @@ typedef enum { /** returns the pnc name from an pnc constant */ const char *get_pnc_string(int pnc); -/** Calculates the negated pnc condition. */ +/** Calculates the negated (Complement(R)) pnc condition. */ int get_negated_pnc(int pnc); -/** Calculates the swapped pnc condition, i.e., "<" --> ">" */ -int get_swapped_pnc(int pnc); +/** Calculates the inversed (R^-1) pnc condition, i.e., "<" --> ">" */ +int get_inversed_pnc(int pnc); ir_node *get_Cmp_left (ir_node *node); void set_Cmp_left (ir_node *node, ir_node *left); @@ -855,10 +862,10 @@ void set_Sync_pred (ir_node *node, int pos, ir_node *pred); type *get_Proj_type (ir_node *node); /** Return the predecessor of a Proj node. */ -ir_node *get_Proj_pred (ir_node *node); +ir_node *get_Proj_pred (const ir_node *node); void set_Proj_pred (ir_node *node, ir_node *pred); /** Return the projection number of a Proj node. */ -long get_Proj_proj (ir_node *node); +long get_Proj_proj (const ir_node *node); void set_Proj_proj (ir_node *node, long proj); ir_node **get_Tuple_preds_arr (ir_node *node); @@ -904,6 +911,10 @@ ir_node *skip_Id (ir_node *node); /* Same as skip_nop. */ ir_node *skip_Tuple (ir_node *node); /** returns operand of node if node is a Cast */ ir_node *skip_Cast (ir_node *node); +/** returns operand of node if node is a Confirm */ +ir_node *skip_Confirm (ir_node *node); +/** Skip all high-level Operations. */ +ir_node *skip_HighLevel(ir_node *node); /** returns true if irn is a Const node. */ int is_Const(const ir_node *node); /** returns true if node is a Bad node. */