projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iropt: Remove repeated get_irn_irg().
[libfirm]
/
ir
/
ir
/
irssacons.c
diff --git
a/ir/ir/irssacons.c
b/ir/ir/irssacons.c
index
930fc74
..
afe1819
100644
(file)
--- a/
ir/ir/irssacons.c
+++ b/
ir/ir/irssacons.c
@@
-39,23
+39,18
@@
static void (*ssa_cons_walker)(ir_graph *, irg_walk_func *, irg_walk_func *, voi
*/
static void prepare_blocks(ir_node *block, void *env)
{
*/
static void prepare_blocks(ir_node *block, void *env)
{
-
unsigned n_loc = current_ir_graph->n_loc
;
-
struct obstack *obst = current_ir_graph->obst
;
+
ir_graph *const irg = get_Block_irg(block)
;
+
unsigned const n_loc = irg->n_loc
;
(void)env;
/* reset mature flag */
set_Block_matured(block, 0);
(void)env;
/* reset mature flag */
set_Block_matured(block, 0);
- block->attr.block.graph_arr = NEW_ARR_D(ir_node *, obst, n_loc);
- memset(block->attr.block.graph_arr, 0, sizeof(ir_node*) * n_loc);
+ block->attr.block.graph_arr = NEW_ARR_DZ(ir_node*, get_irg_obstack(irg), n_loc);
set_Block_phis(block, NULL);
}
void ssa_cons_start(ir_graph *irg, int n_loc)
{
set_Block_phis(block, NULL);
}
void ssa_cons_start(ir_graph *irg, int n_loc)
{
- /* for now we support only phase_high graphs */
- assert(irg->phase_state == phase_high);
-
- /* reset the phase to phase building: some optimization might depend on it */
- set_irg_phase_state(irg, phase_building);
+ add_irg_constraints(irg, IR_GRAPH_CONSTRAINT_CONSTRUCTION);
irg_set_nloc(irg, n_loc);
irg_set_nloc(irg, n_loc);
@@
-74,8
+69,7
@@
static void finish_block(ir_node *block, void *env)
{
(void)env;
{
(void)env;
- if (!get_Block_matured(block))
- mature_immBlock(block);
+ mature_immBlock(block);
}
void ssa_cons_finish(ir_graph *irg)
}
void ssa_cons_finish(ir_graph *irg)