be_get_FrameAddr_frame() added
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 15 Jun 2007 13:05:03 +0000 (13:05 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Fri, 15 Jun 2007 13:05:03 +0000 (13:05 +0000)
[r14518]

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

index f9dabc7..90414fb 100644 (file)
@@ -576,6 +576,7 @@ void be_Keep_add_node(ir_node *keep, const arch_register_class_t *cls, ir_node *
        be_node_set_reg_class(keep, n, cls);
 }
 
+/* creates a be_Call */
 ir_node *be_new_Call(dbg_info *dbg, ir_graph *irg, ir_node *bl, ir_node *mem, ir_node *sp, ir_node *ptr,
                      int n_outs, int n, ir_node *in[], ir_type *call_tp)
 {
@@ -860,6 +861,11 @@ 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) {
+       assert(be_is_FrameAddr(node));
+       return get_irn_n(node, be_pos_FrameAddr_ptr);
+}
+
 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 59f214a..72289c3 100644 (file)
@@ -195,8 +195,12 @@ enum {
        be_pos_FrameAddr_ptr = 0
 };
 
+/** Create a new FrameAddr node. */
 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);
+
 /**
  * Position numbers for the be_AddSP inputs
  */