removed double entered header file
[libfirm] / ir / ana2 / pto_comp.h
1 /* -*- c -*- */
2
3 /*
4    Project:     libFIRM
5    File name:   ir/ana/pto_comp.h
6    Purpose:     Main Implementation of PTO
7    Author:      Florian
8    Modified by:
9    Created:     Sat Nov 13 19:35:27 CET 2004
10    CVS-ID:      $Id$
11    Copyright:   (c) 1999-2004 Universität Karlsruhe
12    Licence:     This file is protected by the GPL -  GNU GENERAL PUBLIC LICENSE.
13 */
14
15
16 # ifndef _PTO_COMP_
17 # define _PTO_COMP_
18
19 # include "irnode.h"
20
21 /* ===================================================
22    Global Defines:
23    =================================================== */
24
25 /* ===================================================
26  Global Data Types:
27  =================================================== */
28 typedef struct pto_str {
29   int dummy;
30 } pto_t;
31
32 typedef struct alloc_pto_str {
33   int dummy;
34   pto_t **ptos;                 /* all names */
35   pto_t *curr_pto;              /* name for current ctx */
36 } alloc_pto_t;
37
38 /* ===================================================
39    Global Prototypes:
40    =================================================== */
41 /* Set the PTO value for the given node */
42 void set_node_pto (ir_node*, pto_t*);
43 /*Get the PTO value for the given non-alloc node */
44 pto_t *get_node_pto (ir_node*);
45
46 /* Set the PTO value for the given alloc node */
47 void set_alloc_pto (ir_node*, alloc_pto_t*);
48
49 /*Get the current PTO value for the given alloc node */
50 pto_t *get_alloc_pto (ir_node*);
51
52
53 /* Perform PTO on all visible graphs. */
54 void pto_init (void);
55 void pto_run (int);
56 void pto_cleanup (void);
57
58 /* ===================================================
59    Global Variables:
60    =================================================== */
61
62
63 # endif /* not defined _PTO_COMP_ */
64
65
66 \f
67 /*
68   $Log$
69   Revision 1.1  2004/11/18 16:37:34  liekweg
70   rewritten
71
72
73 */