libFirm 1.20
libfirm/trouts.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 1995-2011 University of Karlsruhe.  All right reserved.
00003  *
00004  * This file is part of libFirm.
00005  *
00006  * This file may be distributed and/or modified under the terms of the
00007  * GNU General Public License version 2 as published by the Free Software
00008  * Foundation and appearing in the file LICENSE.GPL included in the
00009  * packaging of this file.
00010  *
00011  * Licensees holding valid libFirm Professional Edition licenses may use
00012  * this file in accordance with the libFirm Commercial License.
00013  * Agreement provided with the Software.
00014  *
00015  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017  * PURPOSE.
00018  */
00019 
00026 #ifndef FIRM_ANA_TROUTS_H
00027 #define FIRM_ANA_TROUTS_H
00028 
00029 #include "firm_types.h"
00030 #include "irgraph.h"
00031 
00032 #include "begin.h"
00033 
00046 FIRM_API size_t get_entity_n_accesses(const ir_entity *entity);
00048 FIRM_API ir_node *get_entity_access(const ir_entity *entity, size_t pos);
00049 
00052 FIRM_API size_t get_entity_n_references(const ir_entity *entity);
00055 FIRM_API ir_node *get_entity_reference(const ir_entity *entity, size_t pos);
00056 
00058 FIRM_API size_t get_type_n_allocs(const ir_type *type);
00060 FIRM_API ir_node *get_type_alloc(const ir_type *type, size_t pos);
00061 
00063 FIRM_API size_t get_type_n_casts(const ir_type *type);
00065 FIRM_API ir_node *get_type_cast(const ir_type *type, size_t pos);
00067 FIRM_API size_t get_class_n_upcasts(const ir_type *clss);
00069 FIRM_API size_t get_class_n_downcasts(const ir_type *clss);
00070 
00072 FIRM_API size_t get_type_n_pointertypes_to(const ir_type *type);
00074 FIRM_API ir_type *get_type_pointertype_to(const ir_type *type, size_t pos);
00075 
00077 FIRM_API size_t get_type_n_arraytypes_of(const ir_type *type);
00079 FIRM_API ir_type *get_type_arraytype_of(const ir_type *type, size_t pos);
00080 
00103 FIRM_API void compute_trouts(void);
00104 
00106 FIRM_API void free_trouts(void);
00107 
00110 #include "end.h"
00111 
00112 #endif