From 3101b92d5f8f05d693eaa85c705f765e6dd08536 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Wed, 18 Apr 2007 15:46:02 +0000 Subject: [PATCH] be_node_get_irn_reg(): nodes of mode_T do NOT return registers [r13384] --- ir/be/benode.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/ir/be/benode.c b/ir/be/benode.c index 90b49fe25..5963ca14d 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -1,15 +1,24 @@ +/* + * Project: libFIRM + * File name: ir/be/benode.c + * Purpose: Backend node support for generic backend nodes. + * Author: Sebastian Hack + * Modified by: Michael Beck, Matthias Braun + * Created: 17.05.2005 + * CVS-ID: $Id$ + * Copyright: (c) 1998-2007 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ + /** * @file benode.c * @date 17.05.2005 * @author Sebastian Hack * - * Backend node support. - * + * Backend node support for generic backend nodes. * This file provides Perm, Copy, Spill and Reload nodes. - * - * Copyright (C) 2005-2006 Universitaet Karlsruhe - * Released under the GPL */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -1128,7 +1137,11 @@ be_node_get_irn_reg_req(const void *self, const ir_node *irn, int pos) const arch_register_t * be_node_get_irn_reg(const void *_self, const ir_node *irn) { - be_reg_data_t *r = retrieve_reg_data(irn); + be_reg_data_t *r; + + if (get_irn_mode(irn) == mode_T) + return NULL; + r = retrieve_reg_data(irn); return r->reg; } -- 2.20.1