From 5f152a4df5ebc0577448b564a340c889f3774d4d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20W=C3=BCrdig?= Date: Fri, 19 May 2006 15:13:35 +0000 Subject: [PATCH] is_be_irn is now public (needed for stats) --- ir/be/benode.c | 7 ++++++- ir/be/benode_t.h | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ir/be/benode.c b/ir/be/benode.c index 99ffc6d53..03661d124 100644 --- a/ir/be/benode.c +++ b/ir/be/benode.c @@ -232,7 +232,7 @@ static void *init_node_attr(ir_node* irn, int max_reg_data) return a; } -static INLINE int is_be_node(const ir_node *irn) +int is_be_node(const ir_node *irn) { return get_op_tag(get_irn_op(irn)) == &be_node_tag; } @@ -345,6 +345,10 @@ ir_node *be_get_Copy_op(const ir_node *cpy) { return get_irn_n(cpy, be_pos_Copy_op); } +void be_set_Copy_op(ir_node *cpy, ir_node *op) { + set_irn_n(cpy, be_pos_Copy_op, op); +} + ir_node *be_new_Keep(const arch_register_class_t *cls, ir_graph *irg, ir_node *bl, int n, ir_node *in[]) { int i; @@ -1016,6 +1020,7 @@ static arch_irn_class_t be_node_classify(const void *_self, const ir_node *irn) XXX(Perm, perm); XXX(Copy, copy); XXX(Return, branch); + XXX(StackParam, stackparam); #undef XXX default: return 0; diff --git a/ir/be/benode_t.h b/ir/be/benode_t.h index fd7f4e330..365ab5b09 100644 --- a/ir/be/benode_t.h +++ b/ir/be/benode_t.h @@ -85,6 +85,11 @@ typedef enum { */ #define BE_STACK_FRAME_SIZE ((unsigned) -1) +/** + * Determines if irn is a be_node. + */ +int is_be_node(const ir_node *irn); + /** * Create all BE specific opcodes. */ @@ -129,6 +134,8 @@ enum { ir_node *be_new_Copy(const arch_register_class_t *cls, ir_graph *irg, ir_node *block, ir_node *in); /** Returns the Copy Argument. */ ir_node *be_get_Copy_op(const ir_node *cpy); +/** Sets the Copy Argument. */ +void be_set_Copy_op(ir_node *cpy, ir_node *op); /** * Make a new Perm node. -- 2.20.1