summaryrefslogtreecommitdiffhomepage
path: root/ir/be/belive.c
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2014-07-16 16:47:10 +0200
committerMatthias Braun <matze@braunis.de>2014-07-18 10:04:11 +0200
commitc18d23ad1345307209384c101ff07eb3f87ca96c (patch)
tree2c339414ef967b82389e4309396887be45133abf /ir/be/belive.c
parentd1b570dc09178836421ebe47ca98eed7c6709798 (diff)
remove lv argument from be_values_interfere
We query liveness from the irg on demand now.
Diffstat (limited to 'ir/be/belive.c')
-rw-r--r--ir/be/belive.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ir/be/belive.c b/ir/be/belive.c
index d4151ad..03e3611 100644
--- a/ir/be/belive.c
+++ b/ir/be/belive.c
@@ -26,6 +26,7 @@
#include "belive_t.h"
#include "besched.h"
#include "bemodule.h"
+#include "beirg.h"
DEBUG_ONLY(static firm_dbg_module_t *dbg = NULL;)
@@ -444,7 +445,7 @@ void be_liveness_nodes_live_before(be_lv_t const *const lv, arch_register_class_
}
}
-bool be_values_interfere(const be_lv_t *lv, const ir_node *a, const ir_node *b)
+bool be_values_interfere(const ir_node *a, const ir_node *b)
{
assert(a != b);
if (value_strictly_dominates(b, a)) {
@@ -460,7 +461,9 @@ bool be_values_interfere(const be_lv_t *lv, const ir_node *a, const ir_node *b)
/* If a is live end in b's block it is
* live at b's definition (a dominates b) */
- const ir_node *const bb = get_nodes_block(b);
+ const ir_node *const bb = get_nodes_block(b);
+ const ir_graph *const irg = get_Block_irg(bb);
+ const be_lv_t *const lv = be_get_irg_liveness(irg);
if (be_is_live_end(lv, bb, a))
return true;