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
0a0b836f
Commit
0a0b836f
authored
May 05, 2011
by
Andreas Zwinkau
Browse files
fix opt/gcse_no_end
jump threading must also copy Keep edges to keep End reachable.
parent
8ea5207a
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/opt/jumpthreading.c
View file @
0a0b836f
...
@@ -275,6 +275,13 @@ static void copy_and_fix(const jumpthreading_env_t *env, ir_node *block,
...
@@ -275,6 +275,13 @@ static void copy_and_fix(const jumpthreading_env_t *env, ir_node *block,
ir_node
*
copy
;
ir_node
*
copy
;
ir_mode
*
mode
;
ir_mode
*
mode
;
if
(
is_End
(
node
))
{
/* edge is a Keep edge. If the end block is unreachable via normal control flow,
* we must maintain end's reachability with Keeps.
*/
keep_alive
(
copy_block
);
continue
;
}
/* ignore control flow */
/* ignore control flow */
mode
=
get_irn_mode
(
node
);
mode
=
get_irn_mode
(
node
);
if
(
mode
==
mode_X
||
is_Cond
(
node
))
if
(
mode
==
mode_X
||
is_Cond
(
node
))
...
...
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