summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beutil.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2014-08-21 13:48:55 +0200
committerMatthias Braun <matze@braunis.de>2014-08-21 13:58:29 +0200
commit0632abc1600b0f512945116af36e0dbdaefb5f47 (patch)
treeb6f1991476a27266774fc120f3ceea42b3e60540 /ir/be/beutil.h
parente353af9a2dd70bb283051040f7ba7bd729e1c05e (diff)
merge beirgmod.* into beutil.*
Diffstat (limited to 'ir/be/beutil.h')
-rw-r--r--ir/be/beutil.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/ir/be/beutil.h b/ir/be/beutil.h
index af44e5b..927caf0 100644
--- a/ir/be/beutil.h
+++ b/ir/be/beutil.h
@@ -15,6 +15,8 @@
#include "firm_types.h"
#include "irprog_t.h"
+#include "be_types.h"
+
/**
* Convenient block getter.
* Works also, if the given node is a block.
@@ -49,4 +51,20 @@ static inline bool is_tls_entity(ir_entity *const ent)
return get_entity_owner(ent) == get_tls_type();
}
+/**
+ * Insert a Perm which permutes all (non-ignore) live values of a given register class
+ * before a certain instruction.
+ * @param lv Liveness Information.
+ * @param irn The node to insert the Perm before.
+ * @return The Perm or NULL if nothing was live before @p irn.
+ */
+ir_node *insert_Perm_before(ir_graph *irg, const arch_register_class_t *cls,
+ ir_node *irn);
+
+/**
+ * Removes dead nodes from schedule
+ * @param irg the graph
+ */
+void be_remove_dead_nodes_from_schedule(ir_graph *irg);
+
#endif