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
9bfd2490
Commit
9bfd2490
authored
Aug 11, 2005
by
Michael Beck
Browse files
skip_Tuple() now skips chains of tuple, which can arise
after inlining small functions [r6393]
parent
3c4872fd
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/ir/irnode.c
View file @
9bfd2490
...
...
@@ -2055,6 +2055,7 @@ skip_Tuple (ir_node *node) {
if
(
!
get_opt_normalize
())
return
node
;
restart:
node
=
skip_Id
(
node
);
if
(
get_irn_op
(
node
)
==
op_Proj
)
{
pred
=
skip_Id
(
get_Proj_pred
(
node
));
...
...
@@ -2062,17 +2063,21 @@ skip_Tuple (ir_node *node) {
/*
* Looks strange but calls get_irn_op() only once
* most often cases.
*
in
most often cases.
*/
if
(
op
==
op_Proj
)
{
/* nested Tuple ? */
pred
=
skip_Id
(
skip_Tuple
(
pred
));
op
=
get_irn_op
(
pred
);
if
(
op
==
op_Tuple
)
return
get_Tuple_pred
(
pred
,
get_Proj_proj
(
node
));
if
(
op
==
op_Tuple
)
{
node
=
get_Tuple_pred
(
pred
,
get_Proj_proj
(
node
));
goto
restart
;
}
}
else
if
(
op
==
op_Tuple
)
{
node
=
get_Tuple_pred
(
pred
,
get_Proj_proj
(
node
));
goto
restart
;
}
else
if
(
op
==
op_Tuple
)
return
get_Tuple_pred
(
pred
,
get_Proj_proj
(
node
));
}
return
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