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
b879b3a8
Commit
b879b3a8
authored
Jul 03, 2012
by
Christopher Frieler
Committed by
Matthias Braun
Jul 10, 2012
Browse files
respect dependency edges in dead code elimination
parent
2c7e6014
Changes
2
Hide whitespace changes
Inline
Side-by-side
ir/common/irtools.c
View file @
b879b3a8
...
...
@@ -180,6 +180,7 @@ void irn_rewire_inputs(ir_node *node)
{
ir_node
*
new_node
;
int
arity
;
int
n_deps
;
int
i
;
new_node
=
get_new_node
(
node
);
...
...
@@ -197,6 +198,13 @@ void irn_rewire_inputs(ir_node *node)
set_irn_n
(
new_node
,
i
,
new_in
);
}
n_deps
=
get_irn_deps
(
new_node
);
for
(
i
=
0
;
i
<
n_deps
;
++
i
)
{
ir_node
*
dep
=
get_irn_dep
(
node
,
i
);
ir_node
*
new_dep
=
get_new_node
(
dep
);
set_irn_dep
(
new_node
,
i
,
new_dep
);
}
/* Now the new node is complete. We can add it to the hash table for CSE. */
add_identities
(
new_node
);
}
...
...
ir/opt/dead_code_elimination.c
View file @
b879b3a8
...
...
@@ -75,13 +75,14 @@ static void copy_node_dce(ir_node *node, void *env)
*/
static
void
copy_graph_env
(
ir_graph
*
irg
)
{
ir_node
*
anchor
=
irg
->
anchor
;
ir_node
*
new_anchor
;
/* copy nodes */
irg_walk_anchor
s
(
irg
,
copy_node_dce
,
rewire_inputs
,
NULL
);
irg_walk_
in_or_dep
(
anchor
,
copy_node_dce
,
rewire_inputs
,
NULL
);
/* fix the anchor */
new_anchor
=
(
ir_node
*
)
get_irn_link
(
irg
->
anchor
);
new_anchor
=
(
ir_node
*
)
get_irn_link
(
anchor
);
assert
(
new_anchor
!=
NULL
);
irg
->
anchor
=
new_anchor
;
}
...
...
Write
Preview
Markdown
is supported
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