X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftv%2Ftv_t.h;h=43167406ff7421c873121c57be8fdfb976097704;hb=2d09549421b49587d4680a94dab277646e9fef44;hp=269eaa94abe7260876ca8d37a5154eb5f70b352b;hpb=55a613a794cc2fadd5508dcf721c342d70f342cc;p=libfirm diff --git a/ir/tv/tv_t.h b/ir/tv/tv_t.h index 269eaa94a..43167406f 100644 --- a/ir/tv/tv_t.h +++ b/ir/tv/tv_t.h @@ -1,31 +1,63 @@ -/* Declarations for Target Values. - Copyright (C) 1995, 1996 Christian von Roques */ +/* + * Project: libFIRM + * File name: ir/tv/tv_t.h + * Purpose: Representation of and static computations on target machine + * values -- private header. + * Author: Mathias Heil + * Modified by: + * Created: + * CVS-ID: $Id$ + * Copyright: (c) 2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ + -/* $Id$ */ #ifndef _TV_T_H_ #define _TV_T_H_ -# include "tv.h" -# include "misc.h" - -int tarval_print (XP_PAR1, const xprintf_info *, XP_PARN); - -/* Hash function on tarvals */ -unsigned tarval_hash (tarval *); - - -#ifdef NDEBUG -#define TARVAL_VRFY(val) ((void)0) -#else -#define TARVAL_VRFY(val) _tarval_vrfy ((val)) -extern void _tarval_vrfy (const tarval *); -#endif - -#ifdef STATS -void tarval_stats (void); -#else -#define tarval_stats() ((void)0) -#endif +#include "tv.h" + + +/** + * Initialization of the tarval module. + * + * Call before init_mode(). + */ +void init_tarval_1(void); + +/** + * Initialization of the tarval module. + * + * Call after init_mode(). + */ +void init_tarval_2(void); + +/** + * Free all memory occupied by the tarval module. + */ +void finish_tarval(void); + +/** + * This struct represents the afore mentioned tarvals. + * + * A tarval struct consists of an internal representation of the + * value and some additional fields further describing the value. + * + * ATTRIBUTES: + * - ir_mode *mode The mode of the stored value + * - void *value The internal representation + * + * @sa + * irmode.h for predefined modes + */ +struct tarval { + ir_mode *mode; /**< the mode of the stored value */ + const void *value; /**< the value stored in an internal way... */ + unsigned int length; /**< the length of the stored value */ +}; + +/** remove tarval representing an entity that is about to be destroyed */ +void free_tarval_entity(entity *ent); #endif /* _TV_T_H_ */