summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beirg.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2006-12-14 16:24:10 +0100
committerMatthias Braun <matze@braunis.de>2006-12-14 16:24:10 +0100
commitc65b13d98017c671496ff61e970790bba264f375 (patch)
tree6f2d2b44e5dd858ae6d5b4a0e2ea3609b0fb8732 /ir/be/beirg.h
parent208809bd4713035389ccb0575b2592f52db6816b (diff)
move birg to an own file, use more of the birg analysis data
Diffstat (limited to 'ir/be/beirg.h')
-rw-r--r--ir/be/beirg.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/ir/be/beirg.h b/ir/be/beirg.h
new file mode 100644
index 0000000..7c80be6
--- /dev/null
+++ b/ir/be/beirg.h
@@ -0,0 +1,35 @@
+/**
+ * Author: Matthias Braun
+ * Date: 05.05.2006
+ * Copyright: (c) Universitaet Karlsruhe
+ * License: This file is protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ *
+ * Backend irg - a ir_graph with additional analysis information
+ */
+#ifndef BEIRG_H_
+#define BEIRG_H_
+
+#include "belive.h"
+#include "beirgmod.h"
+
+typedef struct _be_irg_t be_irg_t;
+
+ir_graph *be_get_ir_graph(be_irg_t *birg);
+
+void be_assure_liveness(be_irg_t *birg);
+void be_invalidate_liveness(be_irg_t *birg);
+be_lv_t *be_get_birg_liveness(be_irg_t *birg);
+
+void be_assure_dom_front(be_irg_t *birg);
+void be_invalidate_dom_front(be_irg_t *birg);
+be_dom_front_info_t *be_get_birg_dom_front(be_irg_t *birg);
+
+ir_exec_freq *be_get_birg_exec_freq(be_irg_t *birg);
+
+/**
+ * frees all memory allocated by birg structures (liveness, dom_front, ...).
+ * The memory of the birg structure itself is not freed.
+ */
+void be_free_birg(be_irg_t *birg);
+
+#endif