add be_get_FrameAddr_entity
authorMatthias Braun <matze@braunis.de>
Thu, 30 Aug 2007 12:25:13 +0000 (12:25 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 30 Aug 2007 12:25:13 +0000 (12:25 +0000)
[r15623]

ir/be/benode.c
ir/be/benode_t.h

index 788b09c..c0a898f 100644 (file)
@@ -831,11 +831,17 @@ ir_node *be_new_FrameAddr(const arch_register_class_t *cls_frame, ir_graph *irg,
        return optimize_node(irn);
 }
 
-ir_node *be_get_FrameAddr_frame(ir_node *node) {
+ir_node *be_get_FrameAddr_frame(const ir_node *node) {
        assert(be_is_FrameAddr(node));
        return get_irn_n(node, be_pos_FrameAddr_ptr);
 }
 
+ir_entity *be_get_FrameAddr_entity(const ir_node *node)
+{
+       const be_frame_attr_t *attr = get_irn_generic_attr_const(node);
+       return attr->ent;
+}
+
 ir_node *be_new_CopyKeep(const arch_register_class_t *cls, ir_graph *irg, ir_node *bl, ir_node *src, int n, ir_node *in_keep[], ir_mode *mode)
 {
        ir_node *irn;
index 961b7bf..e8096b9 100644 (file)
@@ -184,7 +184,9 @@ enum {
 ir_node *be_new_FrameAddr(const arch_register_class_t *cls_frame, ir_graph *irg, ir_node *bl, ir_node *frame, ir_entity *ent);
 
 /** Return the frame input of a FrameAddr node. */
-ir_node *be_get_FrameAddr_frame(ir_node *node);
+ir_node *be_get_FrameAddr_frame(const ir_node *node);
+
+ir_entity *be_get_FrameAddr_entity(const ir_node *node);
 
 /**
  * Position numbers for the be_AddSP inputs