*** empty log message ***
[libfirm] / ir / be / bespillloc.c
1 /**
2  * spill location scheduling
3  * @author Sven Polk
4  * @date 1.4.2006
5  */
6
7 #include "obst.h"
8 #include "set.h"
9 #include "pset.h"
10 #include "irprintf_t.h"
11 #include "irgraph.h"
12 #include "irnode.h"
13 #include "irmode.h"
14 #include "irgwalk.h"
15 #include "iredges_t.h"
16 #include "ircons_t.h"
17 #include "irprintf.h"
18
19
20 #include <stdio.h>
21 #include <stdlib.h>
22 #include "bitset.h"
23
24 #include "irprog.h"
25 #include "irgopt.h"
26 #include "irdump.h"
27 #include "phiclass.h"
28 #include "irdom_t.h"
29 #include "iredges_t.h"
30 #include "irloop_t.h"
31 #include "irtools.h"
32 #include "return.h"
33
34 #include "bearch.h"
35 #include "firm/bearch_firm.h"
36 #include "ia32/bearch_ia32.h"
37 #include "arm/bearch_arm.h"
38 #include "ppc32/bearch_ppc32.h"
39 #include "mips/bearch_mips.h"
40
41 #include "be_t.h"
42 #include "benumb_t.h"
43 #include "beutil.h"
44 #include "benode_t.h"
45 #include "beirgmod.h"
46 #include "besched_t.h"
47 #include "belistsched.h"
48 #include "belive_t.h"
49 #include "bespillilp.h"
50 #include "bespillbelady.h"
51 #include "bera.h"
52 #include "beraextern.h"
53 #include "bechordal_t.h"
54 #include "beifg.h"
55 #include "beifg_impl.h"
56 #include "becopyopt.h"
57 #include "becopystat.h"
58 #include "bessadestr.h"
59 #include "beabi.h"
60 #include "belower.h"
61 #include "bestat.h"
62
63 #include "typewalk.h"
64
65
66 typedef struct _spilloc_env_t{
67
68         struct obstack ob;
69         ir_graph *irg;
70
71         pset *adjlst;
72         spill_env_t *senv;
73
74 } spilloc_env_t;
75
76
77 typedef struct Edge {
78         int nodenumber;
79         entity *ent;
80         struct Edge *next;
81 } edge;
82
83 typedef struct {int count; edge *link;} vertex;
84 typedef struct {int wt_vif; int wt_cif;} wheights;
85
86
87 void get_them_all()
88 {
89         // create new elements in graph representing data structure
90
91 }
92
93 void be_spill_loc(const be_chordal_env_t *chordal_env)
94 {
95
96         spilloc_env_t spi;
97
98         obstack_init(&spi.ob);
99
100         // create initial in graph representing data structure
101
102         walk_types_entities(get_irg_frame_type(chordal_env->irg), &get_them_all , &chordal_env);
103
104         get_irg_entity(chordal_env->irg);
105         get_irg_frame_type(chordal_env->irg);
106
107         obstack_free(&spi.ob, NULL);
108 }