X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firnode_t.h;h=0c09ad5b51bd05fb23650c3741beb24e72be27d2;hb=0e9428a1fd32b6084e0c561fa8056912069613d9;hp=2882e7fc7d9bb81d618f39ef6a153d54f8dfcb4f;hpb=3d16844cfe86402baf7e82c87facf630ee336b73;p=libfirm diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index 2882e7fc7..0c09ad5b5 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -22,6 +22,13 @@ typedef struct { struct ir_node **graph_arr; /* array to store all parameters */ } block_attr; +/* Cond attributes */ +typedef struct { + cond_kind kind; /* flavor of Cond */ + long default_proj; /* for optimization: biggest Proj number, i.e. the one + used for default. */ +} cond_attr; + /* SymConst attributes */ /* This union contains the symbolic information represented by the node */ typedef union type_or_id { @@ -50,10 +57,11 @@ typedef struct { some have more. Their name is 'irnodename_attr' */ typedef union { block_attr block; /* For Block: Fields needed to construct it */ + cond_attr c; /* For Cond. */ struct tarval *con; /* For Const: contains the value of the constant */ symconst_attr i; /* For SymConst. */ sel_attr s; /* For Sel. */ - type_method *call; /* For Call: pointer to the type of the method to call */ + type *call; /* For Call: pointer to the type of the method to call */ long proj; /* For Proj: contains the result position to project */ alloc_attr a; /* For Alloc. */ type *f; /* For Free. */ @@ -104,7 +112,7 @@ inline long get_irn_proj_attr (ir_node *node); inline alloc_attr get_irn_alloc_attr (ir_node *node); inline type *get_irn_free_attr (ir_node *node); inline symconst_attr get_irn_symconst_attr (ir_node *node); -type_method *get_irn_call_attr (ir_node *node); +type *get_irn_call_attr (ir_node *node); sel_attr get_irn_sel_attr (ir_node *node); int get_irn_phi_attr (ir_node *node); block_attr get_irn_return_attr (ir_node *node);