replaced char* by idents, minor fix in Firm codegen for call
[libfirm] / ir / tv / tv_t.h
1 /*
2  * Project:     libFIRM
3  * File name:   ir/tv/tv_t.h
4  * Purpose:     Representation of and static computations on target machine
5  *              values -- private header.
6  * Author:      Mathias Heil
7  * Modified by:
8  * Created:
9  * CVS-ID:      $Id$
10  * Copyright:   (c) 2003 Universität Karlsruhe
11  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
12  */
13
14
15
16 #ifndef _TV_T_H_
17 #define _TV_T_H_
18
19 #include "tv.h"
20
21
22 /**
23  * Initialization of the tarval module.
24  *
25  * Call before init_mode().
26  */
27 void init_tarval_1(void);
28
29 /**
30  * Initialization of the tarval module.
31  *
32  * Call after init_mode().
33  */
34 void init_tarval_2(void);
35
36 /**
37  * Free all memory occupied by the tarval module.
38  */
39 void finish_tarval(void);
40
41 /**
42  * This struct represents the afore mentioned tarvals.
43  *
44  * A tarval struct consists of an internal representation of the
45  * value and some additional fields further describing the value.
46  *
47  * ATTRIBUTES:
48  *   - ir_mode *mode     The mode of the stored value
49  *   - void *value       The internal representation
50  *
51  * @sa
52  *   irmode.h for predefined modes
53  */
54 struct tarval {
55     ir_mode *mode;              /**< the mode of the stored value */
56     const void *value;          /**< the value stored in an internal way... */
57     unsigned int length;        /**< the length of the stored value */
58 };
59
60 /** remove tarval representing an entity that is about to be destroyed */
61 void free_tarval_entity(entity *ent);
62
63 #endif /* _TV_T_H_ */