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
00894f1e
Commit
00894f1e
authored
Oct 07, 2008
by
Michael Beck
Browse files
- re-enabled global-non-null test, but place Confirms only before Cmp nodes
[r22571]
parent
d935aa26
Changes
1
Show whitespace changes
Inline
Side-by-side
ir/ana/irconsconfirm.c
View file @
00894f1e
...
...
@@ -457,19 +457,9 @@ static void insert_non_null(ir_node *ptr, ir_node *block, env_t *env) {
ir_node
*
blk
;
if
(
is_Confirm
(
succ
))
{
/* beware of loops */
/* for now, we place a Confirm only in front of a Cmp */
if
(
!
is_Cmp
(
succ
))
continue
;
}
if
((
is_Load
(
succ
)
||
is_Store
(
succ
))
&&
get_nodes_block
(
succ
)
==
block
)
{
/* Ignore Loads and Store in the same block for now,
because we are not sure if they are dominated.
This is not a bad restriction: if exception flow is
present, they are in other blocks either. */
continue
;
}
pos
=
get_edge_src_pos
(
edge
);
blk
=
get_effective_use_block
(
succ
,
pos
);
...
...
@@ -549,7 +539,7 @@ void construct_confirms(ir_graph *irg) {
env
.
num_eq
=
0
;
env
.
num_non_null
=
0
;
if
(
0
&&
get_opt_global_null_ptr_elimination
())
{
if
(
get_opt_global_null_ptr_elimination
())
{
/* do global NULL test elimination */
irg_walk_graph
(
irg
,
insert_Confirm
,
NULL
,
&
env
);
}
else
{
...
...
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