added doxygen comments
[libfirm] / ir / ana / cgana.c
index 03ba454..548ed9e 100644 (file)
@@ -46,7 +46,7 @@
 
 #include "irdump.h"
 
-#include "firmstat.h"
+#include "irhooks.h"
 
 /* Eindeutige Adresse zur Markierung von besuchten Knoten und zur
  * Darstellung der unbekannten Methode. */
@@ -137,6 +137,8 @@ static entity *get_inherited_methods_implementation(entity *inh_meth) {
  */
 static void collect_impls(entity *method, eset *set, int *size, bool *open) {
   int i;
+  entity *impl;
+
 #if 0
   if (get_entity_peculiarity(method) == peculiarity_existent) {
     if ((get_entity_visibility(method) == visibility_external_allocated)
@@ -188,13 +190,13 @@ static void collect_impls(entity *method, eset *set, int *size, bool *open) {
      remember that there are more methods called. */
   /* @@@ We could also add unknown_entity, or the entities with the
      unknown irgs.  The first case would result in the exact same
-     behaviour: all unknown irgs are represented by the one and only
+     behavior: all unknown irgs are represented by the one and only
      unknown entity. If we add all entities, we known the number of
      entities possibly called, and whether there are real unknown
      entities, i.e, such not represented in the type description.
-     This would be better for an analyses: it could rule out more
+     This would be better for an analysis: it could rule out more
      cases. */
-  entity *impl = method;
+  impl = method;
   if (get_entity_peculiarity(method) == peculiarity_inherited)
     impl = get_inherited_methods_implementation(method);
 
@@ -253,7 +255,7 @@ static entity ** get_impl_methods(entity * method) {
   return arr;
 }
 
-/** Analyse address computations.
+/** Analyze address computations.
  *
  *  - If the node is a SymConst(name) replace it by SymConst(ent) if possible.
  *  - If the node is a Sel:
@@ -272,22 +274,24 @@ static void sel_methods_walker(ir_node * node, void *env) {
     if (get_SymConst_kind(node) == symconst_addr_name) {
       pmap_entry * entry = pmap_find(ldname_map, (void *) get_SymConst_name(node));
       if (entry != NULL) { /* Method is declared in the compiled code */
-       entity * ent = entry->value;
-       if (get_opt_normalize() && (get_entity_visibility(ent) != visibility_external_allocated)) { /* Meth. is defined */
-         set_irg_current_block(current_ir_graph, get_nodes_block(node));
-         ir_node *new_node = copy_const_value(get_atomic_ent_value(ent));
+           entity * ent = entry->value;
+           if (get_opt_normalize() && (get_entity_visibility(ent) != visibility_external_allocated)) { /* Meth. is defined */
+          ir_node *new_node;
+
+             set_irg_current_block(current_ir_graph, get_nodes_block(node));
+             new_node = copy_const_value(get_atomic_ent_value(ent));
 
-         DBG_OPT_CSTEVAL(node, new_node);
+             DBG_OPT_CSTEVAL(node, new_node);
 
-         assert(get_entity_irg(ent));
-         DDMN(new_node);
-         exchange(node, new_node);
-       }
+             assert(get_entity_irg(ent));
+             DDMN(new_node);
+             exchange(node, new_node);
+           }
       }
     }
   }
   else if (get_irn_op(node) == op_Sel &&
-          is_method_type(get_entity_type(get_Sel_entity(node)))) {
+          is_Method_type(get_entity_type(get_Sel_entity(node)))) {
     entity * ent = get_Sel_entity(node);
 
     /* Sel from Alloc: replace by constant */
@@ -323,10 +327,10 @@ static void sel_methods_walker(ir_node * node, void *env) {
         /* Gib eine Warnung aus wenn die Entitaet eine Beschreibung ist
            fuer die es keine Implementierung gibt. */
         if (get_entity_peculiarity(ent) == peculiarity_description) {
-         /* This is possible:  We call a method in a dead part of the program. */
+          /* This is possible:  We call a method in a dead part of the program. */
         } else {
-         DDMN(node);
-         assert(0);  /* Why should this happen ??? */
+             DDMN(node);
+             assert(0);  /* Why should this happen ??? */
           //exchange(node, new_Bad());
         }
       } else {
@@ -415,7 +419,7 @@ static entity ** get_Sel_arr(ir_node * sel) {
 
   assert(sel && get_irn_op(sel) == op_Sel);
   ent = get_Sel_entity(sel);
-  assert(is_method_type(get_entity_type(ent))); /* what else? */
+  assert(is_Method_type(get_entity_type(ent))); /* what else? */
   arr = get_entity_link(ent);
   if (arr) {
     return arr;
@@ -509,7 +513,7 @@ static void callee_ana_node(ir_node * node, eset * methods) {
   case iro_SymConst:
     if (get_SymConst_kind(node) == symconst_addr_ent) {
       entity * ent = get_SymConst_entity(node);
-      assert(ent && is_method_type(get_entity_type(ent)));
+      assert(ent && is_Method_type(get_entity_type(ent)));
       eset_insert(methods, ent);
     } else {
       assert(get_SymConst_kind(node) == symconst_addr_name);
@@ -696,9 +700,9 @@ static void free_mark(ir_node * node, eset * set) {
   switch (get_irn_opcode(node)) {
   case iro_Sel: {
     entity * ent = get_Sel_entity(node);
-    if (is_method_type(get_entity_type(ent))) {
+    if (is_Method_type(get_entity_type(ent))) {
       for (i = get_Sel_n_methods(node) - 1; i >= 0; --i) {
-    eset_insert(set, get_Sel_method(node, i));
+        eset_insert(set, get_Sel_method(node, i));
       }
     }
     break;
@@ -706,7 +710,7 @@ static void free_mark(ir_node * node, eset * set) {
   case iro_SymConst:
     if (get_SymConst_kind(node) == symconst_addr_ent) {
       entity * ent = get_SymConst_entity(node);
-      if (is_method_type(get_entity_type(ent))) {
+      if (is_Method_type(get_entity_type(ent))) {
         eset_insert(set, ent);
       }
     } else {
@@ -836,7 +840,7 @@ void cgana(int *length, entity ***free_methods) {
 
   /* Convert the flexible array to an array that can be handled
      by standard C. */
-  p = (entity **)xmalloc(sizeof(*p) * ARR_LEN(free_meths));
+  p = xmalloc(sizeof(*p) * ARR_LEN(free_meths));
   memcpy(p, free_meths, ARR_LEN(free_meths) * sizeof(*p));
 
   *length       = ARR_LEN(free_meths);