dec_irg_block_visited() added
[libfirm] / ir / ir / irprog.c
index 30cc317..7c588b5 100644 (file)
 # include <string.h>
 #endif
 
-# include "irprog_t.h"
-# include "irgraph_t.h"
-# include "pseudo_irg.h"
-# include "array.h"
-# include "obst.h"
-# include "typegmod.h"
+#include "irprog_t.h"
+#include "irgraph_t.h"
+#include "pseudo_irg.h"
+#include "array.h"
+#include "obst.h"
+#include "typegmod.h"
+#include "irop_t.h"
 
 #define GLOBAL_TYPE_NAME "GlobalType"
 #define INITAL_PROG_NAME "no_name_set"
@@ -68,6 +69,7 @@ static ir_prog *complete_ir_prog(ir_prog *irp) {
 
   irp->const_code_irg   = new_const_code_irg();
 
+  irp->phase_state      = phase_building;
   irp->outs_state       = outs_none;
   irp->ip_outedges      = NULL;
   irp->trouts_state     = outs_none;
@@ -288,7 +290,15 @@ ir_op *(get_irp_opcode)(int pos) {
   return _get_irp_opcode(pos);
 }
 
+/* Sets the generic function pointer of all opcodes to NULL */
+void  clear_irp_opcodes_generic_func(void) {
+  int i;
 
+  for (i = get_irp_n_opcodes() - 1; i >= 0; --i) {
+    ir_op *op = get_irp_opcode(i);
+    op->ops.generic = (op_func)NULL;
+  }
+}
 
 /*- File name / executable name or the like -*/
 void   set_irp_prog_name(ident *name) {