Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
10ed9b6d
Commit
10ed9b6d
authored
Sep 18, 2007
by
Matthias Braun
Browse files
rehash fixed loop nodes in betranshelp
[r15858]
parent
aaf0123e
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/betranshlp.c
View file @
10ed9b6d
...
...
@@ -165,6 +165,7 @@ void be_enqueue_preds(ir_node *node) {
*/
static
void
fix_loops
(
ir_node
*
node
)
{
int
i
,
arity
;
int
changed
;
assert
(
node_is_in_irgs_storage
(
env
.
irg
,
node
));
...
...
@@ -173,6 +174,7 @@ static void fix_loops(ir_node *node) {
mark_irn_visited
(
node
);
changed
=
0
;
if
(
!
is_Block
(
node
))
{
ir_node
*
block
=
get_nodes_block
(
node
);
ir_node
*
new_block
=
get_irn_link
(
block
);
...
...
@@ -180,6 +182,7 @@ static void fix_loops(ir_node *node) {
if
(
new_block
!=
NULL
)
{
set_nodes_block
(
node
,
new_block
);
block
=
new_block
;
changed
=
1
;
}
fix_loops
(
block
);
...
...
@@ -193,6 +196,7 @@ static void fix_loops(ir_node *node) {
if
(
nw
!=
NULL
&&
nw
!=
in
)
{
set_irn_n
(
node
,
i
,
nw
);
in
=
nw
;
changed
=
1
;
}
fix_loops
(
in
);
...
...
@@ -200,6 +204,7 @@ static void fix_loops(ir_node *node) {
/* fix proj block */
if
(
is_Proj
(
node
))
{
set_nodes_block
(
node
,
get_nodes_block
(
get_Proj_pred
(
node
)));
changed
=
1
;
}
arity
=
get_irn_deps
(
node
);
...
...
@@ -210,10 +215,15 @@ static void fix_loops(ir_node *node) {
if
(
nw
!=
NULL
&&
nw
!=
in
)
{
set_irn_dep
(
node
,
i
,
nw
);
in
=
nw
;
changed
=
1
;
}
fix_loops
(
in
);
}
if
(
changed
)
{
identify_remember
(
current_ir_graph
->
value_table
,
node
);
}
}
ir_node
*
be_pre_transform_node
(
ir_node
*
place
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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