path: root/ir/be/beirg.c
diff options
authorSebastian Hack <>2007-05-10 17:43:44 +0200
committerSebastian Hack <>2007-05-10 17:43:44 +0200
commit8eee0e6361868153ae82c8d8bdda1446a9af9084 (patch)
treebcf002f199c23043548471a69935263e95d72c2e /ir/be/beirg.c
parent73660ffae4a673bc11dba89455ecba9b80938298 (diff)
* Added a new file: beintlive_t.h which subsumes all interferene/liveness checks
- it uses the new liveness checking algos in ana/irlivechk.h - value_dominates, etc. was erased from bera.h because it does not belong there * bechordal.c features an experimental coloring (by defualt disabled by macro) which can color the routine in a single pass without building the "borders". A long term goal is to disable borders completely but they are used in other places, too. * The 1st parameter of values_interfere is now a birg and not a be_lv_t. There is now a special routine lv_values_interfere() for those who want to use the computed liveness explicitly. changing the parameter makes it more easy to switch to other liveness implementations. All other files were modified to respect the changes [r13762]
Diffstat (limited to 'ir/be/beirg.c')
1 files changed, 13 insertions, 0 deletions
diff --git a/ir/be/beirg.c b/ir/be/beirg.c
index c9cd719..9579177 100644
--- a/ir/be/beirg.c
+++ b/ir/be/beirg.c
@@ -31,6 +31,14 @@
#include "execfreq.h"
#include "beirg_t.h"
+void be_assure_liveness_chk(be_irg_t *birg)
+ if (birg->lv_chk != NULL)
+ return;
+ birg->lv_chk = lv_chk_new(birg->irg);
void be_assure_liveness(be_irg_t *birg)
if (birg->lv != NULL)
@@ -95,6 +103,11 @@ be_lv_t *(be_get_birg_liveness)(const be_irg_t *birg)
return _be_get_birg_liveness(birg);
+lv_chk_t *(be_get_birg_liveness_chk)(const be_irg_t *birg)
+ return _be_get_birg_liveness_chk(birg);
be_dom_front_info_t *(be_get_birg_dom_front)(const be_irg_t *birg)
return _be_get_birg_dom_front(birg);