little cleanup
[libfirm] / ir / tr / entity.h
index 0866736..7c22777 100644 (file)
 #define _ENTITY_H_
 
 #include "firm_types.h"
-#include "ident.h"
-#include "type.h"
 #include "dbginfo.h"
-#include "irgraph.h"
 
 #include "tr_inheritance.h"
 
@@ -339,7 +336,7 @@ int      is_irn_const_expression(ir_node *n);
  * Copies a firm subgraph that complies to the restrictions for
  * constant expressions to current_block in current_ir_graph.
  */
-ir_node *copy_const_value(ir_node *n);
+ir_node *copy_const_value(dbg_info *dbg, ir_node *n);
 
 /* Set has no effect for existent entities of type method. */
 ir_node *get_atomic_ent_value(entity *ent);
@@ -374,7 +371,7 @@ int     get_compound_graph_path_array_index(compound_graph_path *gr, int pos);
 void    set_compound_graph_path_array_index(compound_graph_path *gr, int pos, int index);
 
 /** Checks whether the path up to pos is correct. If the path contains a NULL,
- *  assumes the path is not complete and returns 'true'. */
+ *  assumes the path is not complete and returns non-zero. */
 int is_proper_compound_graph_path(compound_graph_path *gr, int pos);
 
 /* A value of a compound entity is a pair of a value and the description of the
@@ -512,7 +509,7 @@ int is_compound_entity(entity *ent);
     - they have the same type (the same C-struct)
     - ...?
 */
-bool equal_entity(entity *ent1, entity *ent2);
+int equal_entity(entity *ent1, entity *ent2);
 
 /** Outputs a unique number for this entity if libfirm is compiled for
    debugging, (configure with --enable-debug) else returns 0. */
@@ -533,20 +530,20 @@ int        entity_visited(entity *ent);
 /** Returns true if this entity was not visited. */
 int        entity_not_visited(entity *ent);
 
-/** Returns the mask of the additional graph properties. */
-unsigned get_entity_additional_properties(const entity *ent);
+/**
+ * Returns the mask of the additional entity properties.
+ * The properties are automatically inherited from the irg if available
+ * or from the method type if they were not set using
+ * set_entity_additional_properties() or
+ * set_entity_additional_property().
+ */
+unsigned get_entity_additional_properties(entity *ent);
 
 /** Sets the mask of the additional graph properties. */
 void set_entity_additional_properties(entity *ent, unsigned property_mask);
 
 /** Sets one additional graph property. */
-void set_entity_additional_property(entity *ent, unsigned flag);
-
-/** Returns the calling convention of an entities graph. */
-unsigned get_entity_calling_convention(const entity *ent);
-
-/** Sets the calling convention of an entities graph. */
-void set_entity_calling_convention(entity *ent, unsigned cc_mask);
+void set_entity_additional_property(entity *ent, mtp_additional_property flag);
 
 /**
  * @page unknown_entity
@@ -590,12 +587,15 @@ extern entity *unknown_entity;
 /** Returns the unknown entity */
 entity *get_unknown_entity(void);
 
+/** Encodes how a pointer parameter is accessed. */
 /** Encodes how a pointer parameter is accessed. */
 typedef enum acc_bits {
   ptr_access_none  = 0,                      /**< no access */
   ptr_access_read  = 1,                      /**< read access */
   ptr_access_write = 2,                      /**< write access */
-  ptr_access_rw    = ptr_access_read|ptr_access_write  /**< read AND write access */
+  ptr_access_rw    = ptr_access_read|ptr_access_write, /**< read AND write access */
+  ptr_access_store = 4,         /**< the pointer is stored */
+  ptr_access_all   = ptr_access_rw|ptr_access_store     /**< all possible access */
 } ptr_access_kind;
 
 #endif /* _ENTITY_H_ */