Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
aa1585f0
Commit
aa1585f0
authored
Aug 21, 2008
by
Christoph Mallon
Browse files
Add is_Carry(), get_Carry_left(), get_Carry_right().
[r21324]
parent
bbd7f069
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/libfirm/irnode.h
View file @
aa1585f0
...
...
@@ -714,6 +714,11 @@ void set_Add_left(ir_node *node, ir_node *left);
ir_node
*
get_Add_right
(
const
ir_node
*
node
);
void
set_Add_right
(
ir_node
*
node
,
ir_node
*
right
);
ir_node
*
get_Carry_left
(
const
ir_node
*
node
);
void
set_Carry_left
(
ir_node
*
node
,
ir_node
*
left
);
ir_node
*
get_Carry_right
(
const
ir_node
*
node
);
void
set_Carry_right
(
ir_node
*
node
,
ir_node
*
right
);
ir_node
*
get_Sub_left
(
const
ir_node
*
node
);
void
set_Sub_left
(
ir_node
*
node
,
ir_node
*
left
);
ir_node
*
get_Sub_right
(
const
ir_node
*
node
);
...
...
@@ -1268,6 +1273,8 @@ int is_DivMod(const ir_node *node);
int
is_Quot
(
const
ir_node
*
node
);
/** Returns true if node is an Add node. */
int
is_Add
(
const
ir_node
*
node
);
/** Returns true if node is a Carry node. */
int
is_Carry
(
const
ir_node
*
node
);
/** Returns true if node is an And node. */
int
is_And
(
const
ir_node
*
node
);
/** Returns true if node is an Or node. */
...
...
ir/ir/irnode.c
View file @
aa1585f0
...
...
@@ -1504,6 +1504,7 @@ void set_##OP##_resmode(ir_node *node, ir_mode *mode) { \
BINOP
(
Add
)
BINOP
(
Carry
)
BINOP
(
Sub
)
UNOP
(
Minus
)
BINOP
(
Mul
)
...
...
@@ -2641,6 +2642,11 @@ int
return
_is_Add
(
node
);
}
int
(
is_Carry
)(
const
ir_node
*
node
)
{
return
_is_Carry
(
node
);
}
int
(
is_And
)(
const
ir_node
*
node
)
{
return
_is_And
(
node
);
...
...
ir/ir/irnode_t.h
View file @
aa1585f0
...
...
@@ -493,6 +493,12 @@ _is_Add(const ir_node *node) {
return
(
_get_irn_op
(
node
)
==
op_Add
);
}
static
INLINE
int
_is_Carry
(
const
ir_node
*
node
)
{
assert
(
node
);
return
(
_get_irn_op
(
node
)
==
op_Carry
);
}
static
INLINE
int
_is_And
(
const
ir_node
*
node
)
{
assert
(
node
);
...
...
@@ -1072,6 +1078,7 @@ _is_arg_Proj(const ir_node *node) {
#define is_DivMod(node) _is_DivMod(node)
#define is_Quot(node) _is_Quot(node)
#define is_Add(node) _is_Add(node)
#define is_Carry(node) _is_Carry(node)
#define is_And(node) _is_And(node)
#define is_Or(node) _is_Or(node)
#define is_Eor(node) _is_Eor(node)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment