Slimified the bitset implementation a little bit
[libfirm] / ir / ana / field_temperature.c
index fc147cd..f36bff4 100644 (file)
@@ -1,15 +1,33 @@
 /*
- * Project:     libFIRM
- * File name:   ir/ana/field_temperature.c
- * Purpose:     Compute an estimate of field temperature, i.e., field access heuristic.
- * Author:      Goetz Lindenmaier
- * Modified by:
- * Created:     21.7.2004
- * CVS-ID:      $Id$
- * Copyright:   (c) 2004 Universität Karlsruhe
- * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
+ * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
  */
 
+/**
+ * @file
+ * @brief     Compute an estimate of field temperature, i.e., field access heuristic.
+ * @author    Goetz Lindenmaier
+ * @date      21.7.2004
+ * @version   $Id$
+ */
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <math.h>
 
 #include "field_temperature.h"
@@ -22,6 +40,7 @@
 #include "irprog_t.h"
 #include "entity_t.h"
 #include "irgwalk.h"
+#include "error.h"
 
 #include "array.h"
 
@@ -38,7 +57,7 @@ int get_Sel_n_accessed_entities(ir_node *sel) {
   return 1;
 }
 
-entity *get_Sel_accessed_entity(ir_node *sel, int pos) {
+ir_entity *get_Sel_accessed_entity(ir_node *sel, int pos) {
   return get_Sel_entity(sel);
 }
 
@@ -137,7 +156,7 @@ int get_type_estimated_n_fields(ir_type *tp) {
   case tpo_struct: {
     int i, n_mem = get_compound_n_members(tp);
     for (i = 0; i < n_mem; ++i) {
-      entity *mem = get_compound_member(tp, i);
+      ir_entity *mem = get_compound_member(tp, i);
       if (get_entity_allocation(mem) == allocation_automatic) {
        s += get_type_estimated_n_fields(get_entity_type(mem));
       }
@@ -154,7 +173,8 @@ int get_type_estimated_n_fields(ir_type *tp) {
     s = n_elt;
   } break;
 
-  default: DDMT(tp); assert(0);
+  default:
+    panic("Unsupported type in get_type_estimated_n_fields %+F", tp);
   }
 
   return s;
@@ -177,7 +197,7 @@ int get_type_estimated_size_bytes(ir_type *tp) {
   case tpo_struct: {
     int i, n_mem = get_compound_n_members(tp);
     for (i = 0; i < n_mem; ++i) {
-      entity *mem = get_compound_member(tp, i);
+      ir_entity *mem = get_compound_member(tp, i);
       s += get_type_estimated_size_bytes(get_entity_type(mem));
 
       if (get_entity_allocation(mem) == allocation_automatic) {
@@ -197,7 +217,7 @@ int get_type_estimated_size_bytes(ir_type *tp) {
     break;
   }
 
-  default: DDMT(tp); assert(0);
+  default: assert(0);
   }
 
   return s;
@@ -265,7 +285,7 @@ double get_class_estimated_dispatch_reads (ir_type *clss) {
   int i, n_mems = get_class_n_members(clss);
   double n_calls = 0;
   for (i = 0; i < n_mems; ++i) {
-    entity *mem = get_class_member(clss, i);
+    ir_entity *mem = get_class_member(clss, i);
     n_calls += get_entity_estimated_n_dyncalls(mem);
   }
   return n_calls;
@@ -276,7 +296,7 @@ double get_class_estimated_n_dyncalls(ir_type *clss) {
          get_class_estimated_dispatch_writes(clss);
 }
 
-double get_entity_estimated_n_loads(entity *ent) {
+double get_entity_estimated_n_loads(ir_entity *ent) {
   int i, n_acc = get_entity_n_accesses(ent);
   double n_loads = 0;
   for (i = 0; i < n_acc; ++i) {
@@ -288,7 +308,7 @@ double get_entity_estimated_n_loads(entity *ent) {
   return n_loads;
 }
 
-double get_entity_estimated_n_stores(entity *ent) {
+double get_entity_estimated_n_stores(ir_entity *ent) {
   int i, n_acc = get_entity_n_accesses(ent);
   double n_stores = 0;
   for (i = 0; i < n_acc; ++i) {
@@ -300,7 +320,7 @@ double get_entity_estimated_n_stores(entity *ent) {
 }
 
 /* @@@ Should we evaluate the callee array?  */
-double get_entity_estimated_n_calls(entity *ent) {
+double get_entity_estimated_n_calls(ir_entity *ent) {
   int i, n_acc = get_entity_n_accesses(ent);
   double n_calls = 0;
   for (i = 0; i < n_acc; ++i) {
@@ -312,26 +332,25 @@ double get_entity_estimated_n_calls(entity *ent) {
   return n_calls;
 }
 
-double get_entity_estimated_n_dyncalls(entity *ent) {
+double get_entity_estimated_n_dyncalls(ir_entity *ent) {
   int i, n_acc = get_entity_n_accesses(ent);
   double n_calls = 0;
   for (i = 0; i < n_acc; ++i) {
     ir_node *acc = get_entity_access(ent, i);
 
     /* Call->Sel(ent) combination */
-    if ((get_irn_op(acc) == op_Call)  &&
-       (get_irn_op(get_Call_ptr(acc)) == op_Sel)) {
+    if (is_Call(acc) && is_Sel(get_Call_ptr(acc))) {
       n_calls += get_irn_final_cost(acc);
 
     /* MemOp->Sel combination for static, overwritten entities */
-    } else if (is_memop(acc) && (get_irn_op(get_memop_ptr(acc)) == op_Sel)) {
-      entity *ent = get_Sel_entity(get_memop_ptr(acc));
+    } else if (is_memop(acc) && is_Sel(get_memop_ptr(acc))) {
+      ir_entity *ent = get_Sel_entity(get_memop_ptr(acc));
       if (is_Class_type(get_entity_owner(ent))) {
-       /* We might call this for inner entities in compounds. */
-       if (get_entity_n_overwrites(ent) > 0 ||
-           get_entity_n_overwrittenby(ent) > 0) {
-         n_calls += get_irn_final_cost(acc);
-       }
+        /* We might call this for inner entities in compounds. */
+        if (get_entity_n_overwrites(ent) > 0 ||
+            get_entity_n_overwrittenby(ent) > 0) {
+          n_calls += get_irn_final_cost(acc);
+        }
       }
     }
 
@@ -367,7 +386,7 @@ int is_jack_rts_class(ir_type *t) {
 
 #include "entity_t.h"  // for the assertion.
 
-int is_jack_rts_entity(entity *e) {
+int is_jack_rts_entity(ir_entity *e) {
   ident *name;
 
   assert(e->ld_name);