-/* src/vm/jit/lsra/graph.h - control flow graph header
+/* src/vm/jit/optimizing/graph.h - control flow graph header
- Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
- R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
- C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
- Institut f. Computersprachen - TU Wien
+ Copyright (C) 2005, 2006, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
- Contact: cacao@complang.tuwien.ac.at
-
- Authors: Christian Ullrich
-
- $Id: graph.h$
-
*/
#ifndef _LSRA_GRAPH_H
#define _LSRA_GRAPH_H
+#include "config.h"
+
#include "vm/jit/optimizing/lsra.h"
#if !defined(NDEBUG)
# define _GRAPH_ASSERT(a)
#endif
+#if 0
struct _sbr {
int header; /* BB Index of subroutine start (SBR_HEADER) */
struct graph_element *ret; /* List of possible return BB indizes */
struct _sbr *next;
};
+#endif
struct graph_element {
int value;
typedef graph_element *graphiterator;
/* function prototypes */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
void transform_BB(jitdata *, graphdata *gd);
graphdata *graph_init(int basicblockcount);
/* Generate the CFG */
bool graph_has_multiple_successors( graphdata *gd, int b_index);
bool graph_has_multiple_predecessors( graphdata *gd, int b_index);
+#ifdef __cplusplus
+}
+#endif
#endif /* _LSRA_GRAPH_H */