From 976f32d688440476e3704c95c44e674594ccf1c4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Thu, 11 Jan 2007 16:03:24 +0000 Subject: [PATCH] added function to get frame offset --- ir/be/benode.c | 14 ++++++++++++-- ir/be/benode_t.h | 7 ++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ir/be/benode.c b/ir/be/benode.c index 31b337c9d..300c499ef 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -766,15 +766,25 @@ int be_has_frame_entity(const ir_node *irn) } } -ir_entity* be_get_frame_entity(const ir_node *irn) +ir_entity *be_get_frame_entity(const ir_node *irn) { - if(be_has_frame_entity(irn)) { + if (be_has_frame_entity(irn)) { be_frame_attr_t *a = get_irn_attr(irn); return a->ent; } return NULL; } +int be_get_frame_offset(const ir_node *irn) +{ + assert(is_be_node(irn)); + if (be_has_frame_entity(irn)) { + be_frame_attr_t *a = get_irn_attr(irn); + return a->offset; + } + return 0; +} + void be_set_MemPerm_in_entity(const ir_node *irn, int n, ir_entity *ent) { be_memperm_attr_t *attr = get_irn_attr(irn); diff --git a/ir/be/benode_t.h b/ir/be/benode_t.h index 93cdea3b3..537002a45 100644 --- a/ir/be/benode_t.h +++ b/ir/be/benode_t.h @@ -367,7 +367,12 @@ int be_is_Barrier(const ir_node *irn); * * Returns the frame entity used by the be node */ -ir_entity* be_get_frame_entity(const ir_node *irn); +ir_entity *be_get_frame_entity(const ir_node *irn); + +/** + * Returns the frame offset of this node. + */ +int be_get_frame_offset(const ir_node *irn); ir_node* be_get_Reload_mem(const ir_node *irn); ir_node* be_get_Spill_val(const ir_node *irn); -- 2.20.1