X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firmemory.h;h=7ed3fbf256a8ac12ae5544070eea86a565aa28dd;hb=ecd4ad054ac3fddcea6c8884afedf1f1a7910fe3;hp=32521443ffd0175f8e700487929dfb4b5979c84a;hpb=ce6161a7e42a48f7422b7babcc64d8ace18e2687;p=libfirm diff --git a/include/libfirm/irmemory.h b/include/libfirm/irmemory.h index 32521443f..7ed3fbf25 100644 --- a/include/libfirm/irmemory.h +++ b/include/libfirm/irmemory.h @@ -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 @@ -30,6 +29,15 @@ #include "firm_types.h" #include "begin.h" +/** @ingroup irana + * @defgroup ir_memory Memory Disambiguator + * + * A memory disambiguator checks wether 2 given SSA values representing + * addresses alias. + * + * @{ + */ + /** The alias relation of two memory addresses. */ typedef enum ir_alias_relation { ir_no_alias, /**< No alias. */ @@ -76,10 +84,7 @@ typedef enum 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; -} +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. @@ -174,19 +178,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. */ @@ -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