projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[libfirm]
/
ir
/
ana
/
irouts.c
diff --git
a/ir/ana/irouts.c
b/ir/ana/irouts.c
index
0a1954f
..
726f52e
100644
(file)
--- a/
ir/ana/irouts.c
+++ b/
ir/ana/irouts.c
@@
-417,7
+417,6
@@
void compute_irg_outs(ir_graph *irg) {
if (current_ir_graph->outs_state != outs_none)
free_irg_outs(current_ir_graph);
if (current_ir_graph->outs_state != outs_none)
free_irg_outs(current_ir_graph);
- current_ir_graph->outs_state = outs_consistent;
/* This first iteration counts the overall number of out edges and the
number of out edges for each node. */
/* This first iteration counts the overall number of out edges and the
number of out edges for each node. */
@@
-441,9
+440,15
@@
void compute_irg_outs(ir_graph *irg) {
the out block walker. */
fix_start_proj(irg);
the out block walker. */
fix_start_proj(irg);
+ current_ir_graph->outs_state = outs_consistent;
current_ir_graph = rem;
}
current_ir_graph = rem;
}
+void assure_irg_outs(ir_graph *irg) {
+ if (get_irg_outs_state(irg) != outs_consistent)
+ compute_irg_outs(irg);
+}
+
void compute_irp_outs(void) {
int i, n_irgs = get_irp_n_irgs();
for (i = 0; i < n_irgs; ++i)
void compute_irp_outs(void) {
int i, n_irgs = get_irp_n_irgs();
for (i = 0; i < n_irgs; ++i)