4 * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
6 * This file is part of libFirm.
8 * This file may be distributed and/or modified under the terms of the
9 * GNU General Public License version 2 as published by the Free Software
10 * Foundation and appearing in the file LICENSE.GPL included in the
11 * packaging of this file.
13 * Licensees holding valid libFirm Professional Edition licenses may use
14 * this file in accordance with the libFirm Commercial License.
15 * Agreement provided with the Software.
17 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * @brief Main Implementation of PTO
26 * @date Sat Nov 13 19:35:27 CET 2004
29 # ifndef FIRM_ANA2_PTO_COMP_H
30 # define FIRM_ANA2_PTO_COMP_H
36 /* ===================================================
38 =================================================== */
40 /* ===================================================
42 =================================================== */
43 typedef struct pto_str {
47 typedef struct alloc_pto_str {
49 pto_t **ptos; /* all names */
50 pto_t *curr_pto; /* name for current ctx */
53 struct pto_env_str; /* forward decl only */
55 /* ===================================================
57 =================================================== */
58 /* Main loop: Initialise the graph for the given ctx_idx and iterate over it */
59 void pto_graph (ir_graph*, int, struct pto_env_str*);
61 /* Set the PTO value for the given node */
62 void set_node_pto (ir_node*, pto_t*);
63 /*Get the PTO value for the given non-alloc node */
64 pto_t *get_node_pto (ir_node*);
66 /* Set the PTO value for the given alloc node */
67 void set_alloc_pto (ir_node*, alloc_pto_t*);
69 /*Get the current PTO value for the given alloc node */
70 pto_t *get_alloc_pto (ir_node*);
73 /* ===================================================
75 =================================================== */
84 Revision 1.3 2004/12/20 17:34:35 liekweg
85 fix recursion handling
87 Revision 1.2 2004/11/24 14:53:55 liekweg
90 Revision 1.1 2004/11/18 16:37:34 liekweg