CACAO
ssa.hpp
Go to the documentation of this file.
1 /* src/vm/jit/optimizing/ssa.hpp - static single assignment form header
2 
3  Copyright (C) 2005-2013
4  CACAOVM - Verein zu Foerderung der freien virtuellen Machine CACAO
5 
6  This file is part of CACAO.
7 
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2, or (at
11  your option) any later version.
12 
13  This program is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  02110-1301, USA.
22 
23 */
24 
25 
26 #ifndef SSA_HPP_
27 #define SSA_HPP_ 1
28 
29 #include "config.h"
30 
31 struct graphdata;
32 struct jitdata;
33 struct lsradata;
34 struct varinfo;
35 
36 #if !defined(NDEBUG)
37 # include <assert.h>
38 # define SSA_DEBUG_CHECK
39 # define SSA_DEBUG_VERBOSE
40 #endif
41 
42 #ifdef SSA_DEBUG_CHECK
43 # define _SSA_CHECK_BOUNDS(i,l,h) assert( ((i) >= (l)) && ((i) < (h)));
44 # define _SSA_ASSERT(a) assert((a));
45 #else
46 # define _SSA_CHECK_BOUNDS(i,l,h)
47 # define _SSA_ASSERT(a)
48 #endif
49 
50 /* function prototypes */
51 
52 void ssa_init(jitdata *);
53 void ssa(jitdata*);
54 
56 
57 #ifdef SSA_DEBUG_VERBOSE
58 void ssa_show_variable(jitdata *jd, int index, varinfo *v, int stage);
60 #endif
61 
62 #endif // _SSA_HPP_
63 
64 /*
65  * These are local overrides for various environment variables in Emacs.
66  * Please do not remove this and leave it at the end of the file, where
67  * Emacs will automagically detect them.
68  * ---------------------------------------------------------------------
69  * Local variables:
70  * mode: c++
71  * indent-tabs-mode: t
72  * c-basic-offset): 4
73  * tab-width): 4
74  * End:
75  * vim:noexpandtab:sw=4:ts=4:
76  */
std::size_t index
Definition: jit.hpp:126
void ssa_print_phi(lsradata *, graphdata *)
Definition: ssa_phi.cpp:279
void ssa_show_variable(jitdata *jd, int index, varinfo *v, int stage)
Definition: ssa.cpp:1262
Definition: reg.hpp:43
void ssa_init(jitdata *jd)
Definition: ssa.cpp:275
void ssa(jitdata *jd)
Definition: ssa.cpp:105
void fix_exception_handlers(jitdata *jd)
Definition: ssa3.cpp:989