X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firop.h;h=251c274cd78cc694386fc339d1c79553cd7ada0d;hb=8399216d8aebc713bbda04b6e3e250a1d52b20bf;hp=406168e5c8b296376baa8c296669224df88da9ac;hpb=8fdd5e2cf889969148fc08ccbc697f71d9b615d6;p=libfirm diff --git a/ir/ir/irop.h b/ir/ir/irop.h index 406168e5c..251c274cd 100644 --- a/ir/ir/irop.h +++ b/ir/ir/irop.h @@ -40,7 +40,7 @@ typedef enum { iro_Load, iro_Store, iro_Alloc, iro_Free, iro_Sync, iro_Proj, iro_Tuple, iro_Id, iro_Bad, iro_Confirm, iro_Unknown, iro_Filter, iro_Break, iro_CallBegin, iro_EndReg, iro_EndExcept, - iro_FuncCall, + iro_NoMem, iro_Mux, iro_MaxOpcode } opcode; @@ -104,10 +104,11 @@ extern ir_op *op_CallBegin; ir_op *get_op_CallBegin (void); extern ir_op *op_EndReg; ir_op *get_op_EndReg (void); extern ir_op *op_EndExcept; ir_op *get_op_EndExcept (void); -extern ir_op *op_FuncCall; ir_op *get_op_FuncCall (void); +extern ir_op *op_NoMem; ir_op *get_op_NoMem (void); +extern ir_op *op_Mux; ir_op *get_op_Mux (void); /** Returns the ident for the opcode name */ -ident *get_op_ident(ir_op *op); +ident *get_op_ident(const ir_op *op); /** Returns the string for the opcode. */ const char *get_op_name(const ir_op *op); @@ -119,10 +120,14 @@ opcode get_op_code(const ir_op *op); typedef enum { op_pin_state_floats = 0, /**< Nodes of this opcode can be placed in any basic block. */ op_pin_state_pinned, /**< Nodes must remain in this basic block. */ - op_pin_state_exc_pinned /**< Node must be remain in this basic block if it can throw an + op_pin_state_exc_pinned, /**< Node must be remain in this basic block if it can throw an exception, else can float. Used internally. */ + op_pin_state_mem_pinned /**< Node must be remain in this basic block if it can throw an + exception or uses memory, else can float. Used internally. */ } op_pin_state; +const char *get_op_pin_state_name(op_pin_state s); + /** gets pinned state of an opcode */ op_pin_state get_op_pinned(const ir_op *op);