-/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-** All rights reserved.
-**
-** Authors: Christian Schaefer
-**
-*/
-
-/* $Id$ */
+/*
+ * Project: libFIRM
+ * File name: ir/ir/irop.c
+ * Purpose: Representation of opcode of intermediate operation.
+ * Author: Christian Schaefer
+ * Modified by: Goetz Lindenmaier
+ * Created:
+ * CVS-ID: $Id$
+ * Copyright: (c) 1998-2003 Universität Karlsruhe
+ * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
#ifdef HAVE_CONFIG_H
# include <config.h>
# include "irop_t.h"
# include "irnode_t.h"
-# include "misc.h"
+
+# include "xmalloc.h"
ir_op *op_Block; ir_op *get_op_Block () { return op_Block; }
ir_op *op_Shrs; ir_op *get_op_Shrs () { return op_Shrs; }
ir_op *op_Rot; ir_op *get_op_Rot () { return op_Rot; }
ir_op *op_Conv; ir_op *get_op_Conv () { return op_Conv; }
+ir_op *op_Cast; ir_op *get_op_Cast () { return op_Cast; }
ir_op *op_Phi; ir_op *get_op_Phi () { return op_Phi; }
ir_op *op_Proj; ir_op *get_op_Proj () { return op_Proj; }
ir_op *op_Id; ir_op *get_op_Id () { return op_Id; }
ir_op *op_Bad; ir_op *get_op_Bad () { return op_Bad; }
+ir_op *op_Confirm; ir_op *get_op_Confirm () { return op_Confirm; }
ir_op *op_Unknown; ir_op *get_op_Unknown () { return op_Unknown; }
ir_op *op_Filter; ir_op *get_op_Filter () { return op_Filter; }
{
op_Block = new_ir_op (iro_Block, "Block", pinned, 1, sizeof (block_attr));
- op_Start = new_ir_op (iro_Start, "Start", pinned, 0, 0);
+ op_Start = new_ir_op (iro_Start, "Start", pinned, 0, sizeof (start_attr));
op_End = new_ir_op (iro_End, "End", pinned, 0, 0);
op_Jmp = new_ir_op (iro_Jmp, "Jmp", pinned, 0, 0);
op_Cond = new_ir_op (iro_Cond, "Cond", pinned, 1, sizeof(cond_attr));
op_Return= new_ir_op (iro_Return,"Return", pinned, 1, 0);
op_Raise = new_ir_op (iro_Raise, "Raise", pinned, 1, 0);
- op_Const = new_ir_op (iro_Const, "Const", floats, 0, sizeof (struct tarval *));
+ op_Const = new_ir_op (iro_Const, "Const", floats, 0, sizeof (const_attr));
op_SymConst = new_ir_op (iro_SymConst, "SymConst",
floats, 0, sizeof (symconst_attr));
op_Shrs = new_ir_op (iro_Shrs, "Shrs", floats, 1, 0);
op_Rot = new_ir_op (iro_Rot, "Rot", floats, 1, 0);
op_Conv = new_ir_op (iro_Conv, "Conv", floats, 0, 0);
+ op_Cast = new_ir_op (iro_Cast, "Cast", floats, 0, sizeof (cast_attr));
op_Phi = new_ir_op (iro_Phi, "Phi", pinned, 1, sizeof (int));
op_Free = new_ir_op (iro_Free, "Free", pinned, 1, sizeof (type *));
op_Sync = new_ir_op (iro_Sync, "Sync", pinned, 0, 0);
- op_Proj = new_ir_op (iro_Proj, "Proj", floats, 0, sizeof (long));
- op_Tuple = new_ir_op (iro_Tuple, "Tuple", floats, 1, 0);
- op_Id = new_ir_op (iro_Id, "Id", floats, 0, 0);
- op_Bad = new_ir_op (iro_Bad, "Bad", floats, 0, 0);
+ op_Proj = new_ir_op (iro_Proj, "Proj", floats, 0, sizeof (long));
+ op_Tuple = new_ir_op (iro_Tuple, "Tuple", floats, 1, 0);
+ op_Id = new_ir_op (iro_Id, "Id", floats, 0, 0);
+ op_Bad = new_ir_op (iro_Bad, "Bad", floats, 0, 0);
+ op_Confirm = new_ir_op (iro_Confirm, "Confirm", floats, 1, sizeof (confirm_attr));
op_Unknown = new_ir_op (iro_Unknown, "Unknown", floats, 0, 0);
- op_Filter = new_ir_op (iro_Filter, "Filter", pinned, 0, sizeof(filter_attr));
+ op_Filter = new_ir_op (iro_Filter, "Filter", pinned, 1, sizeof(filter_attr));
op_Break = new_ir_op (iro_Break, "Break", pinned, 0, 0);
op_CallBegin = new_ir_op (iro_CallBegin, "CallBegin", pinned, 0, sizeof(callbegin_attr));
op_EndReg = new_ir_op (iro_EndReg, "EndReg", pinned, 0, sizeof(end_attr));
/* Returns the string for the opcode. */
const char *get_op_name (ir_op *op) {
- return id_to_str(op->name);
+ return get_id_str(op->name);
}
opcode get_op_code (ir_op *op){