From 76ce20d41067054633fcac6a2a8fc90c56aa5a59 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 3 Aug 2007 09:38:35 +0000 Subject: [PATCH] add is_Shl, is_Shr, is_Shrs, is_Rot [r15444] --- include/libfirm/irnode.h | 8 ++++++++ ir/ir/irnode.c | 20 ++++++++++++++++++++ ir/ir/irnode_t.h | 28 ++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/include/libfirm/irnode.h b/include/libfirm/irnode.h index be2db692f..cfcf5436c 100644 --- a/include/libfirm/irnode.h +++ b/include/libfirm/irnode.h @@ -1230,6 +1230,14 @@ int is_Eor(const ir_node *node); int is_Sub(const ir_node *node); /** Returns true if node is a Not node. */ int is_Not(const ir_node *node); +/** Returns true if node is a Shl node. */ +int is_Shl(const ir_node *node); +/** Returns true if node is a Shr node. */ +int is_Shr(const ir_node *node); +/** Returns true if node is a Shrs node. */ +int is_Shrs(const ir_node *node); +/** Returns true if node is a Rot node. */ +int is_Rot(const ir_node *node); /** Returns true if node is a Psi node. */ int is_Psi(const ir_node *node); /** Returns true if node is a Tuple node. */ diff --git a/ir/ir/irnode.c b/ir/ir/irnode.c index ac950f61d..e1c3f2ea4 100644 --- a/ir/ir/irnode.c +++ b/ir/ir/irnode.c @@ -2647,6 +2647,26 @@ int return _is_Sub(node); } +int +(is_Shl)(const ir_node *node) { + return _is_Shl(node); +} + +int +(is_Shr)(const ir_node *node) { + return _is_Shr(node); +} + +int +(is_Shrs)(const ir_node *node) { + return _is_Shrs(node); +} + +int +(is_Rot)(const ir_node *node) { + return _is_Rot(node); +} + int (is_Not)(const ir_node *node) { return _is_Not(node); diff --git a/ir/ir/irnode_t.h b/ir/ir/irnode_t.h index 75fbced52..98fbe030c 100644 --- a/ir/ir/irnode_t.h +++ b/ir/ir/irnode_t.h @@ -472,6 +472,30 @@ _is_Not(const ir_node *node) { return (_get_irn_op(node) == op_Not); } +static INLINE int +_is_Shl(const ir_node *node) { + assert(node); + return (_get_irn_op(node) == op_Shl); +} + +static INLINE int +_is_Shr(const ir_node *node) { + assert(node); + return (_get_irn_op(node) == op_Shr); +} + +static INLINE int +_is_Shrs(const ir_node *node) { + assert(node); + return (_get_irn_op(node) == op_Shrs); +} + +static INLINE int +_is_Rot(const ir_node *node) { + assert(node); + return (_get_irn_op(node) == op_Rot); +} + static INLINE int _is_Psi(const ir_node *node) { assert(node); @@ -883,6 +907,10 @@ static INLINE void _set_irn_dbg_info(ir_node *n, dbg_info *db) { #define is_Eor(node) _is_Eor(node) #define is_Sub(node) _is_Sub(node) #define is_Not(node) _is_Not(node) +#define is_Shl(node) _is_Shl(node) +#define is_Shr(node) _is_Shr(node) +#define is_Shrs(node) _is_Shrs(node) +#define is_Rot(node) _is_Rot(node) #define is_Psi(node) _is_Psi(node) #define is_Tuple(node) _is_Tuple(node) #define is_no_Block(node) _is_no_Block(node) -- 2.20.1