From 3c7bcfc0d442c037e7b764530831c09c839719ee Mon Sep 17 00:00:00 2001 From: Sebastian Hack Date: Thu, 16 Mar 2006 14:20:40 +0000 Subject: [PATCH] Fixed a bug with ignore nodes --- ir/be/bespillbelady.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ir/be/bespillbelady.c b/ir/be/bespillbelady.c index c5a021ee6..08b9c6431 100644 --- a/ir/be/bespillbelady.c +++ b/ir/be/bespillbelady.c @@ -257,10 +257,12 @@ static int is_mem_phi(const ir_node *irn, void *data) { static INLINE unsigned get_distance(belady_env_t *bel, const ir_node *from, unsigned from_step, const ir_node *def, int skip_from_uses) { arch_irn_flags_t fl = arch_irn_get_flags(bel->arch, def); - if((fl & (arch_irn_flags_ignore | arch_irn_flags_dont_spill)) != 0) + unsigned dist = be_get_next_use(bel->uses, from, from_step, def, skip_from_uses); + + if(!USES_IS_INIFINITE(dist) && (fl & (arch_irn_flags_ignore | arch_irn_flags_dont_spill)) != 0) return 0; - else - return be_get_next_use(bel->uses, from, from_step, def, skip_from_uses); + + return dist; } /** -- 2.20.1