CACAO
liveness.hpp
Go to the documentation of this file.
1 /* src/vm/jit/allocator/liveness.hpp - liveness header
2 
3  Copyright (C) 2005, 2006 R. Grafl, A. Krall, C. Kruegel, C. Oates,
4  R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
5  C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
6  Institut f. Computersprachen - TU Wien
7 
8  This file is part of CACAO.
9 
10  This program is free software; you can redistribute it and/or
11  modify it under the terms of the GNU General Public License as
12  published by the Free Software Foundation; either version 2, or (at
13  your option) any later version.
14 
15  This program is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23  02111-1307, USA.
24 
25  Contact: cacao@complang.tuwien.ac.at
26 
27  Authors: Christian Ullrich
28 
29 
30 */
31 
32 
33 #ifndef LIVENESS_HPP_
34 #define LIVENESS_HPP_ 1
35 
36 #include "toolbox/bitvector.hpp"
38 
39 #if !defined(NDEBUG)
40 #include <assert.h>
41 #define LV_DEBUG_CHECK
42 /* #define LV_DEBUG_VERBOSE */
43 #endif
44 
45 #if defined(LV_DEBUG_CHECK)
46 #define _LV_CHECK_BOUNDS(i,l,h) assert( ((i) >= (l)) && ((i) < (h)));
47 #define _LV_ASSERT(a) assert((a));
48 #else
49 #define _LV_CHECK_BOUNDS(i,l,h);
50 #define _LV_ASSERT(a);
51 #endif
52 
53 #define LV_KILL 0
54 #define LV_GEN 1
55 
56 /* #define LV */
57 
58 /* function prototypes */
59 void liveness(jitdata *);
60 void liveness_init(jitdata *);
61 void liveness_setup(jitdata *);
62 
63 typedef struct liveness_sets lv_sets;
64 
65 struct liveness_sets {
71 };
72 
73 #endif // LIVENESS_HPP_
74 
75 
76 /*
77  * These are local overrides for various environment variables in Emacs.
78  * Please do not remove this and leave it at the end of the file, where
79  * Emacs will automagically detect them.
80  * ---------------------------------------------------------------------
81  * Local variables:
82  * mode: c++
83  * indent-tabs-mode: t
84  * c-basic-offset: 4
85  * tab-width: 4
86  * End:
87  */
int * bitvector
Definition: bitvector.hpp:34
bitvector kill
Definition: liveness.hpp:69
Definition: jit.hpp:126
bitvector out
Definition: liveness.hpp:67
bitvector tmp
Definition: liveness.hpp:70
void liveness_setup(jitdata *jd)
Definition: liveness.cpp:182
void liveness(jitdata *jd)
Definition: liveness.cpp:406
bitvector in
Definition: liveness.hpp:66
bitvector gen
Definition: liveness.hpp:68
void liveness_init(jitdata *jd)
Definition: liveness.cpp:267