use tv_t.h instead of tv.h
[libfirm] / ir / ir / irprog.c
index 1429817..b30dac8 100644 (file)
 
 /* A variable from where everything in the ir can be accessed. */
 ir_prog *irp;
-ir_prog *get_irp() { return irp; }
+ir_prog *get_irp(void) { return irp; }
 
 /* initializes ir_prog. Calles the constructor for an ir_prog. */
 void init_irprog(void) {
   new_ir_prog ();
 }
 
-INLINE void remove_irp_type_from_list (type *typ) {
+void remove_irp_type_from_list (type *typ) {
   int i;
   assert(typ);
 #if 0
@@ -47,7 +47,7 @@ INLINE void remove_irp_type_from_list (type *typ) {
 #endif
     if (irp->types[i] == typ) {
       for(; i < (ARR_LEN (irp->types)) - 1; i++) {
-       irp->types[i] = irp->types[i+1];
+        irp->types[i] = irp->types[i+1];
       }
       ARR_SETLEN(type*, irp->types, (ARR_LEN(irp->types)) - 1);
       break;
@@ -60,10 +60,10 @@ INLINE void remove_irp_type_from_list (type *typ) {
 ir_prog *new_ir_prog (void) {
   ir_prog *res;
 
-  res = (ir_prog *) xmalloc (sizeof(ir_prog));
-  memset(res, 0, sizeof(res));
+  res = xmalloc (sizeof(*res));
+  memset(res, 0, sizeof(*res));
   irp = res;
-  /* res->obst      = (struct obstack *) xmalloc (sizeof (struct obstack)); */
+  /* res->obst      = xmalloc (sizeof(*res->obst)); */
   res->graphs        = NEW_ARR_F (ir_graph *, 0);
   res->pseudo_graphs = NEW_ARR_F (ir_graph *, 0);
   res->types  = NEW_ARR_F (type *, 0);
@@ -80,15 +80,17 @@ ir_prog *new_ir_prog (void) {
 
   res->const_code_irg = new_const_code_irg();
 
-  res->outs_state = outs_none;
-  res->ip_outedges = NULL;
+  res->outs_state   = outs_none;
+  res->ip_outedges  = NULL;
+  res->trouts_state = outs_none;
+  res->class_cast_state = ir_class_casts_transitive;
 
   return res;
 }
 
 /* frees all memory used by irp.  Types in type list, irgs in irg
     list and entities in global type must be freed by hand before. */
-void     free_ir_prog() {
+void     free_ir_prog(void) {
   free_type(irp->glob_type);
   /* @@@ * free_ir_graph(irp->const_code_irg); * ?? End has no in?? */
   DEL_ARR_F(irp->graphs);
@@ -102,7 +104,7 @@ void     free_ir_prog() {
 
 
 /* Access the main routine of the compiled program. */
-ir_graph *get_irp_main_irg() {
+ir_graph *get_irp_main_irg(void) {
   assert (irp);
   return irp->main_irg;
 }
@@ -131,7 +133,7 @@ void remove_irp_irg_from_list(ir_graph *irg){
     if (irp->graphs[i] == irg) {
       found = true;
       for(; i < (ARR_LEN (irp->graphs)) - 1; i++) {
-       irp->graphs[i] = irp->graphs[i+1];
+        irp->graphs[i] = irp->graphs[i+1];
       }
       ARR_SETLEN(ir_graph*, irp->graphs, (ARR_LEN(irp->graphs)) - 1);
       break;
@@ -140,11 +142,11 @@ void remove_irp_irg_from_list(ir_graph *irg){
   if (!found) {
     for (i = 0; i < (ARR_LEN (irp->pseudo_graphs)); i++) {
       if (irp->pseudo_graphs[i] == irg) {
-       for(; i < (ARR_LEN (irp->pseudo_graphs)) - 1; i++) {
-         irp->pseudo_graphs[i] = irp->pseudo_graphs[i+1];
-       }
-       ARR_SETLEN(ir_graph*, irp->pseudo_graphs, (ARR_LEN(irp->pseudo_graphs)) - 1);
-       break;
+             for(; i < (ARR_LEN (irp->pseudo_graphs)) - 1; i++) {
+               irp->pseudo_graphs[i] = irp->pseudo_graphs[i+1];
+             }
+             ARR_SETLEN(ir_graph*, irp->pseudo_graphs, (ARR_LEN(irp->pseudo_graphs)) - 1);
+             break;
       }
     }
   }
@@ -243,6 +245,13 @@ ir_graph *(get_const_code_irg)(void)
   return __get_const_code_irg();
 }
 
+irg_phase_state get_irp_phase_state(void) {
+  return irp->phase_state;
+}
+void           set_irp_phase_state(irg_phase_state s) {
+  irp->phase_state = s;
+}
+
 irg_outs_state get_irp_ip_outs_state() {
   return irp->outs_state;
 }
@@ -253,12 +262,12 @@ void set_irp_ip_outs_inconsistent() {
 
 void      set_irp_ip_outedges(ir_node ** ip_outedges)
 {
-  irp -> ip_outedges = ip_outedges;
+  irp->ip_outedges = ip_outedges;
 }
 
 ir_node** get_irp_ip_outedges(void)
 {
-  return(irp -> ip_outedges);
+  return irp->ip_outedges;
 }