documentation: Update (i.e. mostly delete) information regarding current_ir_graph.
[libfirm] / include / libfirm / irmemory.h
index 3252144..43858e6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2010 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -22,7 +22,6 @@
  * @brief    Memory disambiguator
  * @author   Michael Beck
  * @date     27.12.2006
- * @version  $Id$
  */
 #ifndef FIRM_ANA_IRMEMORY_H
 #define FIRM_ANA_IRMEMORY_H
 #include "firm_types.h"
 #include "begin.h"
 
+/** @ingroup irana
+ * @defgroup ir_memory  Memory Disambiguator
+ *
+ * A memory disambiguator checks whether 2 given SSA values representing
+ * addresses alias.
+ *
+ * @{
+ */
+
 /** The alias relation of two memory addresses. */
 typedef enum ir_alias_relation {
        ir_no_alias,       /**< No alias. */
@@ -75,11 +83,8 @@ typedef enum ir_storage_class_class_t {
 } ir_storage_class_class_t;
 ENUM_BITSET(ir_storage_class_class_t)
 
-/** Get the base storage class (ignore modifier) */
-static inline ir_storage_class_class_t get_base_sc(ir_storage_class_class_t x)
-{
-       return x & ~ir_sc_modifiers;
-}
+/** Returns the base storage class (ignore modifier) */
+FIRM_API ir_storage_class_class_t get_base_sc(ir_storage_class_class_t x);
 
 /**
  * A source language specific memory disambiguator function.
@@ -106,7 +111,6 @@ FIRM_API const char *get_ir_alias_relation_name(ir_alias_relation rel);
 /**
  * Determine the alias relation between two addresses.
  *
- * @param irg     The current graph.
  * @param adr1    The first address.
  * @param mode1   The mode of the first memory access.
  * @param adr2    The second address.
@@ -142,7 +146,7 @@ FIRM_API ir_alias_relation get_alias_relation(
        const ir_node *adr2, const ir_mode *mode2);
 
 /**
- * Set a source language specific memory disambiguator function.
+ * Sets a source language specific memory disambiguator function.
  *
  * @param func  The callback.
  */
@@ -153,11 +157,10 @@ FIRM_API void set_language_memory_disambiguator(DISAMBIGUATOR_FUNC func);
  */
 FIRM_API void mem_disambig_init(void);
 
-/*
+/**
  * Determine the alias relation between two addresses and
  * cache the result.
  *
- * @param irg     The current graph.
  * @param adr1    The first address.
  * @param mode1   The mode of the first memory access.
  * @param adr2    The second address.
@@ -174,19 +177,11 @@ FIRM_API ir_alias_relation get_alias_relation_ex(
  */
 FIRM_API void mem_disambig_term(void);
 
-FIRM_API ir_entity_usage_computed_state get_irg_entity_usage_state(const ir_graph *irg);
-
-FIRM_API void set_irg_entity_usage_state(ir_graph *irg,
-                                         ir_entity_usage_computed_state state);
-
 /**
  * Assure that the entity usage flags have been computed for the given graph.
  *
  * This analysis computes the entity usage state for all local variables.
  *
- * Note that this is a conservative estimation that by no Firm transformation
- * can be invalidated, so it's only recomputed if manually triggered by calling
- * set_irg_entity_usage_state(irg, ir_entity_usage_not_computed).
  * Even then the information is not cleaned from the variables, call
  * assure_irg_entity_usage_computed() again for recomputation.
  */
@@ -219,14 +214,14 @@ FIRM_API void set_irp_globals_entity_usage_state(ir_entity_usage_computed_state
 FIRM_API void assure_irp_globals_entity_usage_computed(void);
 
 /**
- * Get the memory disambiguator options for a graph.
+ * Returns the memory disambiguator options for a graph.
  *
  * @param irg  the graph
  */
 FIRM_API unsigned get_irg_memory_disambiguator_options(const ir_graph *irg);
 
 /**
- * Set the memory disambiguator options for a graph.
+ * Sets the memory disambiguator options for a graph.
  *
  * @param irg      the graph
  * @param options  a set of options
@@ -235,7 +230,8 @@ FIRM_API void set_irg_memory_disambiguator_options(ir_graph *irg,
                                                    unsigned options);
 
 /**
- * Set the global disambiguator options for all graphs not having local options.
+ * Sets the global disambiguator options for all graphs not having local
+ * options.
  *
  * @param options  a set of options
  */
@@ -257,6 +253,8 @@ FIRM_API void mark_private_methods(void);
  */
 FIRM_API ir_prog_pass_t *mark_private_methods_pass(const char *name);
 
+/** @} */
+
 #include "end.h"
 
 #endif