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
16d8de24
Commit
16d8de24
authored
Sep 14, 2004
by
Götz Lindenmaier
Browse files
bugfix: typeo
[r3860]
parent
28477326
Changes
4
Hide whitespace changes
Inline
Side-by-side
ir/ir/irgopt.c
View file @
16d8de24
...
...
@@ -1802,26 +1802,26 @@ static int test_whether_dispensable(ir_node *b, int pos) {
n_preds
=
get_Block_n_cfgpreds
(
pred
);
}
else
{
/* b's pred blocks and pred's pred blocks must be pairwise disjunct.
Work preds < pos as if they were already removed. */
Work preds < pos as if they were already removed. */
for
(
i
=
0
;
i
<
pos
;
i
++
)
{
ir_node
*
b_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b
,
i
));
if
(
get_Block_block_visited
(
b_pred
)
+
1
<
get_irg_block_visited
(
current_ir_graph
))
{
for
(
j
=
0
;
j
<
get_Block_n_cfgpreds
(
b_pred
);
j
++
)
{
ir_node
*
b_pred_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b_pred
,
j
));
if
(
is_pred_of
(
b_pred_pred
,
pred
))
dispensable
=
0
;
}
}
else
{
if
(
is_pred_of
(
b_pred
,
pred
))
dispensable
=
0
;
}
ir_node
*
b_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b
,
i
));
if
(
get_Block_block_visited
(
b_pred
)
+
1
<
get_irg_block_visited
(
current_ir_graph
))
{
for
(
j
=
0
;
j
<
get_Block_n_cfgpreds
(
b_pred
);
j
++
)
{
ir_node
*
b_pred_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b_pred
,
j
));
if
(
is_pred_of
(
b_pred_pred
,
pred
))
dispensable
=
0
;
}
}
else
{
if
(
is_pred_of
(
b_pred
,
pred
))
dispensable
=
0
;
}
}
for
(
i
=
pos
+
1
;
i
<
get_Block_n_cfgpreds
(
b
);
i
++
)
{
ir_node
*
b_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b
,
i
));
if
(
is_pred_of
(
b_pred
,
pred
))
dispensable
=
0
;
ir_node
*
b_pred
=
get_nodes_block
(
get_Block_cfgpred
(
b
,
i
));
if
(
is_pred_of
(
b_pred
,
pred
))
dispensable
=
0
;
}
if
(
!
dispensable
)
{
set_Block_block_visited
(
pred
,
get_irg_block_visited
(
current_ir_graph
)
-
1
);
n_preds
=
1
;
set_Block_block_visited
(
pred
,
get_irg_block_visited
(
current_ir_graph
)
-
1
);
n_preds
=
1
;
}
else
{
n_preds
=
get_Block_n_cfgpreds
(
pred
);
}
...
...
ir/ir/irnode.c
View file @
16d8de24
...
...
@@ -1500,7 +1500,7 @@ set_Phi_pred (ir_node *node, int pos, ir_node *pred) {
int
is_memop
(
ir_node
*
node
)
{
return
((
get_irn_op
(
node
)
==
op_Load
)
||
(
get_irn_op
(
node
)
==
op_
Load
));
return
((
get_irn_op
(
node
)
==
op_Load
)
||
(
get_irn_op
(
node
)
==
op_
Store
));
}
ir_node
*
get_memop_mem
(
ir_node
*
node
)
{
...
...
ir/ir/irnode.h
View file @
16d8de24
...
...
@@ -291,6 +291,8 @@ ir_node *get_Block_cg_cfgpred(ir_node * node, int pos);
/* frees the memory. */
void
remove_Block_cg_cfgpred_arr
(
ir_node
*
node
);
/** Keep alive dedicated nodes. These must be either
* PhiM or Block nodes. */
int
get_End_n_keepalives
(
ir_node
*
end
);
ir_node
*
get_End_keepalive
(
ir_node
*
end
,
int
pos
);
void
add_End_keepalive
(
ir_node
*
end
,
ir_node
*
ka
);
...
...
ir/ir/irreflect.h
View file @
16d8de24
...
...
@@ -18,17 +18,17 @@
#define RFLCT_MC(m) rflct_ms_ ## m
typedef
enum
{
RFLCT_MC
(
None
)
=
0
,
RFLCT_MC
(
Mem
)
=
2
,
RFLCT_MC
(
Bool
)
=
4
,
RFLCT_MC
(
IntS
)
=
8
,
RFLCT_MC
(
IntU
)
=
16
,
RFLCT_MC
(
None
)
=
0
,
RFLCT_MC
(
Mem
)
=
2
,
RFLCT_MC
(
Bool
)
=
4
,
RFLCT_MC
(
IntS
)
=
8
,
RFLCT_MC
(
IntU
)
=
16
,
RFLCT_MC
(
Float
)
=
32
,
RFLCT_MC
(
Ref
)
=
64
,
RFLCT_MC
(
Char
)
=
128
,
RFLCT_MC
(
X
)
=
256
,
RFLCT_MC
(
BB
)
=
512
,
RFLCT_MC
(
Cf
)
=
RFLCT_MC
(
X
)
|
RFLCT_MC
(
BB
),
RFLCT_MC
(
Ref
)
=
64
,
RFLCT_MC
(
Char
)
=
128
,
RFLCT_MC
(
X
)
=
256
,
RFLCT_MC
(
BB
)
=
512
,
RFLCT_MC
(
Cf
)
=
RFLCT_MC
(
X
)
|
RFLCT_MC
(
BB
),
RFLCT_MC
(
Int
)
=
RFLCT_MC
(
IntS
)
|
RFLCT_MC
(
IntU
),
RFLCT_MC
(
Intb
)
=
RFLCT_MC
(
Int
)
|
RFLCT_MC
(
Bool
),
...
...
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