5 File name: ir/ana/pto_name.h
6 Purpose: Names for abstract objects
9 Created: Sat Nov 13 19:35:27 CET 2004
11 Copyright: (c) 1999-2004 Universität Karlsruhe
12 Licence: This file is protected by the GPL - GNU GENERAL PUBLIC LICENSE.
19 # include "pto_comp.h" /* for pto_t */
24 /* ===================================================
26 =================================================== */
28 /* ===================================================
30 =================================================== */
31 typedef enum desc_kind_enum {
37 /* abstract super class for all descriptors */
38 typedef struct desc_str
46 ir_node *node; /* allocation node */
47 struct desc_str *prev; /* linked list */
50 /* object descriptor */
51 typedef struct obj_desc_str
59 ir_node *node; /* allocation node */
60 struct desc_str *prev; /* linked list */
67 /* array descriptor */
68 typedef struct arr_desc_str
76 ir_node *node; /* allocation node */
77 struct desc_str *prev; /* linked list */
82 /* ===================================================
84 =================================================== */
85 /* Dump all names to a file of the given name */
86 void pto_dump_names (const char*);
88 /* Find the given descriptor's entry for the given entity */
89 qset_t *get_entry (desc_t*, ir_entity*);
91 /* get a new descriptor for the given type at the given node */
92 desc_t *new_name (ir_type*, ir_node*, int);
94 /* get a new descriptor for the given (presumably static) entity */
95 desc_t *new_ent_name (ir_entity*);
97 /* Initialise the name module */
98 void pto_name_init (void);
100 /* Cleanup the name module */
101 void pto_name_cleanup (void);
103 /* ===================================================
105 =================================================== */
108 # endif /* not defined _PTO_NAME_ */
114 Revision 1.8 2006/12/13 19:46:47 beck
115 rename type entity into ir_entity
117 Revision 1.7 2006/01/13 22:00:15 beck
118 renamed all types 'type' to 'ir_type'
120 Revision 1.6 2004/12/15 13:30:41 liekweg
121 print yet nicer names
123 Revision 1.5 2004/12/06 12:52:09 liekweg
126 Revision 1.4 2004/11/30 15:49:27 liekweg
129 Revision 1.3 2004/11/30 14:47:54 liekweg
130 fix initialisation; do correct iteration
132 Revision 1.2 2004/11/24 14:53:56 liekweg
135 Revision 1.1 2004/11/18 16:37:34 liekweg