From: Götz Lindenmaier Date: Thu, 11 Nov 2004 12:27:43 +0000 (+0000) Subject: pseudo irgs X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=6b882de85946d26114aa558bd00bbe2264c293e6;p=libfirm pseudo irgs [r4377] --- diff --git a/ir/tr/entity_t.h b/ir/tr/entity_t.h index 41309a7d1..64d368448 100644 --- a/ir/tr/entity_t.h +++ b/ir/tr/entity_t.h @@ -43,6 +43,7 @@ # include "entity.h" # include "typegmod.h" # include "mangle.h" +# include "pseudo_irg.h" /** A path in a compund graph. */ @@ -284,6 +285,8 @@ static INLINE ir_graph * __get_entity_irg(const entity *ent) { assert(ent && ent->kind == k_entity); assert(ent == unknown_entity || is_method_type(ent->type)); + if (!get_visit_pseudo_irgs() && ent->irg && is_pseudo_ir_graph(ent->irg)) + return NULL; return ent->irg; } diff --git a/ir/tr/trvrfy.c b/ir/tr/trvrfy.c index 9a8b8aa2e..3ca251ce3 100644 --- a/ir/tr/trvrfy.c +++ b/ir/tr/trvrfy.c @@ -174,6 +174,8 @@ static int check_entity(entity *ent) { return error_const_on_wrong_irg; } + int rem_vpi = get_visit_pseudo_irgs(); + set_visit_pseudo_irgs(1); if ((get_entity_peculiarity(ent) == peculiarity_existent) && (get_entity_visibility(ent) != visibility_external_allocated) && (is_method_type(get_entity_type(ent))) && @@ -181,6 +183,7 @@ static int check_entity(entity *ent) { assert(0 && "Method ents with pec_exist must have an irg"); return error_existent_entity_without_irg; } + set_visit_pseudo_irgs(rem_vpi); if (get_entity_peculiarity(ent) == peculiarity_inherited) { entity *impl = get_SymConst_entity(get_atomic_ent_value(ent)); diff --git a/ir/tv/Makefile.in b/ir/tv/Makefile.in index cf9e679e4..f30f87d5f 100644 --- a/ir/tv/Makefile.in +++ b/ir/tv/Makefile.in @@ -23,9 +23,9 @@ SOURCES += Makefile.in tv.c tv_t.h strcalc.c strcalc.h fltcalc.c fltcalc.h include $(topdir)/MakeRules -CPPFLAGS += -I$(top_srcdir)/ir/common -I$(top_srcdir)/ir/tr -I$(top_srcdir)/ir/adt \ - -I$(top_srcdir)/ir/ident -I$(top_srcdir)/ir/ir -I$(top_srcdir)/ir/debug \ - -I$(top_srcdir)/ir/st -I$(top_srcdir)/ir/ana +CPPFLAGS += -I$(top_srcdir)/ir/common -I$(top_srcdir)/ir/tr -I$(top_srcdir)/ir/adt \ + -I$(top_srcdir)/ir/ident -I$(top_srcdir)/ir/ir -I$(top_srcdir)/ir/debug \ + -I$(top_srcdir)/ir/st -I$(top_srcdir)/ir/ana -I$(top_srcdir)/ir/external tv.o: tv.h tv.c fltcalc.h fltcalc.c strcalc.h strcalc.c