diff options
author | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2007-06-19 19:04:52 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2007-06-19 19:04:52 +0000 |
commit | 89a95777068068a29677510065120620abd202f1 (patch) | |
tree | fa9997fc4e323fc1d4610bbda7d845966152ff14 /gcc/local-alloc.c | |
parent | a3a531ecfec77a9b0f30e1bce0c529c543aae332 (diff) | |
download | gcc-89a95777068068a29677510065120620abd202f1.zip gcc-89a95777068068a29677510065120620abd202f1.tar.gz gcc-89a95777068068a29677510065120620abd202f1.tar.bz2 |
df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
2007-06-15 Kenneth Zadeck <zadeck@naturalbridge.com>
* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
(struct df_problem.free_blocks_on_set_blocks): New field.
(struct dataflow.optional_p): New field.
(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
(df_live_set_all_dirty): New function.
* df-scan.c (df_scan_alloc): Initialize optional_p.
(problem_SCAN): Initialize free_blocks_on_set_blocks.
* df-core.c (df_set_blocks): Removed use of
DF_FIRST_OPTIONAL_PROBLEM. Now uses
df_problem.free_blocks_on_set_blocks to determine which blocks are
recycled.
(df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
(df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM. Now
uses dataflow.optional_p to determine if problem should be
deleted.
(rest_of_handle_df_initialize): Only start live problem if
-02 or above.
(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
* df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc,
df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p.
(problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN,
problem_NOTE): Initialize free_blocks_on_set_blocks.
(df_lr_bb_local_compute): Recompute luids if df_live problem is
not active.
(df_live_set_all_dirty, df_note_alloc): New function.
* regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
df_get_live_*.
* sched_ebb.c (compute_jump_reg_dependencies): Ditto.
* postreload.c (reload_combine): Ditto.
* cse.c (cse_extended_basic_block): Ditto.
* regmove.c (mark_flags_life_zones): Ditto.
* rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
erase_matching_seqs): Ditto.
* bt-load.c (compute_defs_uses_and_gen): Ditto.
* integrate (allocate_initial_values): Ditto.
* combine.c (reg_dead_at_p): Ditto.
* resource.c (mark_target_live_regs): Ditto.
* sched-rgn.c (check_live_1, update_live_1): Ditto.
* config/sh/sh.c (find_r0_life_regions): Ditto.
* global.c (rest_of_handle_global_alloc): Only add back df_live
for -O > 1.
* local-alloc.c (rest_of_handle_local_alloc): Only remove
df_live for -O > 1.
* ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
df_get_live_*.
(if_convert): Make sure df_live is there at -O == 1.
(pass_if_after_combine): Cleanup flags.
* init-regs.c (initialize_uninitialized_regs): Make sure df_live
is there at -O == 1.
From-SVN: r125857
Diffstat (limited to 'gcc/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 93bdbfa..59ee52f 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -2509,13 +2509,13 @@ rest_of_handle_local_alloc (void) int max_regno = max_reg_num (); df_note_add_problem (); + + if (optimize > 1) + df_remove_problem (df_live); + /* Create a new version of df that has the special version of UR if + we are doing optimization. */ if (optimize) - { - /* Create a new version of df that has the special version of UR - if we are doing optimization. */ - df_remove_problem (df_live); - df_urec_add_problem (); - } + df_urec_add_problem (); df_analyze (); regstat_init_n_sets_and_refs (); regstat_compute_ri (); |