| 1 | 684 | jeremybenn | 2007-06-07  Kenneth Zadeck 
 | 
      
         | 2 |  |  |  
 | 
      
         | 3 |  |  |         * emit-rtl.c (set_insn_deleted): Changed NOTE_LINE_NUMBER to
 | 
      
         | 4 |  |  |         NOTE_KIND.
 | 
      
         | 5 |  |  |         (emit_note_after): Fixed merge glitch.
 | 
      
         | 6 |  |  |         * combine.c (try_combine):  Changed NOTE_LINE_NUMBER to
 | 
      
         | 7 |  |  |         NOTE_KIND.
 | 
      
         | 8 |  |  |         * reg-stack.c (convert_regs_1): Fixed merge glitch.
 | 
      
         | 9 |  |  |         * config/rs6000/rs6000.c (no_global_regs_above): Fixed merge typo.
 | 
      
         | 10 |  |  |         (rs6000_emit_prologue): Fixed merge glitch.
 | 
      
         | 11 |  |  |  
 | 
      
         | 12 |  |  | 2007-06-06  Kenneth Zadeck 
 | 
      
         | 13 |  |  |  
 | 
      
         | 14 |  |  |         * regrename.c (do_replace): Removed ifdefed out code.
 | 
      
         | 15 |  |  |         * fwprop.c: Fixed copyright.
 | 
      
         | 16 |  |  |         * testsuite/Changelog.dataflow: Merged entry into
 | 
      
         | 17 |  |  |         testsuite/Changelog.  Deleted file.
 | 
      
         | 18 |  |  |         * global.c: Fixed comments.
 | 
      
         | 19 |  |  |         * recog.c (confirm_change_group): Fixed comments.
 | 
      
         | 20 |  |  |         (peephole2_optimize): Removed ifdefed out code.
 | 
      
         | 21 |  |  |         * gcse.c (try_replace_reg): Removed redundant changing and
 | 
      
         | 22 |  |  |         rescanning of notes.
 | 
      
         | 23 |  |  |         * rtl.h (SET_REGNO): Replaced brackets.
 | 
      
         | 24 |  |  |         * stack-ptr-mod.c: Changed copyright years.
 | 
      
         | 25 |  |  |  
 | 
      
         | 26 |  |  | 2007-06-06  Seongbae Park  
 | 
      
         | 27 |  |  |  
 | 
      
         | 28 |  |  |         * config/ia64/ia64.c (ia64_frame_info): Restored the comment
 | 
      
         | 29 |  |  |         for the structure above. Removed left-over dead code from debugging.
 | 
      
         | 30 |  |  |         (ia64_compute_frame_size): Comment cleanup.
 | 
      
         | 31 |  |  |         (ia64_expand_prologue): Style fix. Debugging information header.
 | 
      
         | 32 |  |  |         (ia64_init_expanders): Added a comment.
 | 
      
         | 33 |  |  |         * config/ia64/ia64.h (ia64_init_expanders): Declaration moved
 | 
      
         | 34 |  |  |         to ia64-protos.h
 | 
      
         | 35 |  |  |         * config/ia64/ia64-protos.h (ia64_init_expanders): Declaration
 | 
      
         | 36 |  |  |         moved from ia64.h
 | 
      
         | 37 |  |  |  
 | 
      
         | 38 |  |  | 2007-06-06  Kenneth Zadeck 
 | 
      
         | 39 |  |  |  
 | 
      
         | 40 |  |  |         * doc/rtl.text: Fixed spelling.
 | 
      
         | 41 |  |  |         * dse.c (store_info, read_info, insn_info, bb_info, group_info,
 | 
      
         | 42 |  |  |         deferred_change): Fixed formatting.
 | 
      
         | 43 |  |  |         (step0): Renamed to dse_step0.
 | 
      
         | 44 |  |  |         (step1): Renamed to dse_step1.
 | 
      
         | 45 |  |  |         (step2_init): Renamed to dse_step2_init.
 | 
      
         | 46 |  |  |         (step2_nospill): Renamed to dse_step2_nospill.
 | 
      
         | 47 |  |  |         (step2_spill): Renamed to dse_step2_spill.
 | 
      
         | 48 |  |  |         (step3_scan): Renamed to dse_step3_scan.
 | 
      
         | 49 |  |  |         (step3_exit_block_scan): Renamed to dse_step3_exit_block_scan.
 | 
      
         | 50 |  |  |         (step3): Renamed to dse_step3.
 | 
      
         | 51 |  |  |         (step4_nospill): Renamed to dse_step4_nospill.
 | 
      
         | 52 |  |  |         (step4_spill): Renamed to dse_step4_spill.
 | 
      
         | 53 |  |  |         (step4): Renamed to dse_step4.
 | 
      
         | 54 |  |  |         (step5_nospill): Renamed to dse_step5_nospill.
 | 
      
         | 55 |  |  |         (step5_spill): Renamed to dse_step5_spill.
 | 
      
         | 56 |  |  |         (step6): Renamed to dse_step6.
 | 
      
         | 57 |  |  |         (rest_of_handle_dse): Updated names of functions.
 | 
      
         | 58 |  |  |         * emit_rtl.c (verify_rtx_sharing, copy_rtx_if_shared_1,
 | 
      
         | 59 |  |  |         copy_insn_1): Now calls shared_const_p.
 | 
      
         | 60 |  |  |         * cselib.c (expand_loc, cselib_expand_value_rtx): Fixed comments.
 | 
      
         | 61 |  |  |         (cselib_expand_value_rtx): Now calls shared_const_p.
 | 
      
         | 62 |  |  |         * rtl.c (shared_const_p): New function.
 | 
      
         | 63 |  |  |         (copy_rtx): Now calls shared_const_p.
 | 
      
         | 64 |  |  |         * rtl.h (shared_const_p): New function.
 | 
      
         | 65 |  |  |  
 | 
      
         | 66 |  |  | 2007-06-06  Kenneth Zadeck 
 | 
      
         | 67 |  |  |  
 | 
      
         | 68 |  |  |         * combine.c (find_single_use_1): Fixed comment and changed 0 to NULL.
 | 
      
         | 69 |  |  |         (find_single_use): Removed comment.
 | 
      
         | 70 |  |  |         (delete_noop_move): Removed unnecessary continue and removed
 | 
      
         | 71 |  |  |         nnoops counter.  Function now does not return anything.
 | 
      
         | 72 |  |  |  
 | 
      
         | 73 |  |  | 2007-05-31  Kenneth Zadeck 
 | 
      
         | 74 |  |  |  
 | 
      
         | 75 |  |  |         * bitmap.c (bitmap_elt_copy): Fixed comment.
 | 
      
         | 76 |  |  |         * cfganal.c (inverted_post_order_compute): Fixed comment and
 | 
      
         | 77 |  |  |         formatting of test.
 | 
      
         | 78 |  |  |         * basic_block.h: Removed include rtl.h.
 | 
      
         | 79 |  |  |         (enum bb_flags): Renumbered.
 | 
      
         | 80 |  |  |         (FOR_EACH_BB_IN_REGION, FOR_EACH_BB_REVERSE_IN_REGION): Removed.
 | 
      
         | 81 |  |  |         (FOR_BB_INSNS_SAFE, FOR_BB_INSNS_REVERSE_SAFE): Fixed formatting.
 | 
      
         | 82 |  |  |  
 | 
      
         | 83 |  |  | 2007-05-30  Kenneth Zadeck 
 | 
      
         | 84 |  |  |  
 | 
      
         | 85 |  |  |         * auto-inc-dec.c: Updated copyright date.
 | 
      
         | 86 |  |  |         (enum form, set_inc_state, dump_inc_insn, move_dead_notes,
 | 
      
         | 87 |  |  |         insert_move_insn_before, attempt_change, try_merge, find_address,
 | 
      
         | 88 |  |  |         find_mem): Reformatted.
 | 
      
         | 89 |  |  |         (reverse_inc, find_address): Fixed spelling.
 | 
      
         | 90 |  |  |         (attempt_change, try_merge): Add default case.
 | 
      
         | 91 |  |  |         * basic-block.h: Updated copyright date.
 | 
      
         | 92 |  |  |         * bitmap.c: Updated copyright date.
 | 
      
         | 93 |  |  |         * bitmap.h: Updated copyright date.
 | 
      
         | 94 |  |  |         * cfganal.c: Updated copyright date.
 | 
      
         | 95 |  |  |         * cfg.c: Updated copyright date.
 | 
      
         | 96 |  |  |         * cfghooks.h: Updated copyright date.
 | 
      
         | 97 |  |  |         * cfglayout.c: Updated copyright date.
 | 
      
         | 98 |  |  |         * cfgloop.c: Updated copyright date.
 | 
      
         | 99 |  |  |         * cfgloop.h: Updated copyright date.
 | 
      
         | 100 |  |  |         * cfgrtl.c: Updated copyright date.
 | 
      
         | 101 |  |  |         * combine.c: Updated copyright date.
 | 
      
         | 102 |  |  |         * combine-stack-adj.c: Updated copyright date.
 | 
      
         | 103 |  |  |         * config/arc/arc.c: Updated copyright date.
 | 
      
         | 104 |  |  |         * config/arm/arm.c: (use_return_insn,
 | 
      
         | 105 |  |  |         arm_compute_save_reg0_reg12_mask, arm_get_frame_offsets,
 | 
      
         | 106 |  |  |         arm_save_coproc_regs): Fixed formatting.
 | 
      
         | 107 |  |  |         * config/bfin/bfin.c: Updated copyright date.
 | 
      
         | 108 |  |  |         * config/c4x/c4x.c: Updated copyright date.
 | 
      
         | 109 |  |  |         * config/c4x/c4x.h: Updated copyright date.
 | 
      
         | 110 |  |  |         * config/cris/cris.c: Updated copyright date.
 | 
      
         | 111 |  |  |         * config/crx/crx.c: Updated copyright date.
 | 
      
         | 112 |  |  |         * config/crx/crx.h: Updated copyright date.
 | 
      
         | 113 |  |  |         * config/darwin.c: Updated copyright date.
 | 
      
         | 114 |  |  |         * config/frv/frv.c: Updated copyright date.
 | 
      
         | 115 |  |  |         * config/h8300/h8300.c: Updated copyright date.
 | 
      
         | 116 |  |  |         * config/h8300/h8300.md: Updated copyright date.
 | 
      
         | 117 |  |  |         * config/ia64/ia64.h: Updated copyright date.
 | 
      
         | 118 |  |  |         * config/iq2000/iq2000.c: Updated copyright date.
 | 
      
         | 119 |  |  |         * config/iq2000/iq2000.h: Updated copyright date.
 | 
      
         | 120 |  |  |         * config/m32c/m32c.c: Updated copyright date.
 | 
      
         | 121 |  |  |         * config/m68hc11/m68hc11.c: Updated copyright date.
 | 
      
         | 122 |  |  |         * config/m68k/m68k.c: Updated copyright date.
 | 
      
         | 123 |  |  |         * config/mips/mips.c: Updated copyright date.
 | 
      
         | 124 |  |  |         * config/mips/mips.md: Updated copyright date.
 | 
      
         | 125 |  |  |         * config/mmix/mmix.c: Updated copyright date.
 | 
      
         | 126 |  |  |         * config/mn10300/mn10300.c: Updated copyright date.
 | 
      
         | 127 |  |  |         * config/mt/mt.c: Updated copyright date.
 | 
      
         | 128 |  |  |         (mt_print_operand_simple_address, mt_print_operand): Fixed formatting.
 | 
      
         | 129 |  |  |         * config/mt/mt.h: Updated copyright date and fixed formatting.
 | 
      
         | 130 |  |  |         * config/pa/pa.c: Updated copyright date.
 | 
      
         | 131 |  |  |         * config/pa/pa.h: Updated copyright date.
 | 
      
         | 132 |  |  |         * config/pdp11/pdp11.c: Updated copyright date.
 | 
      
         | 133 |  |  |         * config/pdp11/pdp11.h: Updated copyright date.
 | 
      
         | 134 |  |  |         * config/rs6000/predicates.md: Updated copyright date.
 | 
      
         | 135 |  |  |         * config/s390/s390.c: Updated copyright date.
 | 
      
         | 136 |  |  |         * config/score/score-mdaux.c: Updated copyright date.
 | 
      
         | 137 |  |  |         * config/sh/sh.c: Updated copyright date.
 | 
      
         | 138 |  |  |         * config/sh/sh.md: Updated copyright date.
 | 
      
         | 139 |  |  |         * config/sparc/sparc.c: Updated copyright date.
 | 
      
         | 140 |  |  |         * config/stormy16/stormy16.c: Updated copyright date.
 | 
      
         | 141 |  |  |         * config/v850/v850.c: Updated copyright date.
 | 
      
         | 142 |  |  |         * config/vax/vax.c: Updated copyright date.
 | 
      
         | 143 |  |  |         * cselib.c: Updated copyright date.
 | 
      
         | 144 |  |  |         (expand_loc): Fixed formatting.
 | 
      
         | 145 |  |  |         * cselib.h: Updated copyright date.
 | 
      
         | 146 |  |  |         * dbgcnt.c: Updated copyright date.
 | 
      
         | 147 |  |  |         * dbgcnt.def: Updated copyright date.
 | 
      
         | 148 |  |  |         * dbgcnt.h: Updated copyright date.
 | 
      
         | 149 |  |  |         * dce.c: Updated copyright date.
 | 
      
         | 150 |  |  |         (fast_dce): Fixed formatting.
 | 
      
         | 151 |  |  |         * dce.h: Updated copyright date.
 | 
      
         | 152 |  |  |         * ddg.c: Updated copyright date.
 | 
      
         | 153 |  |  |         * ddg.h: Updated copyright date.
 | 
      
         | 154 |  |  |         * df-core.c: Updated copyright date.
 | 
      
         | 155 |  |  |         * df.h: Updated copyright date and fixed formatting.
 | 
      
         | 156 |  |  |         * doc/cfg.texi: Updated copyright date.
 | 
      
         | 157 |  |  |         * doc/rtl.texi: Updated copyright date.
 | 
      
         | 158 |  |  |         * dominance.c: Updated copyright date.
 | 
      
         | 159 |  |  |         * function.h: Updated copyright date.
 | 
      
         | 160 |  |  |         * fwprop.c: Updated copyright date.
 | 
      
         | 161 |  |  |         * global.c: Updated copyright date.
 | 
      
         | 162 |  |  |         * integrate.c: Updated copyright date.
 | 
      
         | 163 |  |  |         * local-alloc.c: Updated copyright date.
 | 
      
         | 164 |  |  |         * loop-init.c: Updated copyright date.
 | 
      
         | 165 |  |  |         * loop-invariant.c: Updated copyright date.
 | 
      
         | 166 |  |  |         * loop-iv.c: Updated copyright date.
 | 
      
         | 167 |  |  |         * optabs.h: Updated copyright date.
 | 
      
         | 168 |  |  |         * output.h: Updated copyright date.
 | 
      
         | 169 |  |  |         * postreload.c: Updated copyright date.
 | 
      
         | 170 |  |  |         * postreload-gcse.c: Updated copyright date.
 | 
      
         | 171 |  |  |         * recog.h: Updated copyright date.
 | 
      
         | 172 |  |  |         * regmove.c: Updated copyright date.
 | 
      
         | 173 |  |  |         * reg-notes.def: Updated copyright date.
 | 
      
         | 174 |  |  |         * regrename.c: Updated copyright date.
 | 
      
         | 175 |  |  |         * reg-stack.c: Updated copyright date.
 | 
      
         | 176 |  |  |         * reload.c: Updated copyright date.
 | 
      
         | 177 |  |  |         * reorg.c: Updated copyright date.
 | 
      
         | 178 |  |  |         * resource.c: Updated copyright date.
 | 
      
         | 179 |  |  |         * resource.h: Updated copyright date.
 | 
      
         | 180 |  |  |         * rtl-factoring.c: Updated copyright date.
 | 
      
         | 181 |  |  |         * sbitmap.c: Updated copyright date.
 | 
      
         | 182 |  |  |         * sbitmap.h: Updated copyright date.
 | 
      
         | 183 |  |  |         * sched-deps.c: Updated copyright date.
 | 
      
         | 184 |  |  |         * sched-ebb.c: Updated copyright date.
 | 
      
         | 185 |  |  |         * sched-int.h: Updated copyright date.
 | 
      
         | 186 |  |  |         * sched-rgn.c: Updated copyright date.
 | 
      
         | 187 |  |  |         * sched-vis.c: Updated copyright date.
 | 
      
         | 188 |  |  |         * see.c: Updated copyright date.
 | 
      
         | 189 |  |  |         (see_handle_relevant_uses): Fixed formatting.
 | 
      
         | 190 |  |  |         * stack-ptr-mod.c: Updated copyright date.
 | 
      
         | 191 |  |  |         * struct-equiv.c: Updated copyright date.
 | 
      
         | 192 |  |  |         * tracer.c: Updated copyright date.
 | 
      
         | 193 |  |  |         * web.c: Updated copyright date.
 | 
      
         | 194 |  |  |  
 | 
      
         | 195 |  |  | 2007-05-30  Kenneth Zadeck 
 | 
      
         | 196 |  |  |  
 | 
      
         | 197 |  |  |         * auto-inc-dec.c (mem_insn.mem_pat): Renamed mem_loc.
 | 
      
         | 198 |  |  |         (attempt_change): Fixed comments and renamed new_addr_pat to new_addr.
 | 
      
         | 199 |  |  |         (try_merge, attempt_change, find_address, find_mem): Renamed
 | 
      
         | 200 |  |  |         mem_pat to mem_loc.
 | 
      
         | 201 |  |  |  
 | 
      
         | 202 |  |  | 2007-05-27  Kenneth Zadeck 
 | 
      
         | 203 |  |  |  
 | 
      
         | 204 |  |  |         * df-core.c (df_hybrid_search_forward, df_hybrid_search_backward
 | 
      
         | 205 |  |  |         df_iterative_dataflow): Removed.
 | 
      
         | 206 |  |  |         * df.h (df_iterative_dataflow): Removed.
 | 
      
         | 207 |  |  |  
 | 
      
         | 208 |  |  | 2007-05-27  Kenneth Zadeck 
 | 
      
         | 209 |  |  |  
 | 
      
         | 210 |  |  |         * dse.c (replace_inc_dec, delete_dead_store_insn, scan_insn,
 | 
      
         | 211 |  |  |         dse_record_singleton_alias_set, dse_confluence_0,
 | 
      
         | 212 |  |  |         dse_confluence_n, step4, step5_nospill, step5_spill,
 | 
      
         | 213 |  |  |         rest_of_handle_dse, pass_rtl_dse1, pass_rtl_dse2): Removed code
 | 
      
         | 214 |  |  |         to allow dse to run on trunk in front of flow.c
 | 
      
         | 215 |  |  |         (problem): Removed.
 | 
      
         | 216 |  |  |  
 | 
      
         | 217 |  |  | 2007-05-26  Kaz Kojima  
 | 
      
         | 218 |  |  |  
 | 
      
         | 219 |  |  |         * bt-load.c: Include recog.h.
 | 
      
         | 220 |  |  |         (move_btr_def): Use validate_replace_rtx instead of replace_rtx.
 | 
      
         | 221 |  |  |  
 | 
      
         | 222 |  |  | 2007-05-25  Steven Bosscher  
 | 
      
         | 223 |  |  |  
 | 
      
         | 224 |  |  |         * emit-rtl.c (try_split): Remove unnecessary setting/resetting
 | 
      
         | 225 |  |  |         of the USED flags of TRIAL.
 | 
      
         | 226 |  |  |  
 | 
      
         | 227 |  |  | 2007-05-25  Kenneth Zadeck 
 | 
      
         | 228 |  |  |  
 | 
      
         | 229 |  |  |         * dse.c (insn_info.stack_read, group_info.frame_related): New
 | 
      
         | 230 |  |  |         variable.
 | 
      
         | 231 |  |  |         (get_group_info): Initialize frame_related.
 | 
      
         | 232 |  |  |         (scan_insn, scan_reads_nospill): Remove frame_related stores from
 | 
      
         | 233 |  |  |         consideration for const functions.
 | 
      
         | 234 |  |  |         (step1, step2_init, step3_exit_block_scan): Use frame_related field.
 | 
      
         | 235 |  |  |         (step3_scan, step5_nospill): Change parameters to scan_reads_nospill.
 | 
      
         | 236 |  |  |  
 | 
      
         | 237 |  |  | 2007-05-25  Ian Lance Taylor  
 | 
      
         | 238 |  |  |  
 | 
      
         | 239 |  |  |         * reload1.c (mark_home_live_1): New static function, broken out of
 | 
      
         | 240 |  |  |         mark_home_live.
 | 
      
         | 241 |  |  |         (mark_home_live): Call mark_home_live_1.
 | 
      
         | 242 |  |  |         (scan_paradoxical_subregs): Call mark_home_live_1.
 | 
      
         | 243 |  |  |  
 | 
      
         | 244 |  |  | 2007-05-24  Andrew Pinski  
 | 
      
         | 245 |  |  |  
 | 
      
         | 246 |  |  |         * config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
 | 
      
         | 247 |  |  |         (umulsi3_highpart): Likewise.
 | 
      
         | 248 |  |  |  
 | 
      
         | 249 |  |  | 2007-05-24  Eric Christopher  
 | 
      
         | 250 |  |  |  
 | 
      
         | 251 |  |  |         * config/mips/mips.c (mips_save_reg_p): Use df_regs_ever_live_p.
 | 
      
         | 252 |  |  |         (mips_output_mi_thunk): Use SET_REGNO.
 | 
      
         | 253 |  |  |  
 | 
      
         | 254 |  |  | 2007-05-23  Kaz Kojima  
 | 
      
         | 255 |  |  |  
 | 
      
         | 256 |  |  |         * config/sh/sh.c (sh_expand_prologue): Fix typo.
 | 
      
         | 257 |  |  |  
 | 
      
         | 258 |  |  | 2007-05-23 Paolo Bonzini 
 | 
      
         | 259 |  |  |  
 | 
      
         | 260 |  |  |         * emit-rtl.c [!HAVE_blockage]: Provide a gen_blockage routine here.
 | 
      
         | 261 |  |  |         * rtl.h (gen_blockage): Add prototype.
 | 
      
         | 262 |  |  |  
 | 
      
         | 263 |  |  |         * cse.c (last_bb_reg_used_in, reg_used_in_multiple_bb): Remove.
 | 
      
         | 264 |  |  |         (mark_reg_use_bb): Remove.
 | 
      
         | 265 |  |  |         (cse_main): Remove the initialization of reg_used_in_multiple_bb
 | 
      
         | 266 |  |  |         and last_bb_reg_used_in, and the insn walk that calls mark_reg_use_bb.
 | 
      
         | 267 |  |  |         (cse_ebb_live_in, cse_ebb_live_out): New.
 | 
      
         | 268 |  |  |         (cse_extended_basic_block): Set them.
 | 
      
         | 269 |  |  |         (make_regs_eqv): Use them.
 | 
      
         | 270 |  |  |  
 | 
      
         | 271 |  |  | 2007-05-23  Kenneth Zadeck 
 | 
      
         | 272 |  |  |  
 | 
      
         | 273 |  |  |         * df-scan.c (df_get_regular_block_artificial_uses): Set the
 | 
      
         | 274 |  |  |         HARD_FRAME_POINTER not the FRAME_POINTER after reload.  Set both
 | 
      
         | 275 |  |  |         the HARD_FRAME_POINTER and the FRAME_POINTER before reload.
 | 
      
         | 276 |  |  |         * dse.c (const_or_frame_p): Removed unnecessary test.
 | 
      
         | 277 |  |  |         * config/s390/s390.c (s390_emit_prologue): Removed REG_MAYBE_DEAD
 | 
      
         | 278 |  |  |         notes.
 | 
      
         | 279 |  |  |         * config/spu/spu.c (frame_emit_add_imm, spu_expand_prologue): Ditto.
 | 
      
         | 280 |  |  |         * config/i386/i386.c (ix86_expand_prologue): Ditto.
 | 
      
         | 281 |  |  |         * config/sh/sh.c (sh_expand_prologue): Ditto.
 | 
      
         | 282 |  |  |         * config/sh/sh.md (define_expand): Ditto.
 | 
      
         | 283 |  |  |         * config/iq2000/iq2000.c (iq2000_expand_prologue): Ditto.
 | 
      
         | 284 |  |  |         * config/mn10300/mn10300.c (expand_prologue): Ditto.
 | 
      
         | 285 |  |  |         * config/ia64/ia64.c (spill_restore_mem, ia64_expand_prologue): Ditto.
 | 
      
         | 286 |  |  |         * config/m68k/m68k.c (m68k_expand_prologue): Ditto.
 | 
      
         | 287 |  |  |         * config/rs6000/rs6000.c (rs6000_maybe_dead): Removed.
 | 
      
         | 288 |  |  |         (rs6000_emit_load_toc_table, rs6000_emit_prologue): Removed calls
 | 
      
         | 289 |  |  |         to rs6000_maybe_dead.
 | 
      
         | 290 |  |  |         * config/bfin/bfin.c (expand_interrupt_handler_prologue,
 | 
      
         | 291 |  |  |         bfin_load_pic_reg): Removed REG_MAYBE_DEAD notes.
 | 
      
         | 292 |  |  |         * reg-notes.def (MAYBE_DEAD): Removed.
 | 
      
         | 293 |  |  |         * dce.c (deletable_insn_p): Removed test of RTX_FRAME_RELATED_P.
 | 
      
         | 294 |  |  |  
 | 
      
         | 295 |  |  | 2007-05-21  Kenneth Zadeck 
 | 
      
         | 296 |  |  |  
 | 
      
         | 297 |  |  |         * dbgcnt.def: Fixed comment.
 | 
      
         | 298 |  |  |         * df-scan.c (df_get_regular_block_artificial_uses): Added frame
 | 
      
         | 299 |  |  |         pointer after reload if frame_pointer_needed.
 | 
      
         | 300 |  |  |         * df.h (df_simulate_defs, df_simulate_uses): Made public.
 | 
      
         | 301 |  |  |         * df-problems.c (df_simulate_defs, df_simulate_uses): Made public.
 | 
      
         | 302 |  |  |         * dce.c (deletable_insn_p): Only allow frame-related insns to be
 | 
      
         | 303 |  |  |         deleted if there is a REG_MAYBE_DEAD note.
 | 
      
         | 304 |  |  |         (dce_process_block): Now uses df_simulate_defs and
 | 
      
         | 305 |  |  |         df_simulate_uses.
 | 
      
         | 306 |  |  |  
 | 
      
         | 307 |  |  | 2007-05-20  Kenneth Zadeck 
 | 
      
         | 308 |  |  |  
 | 
      
         | 309 |  |  |         * cfg.c (dump_bb_info): Fixed dump formatting problem.
 | 
      
         | 310 |  |  |         * dse.c (const_or_frame_p): New function.
 | 
      
         | 311 |  |  |         (canon_address): Fixed dump info and now callse const_or_frame_p
 | 
      
         | 312 |  |  |         rather than rtx_varies_p.  Also do simplification inside cselib.
 | 
      
         | 313 |  |  |         (record_store): Fixed dump info.
 | 
      
         | 314 |  |  |         * cselib.c (expand_loc): Fixed dump info.
 | 
      
         | 315 |  |  |         (cselib_expand_value_rtx): Fixed dump info and now call
 | 
      
         | 316 |  |  |         simplify_rtx on results of expansion.
 | 
      
         | 317 |  |  |  
 | 
      
         | 318 |  |  | 2007-05-17  Kenneth Zadeck 
 | 
      
         | 319 |  |  |  
 | 
      
         | 320 |  |  |         * ifcvt.c (dead_or_predictable): Replaced insn dfa with new df
 | 
      
         | 321 |  |  |         routines.
 | 
      
         | 322 |  |  |         * recog.c (peephole2_optimize): Replaced
 | 
      
         | 323 |  |  |         df_lr_simulate_artificial_refs_at_end and df_lr_simulate_one_insn
 | 
      
         | 324 |  |  |         with df_simulate_artificial_refs_at_end and
 | 
      
         | 325 |  |  |         df_simulate_one_insn_backwards.
 | 
      
         | 326 |  |  |         * rtl-factoring.c (collect_pattern_seqs, clear_regs_live_in_seq):
 | 
      
         | 327 |  |  |         Ditto.
 | 
      
         | 328 |  |  |         * df.h (df_lr_simulate_artificial_refs_at_end,
 | 
      
         | 329 |  |  |         df_lr_simulate_one_insn): Removed.
 | 
      
         | 330 |  |  |         (df_simulate_find_defs, df_simulate_artificial_refs_at_top,
 | 
      
         | 331 |  |  |         df_simulate_one_insn_forwards, df_simulate_artificial_refs_at_end,
 | 
      
         | 332 |  |  |         df_simulate_one_insn_backwards): Added.
 | 
      
         | 333 |  |  |         * df-problems.c (df_lr_bb_local_compute): Removed unnecessary
 | 
      
         | 334 |  |  |         tests.
 | 
      
         | 335 |  |  |         (df_lr_simulate_artificial_refs_at_end, df_lr_simulate_one_insn):
 | 
      
         | 336 |  |  |         Removed.
 | 
      
         | 337 |  |  |         (df_simulate_find_defs, df_simulate_defs, df_simulate_uses,
 | 
      
         | 338 |  |  |         df_simulate_fixup_sets, df_simulate_artificial_refs_at_top,
 | 
      
         | 339 |  |  |         df_simulate_one_insn_forwards, df_simulate_artificial_refs_at_end,
 | 
      
         | 340 |  |  |         df_simulate_one_insn_backwards): Added.
 | 
      
         | 341 |  |  |  
 | 
      
         | 342 |  |  | 2007-05-16  Seongbae Park 
 | 
      
         | 343 |  |  |  
 | 
      
         | 344 |  |  |         * ifcvt.c (dead_or_predicable): Update test_live as well as test_set.
 | 
      
         | 345 |  |  |         (if_convert): New parameter RECOMPUTE_DOMINANCE.
 | 
      
         | 346 |  |  |         (rest_of_handle_if_conversion, rest_of_handle_if_after_combine,
 | 
      
         | 347 |  |  |         rest_of_handle_if_after_reload): New parameter to if_convert.
 | 
      
         | 348 |  |  |  
 | 
      
         | 349 |  |  | 2007-05-16  Kenneth Zadeck 
 | 
      
         | 350 |  |  |  
 | 
      
         | 351 |  |  |         * regstat.c (regstat_init_n_sets_and_refs, regstat_compute_ri,
 | 
      
         | 352 |  |  |         regstat_compute_calls_crossed): Added time variable TV_REG_STATS.
 | 
      
         | 353 |  |  |         * timevar.def (TV_REG_STATS): Added.
 | 
      
         | 354 |  |  |         (TV_DF_RI): Deleted.
 | 
      
         | 355 |  |  |         * df-problems.c (df_print_bb_index): Added identifer for eh blocks.
 | 
      
         | 356 |  |  |         * dce.c (deletable_insn_p): Added code to not delete
 | 
      
         | 357 |  |  |         RTX_FRAME_RELATED_P insns.
 | 
      
         | 358 |  |  |         (dce_process_block): Removed insns_deleted and added code to reset
 | 
      
         | 359 |  |  |         live set before confluence function.
 | 
      
         | 360 |  |  |         (rest_of_handle_fast_dce): Added code to turn off df's version of dce if
 | 
      
         | 361 |  |  |         flag_dce is not set and added DF_NO_INSN_RESCAN to flags that are cleared.
 | 
      
         | 362 |  |  |  
 | 
      
         | 363 |  |  | 2007-05-10  Roman Zippel 
 | 
      
         | 364 |  |  |  
 | 
      
         | 365 |  |  |         * config/m68k/m68k.c: include df.h.
 | 
      
         | 366 |  |  |         (m68k_output_mi_thunk): use SET_REGNO.
 | 
      
         | 367 |  |  |  
 | 
      
         | 368 |  |  | 2007-05-09  Kaz Kojima  
 | 
      
         | 369 |  |  |  
 | 
      
         | 370 |  |  |         * df-core.c (df_get_bb_dirty): Return false if df_live is null.
 | 
      
         | 371 |  |  |  
 | 
      
         | 372 |  |  | 2007-05-09  Kaz Kojima  
 | 
      
         | 373 |  |  |  
 | 
      
         | 374 |  |  |         * config/sh/sh.c (r0_life_regions): New variable.
 | 
      
         | 375 |  |  |         (find_r0_life_regions): New static function.
 | 
      
         | 376 |  |  |         (sh_md_init_global): Call find_r0_life_regions when
 | 
      
         | 377 |  |  |         reload_completed isn't set.
 | 
      
         | 378 |  |  |         (R0_MAX_LIVE_LENGTH): Remove.
 | 
      
         | 379 |  |  |         (high__pressure): Return 1 if r0_life_regions is over
 | 
      
         | 380 |  |  |         the given threshold.
 | 
      
         | 381 |  |  |  
 | 
      
         | 382 |  |  | 2007-05-08  Kenneth Zadeck 
 | 
      
         | 383 |  |  |  
 | 
      
         | 384 |  |  |         * regrename.c (regrename_optimize): Renamed df_ri_add_problem to
 | 
      
         | 385 |  |  |         df_note_add_problem.
 | 
      
         | 386 |  |  |         * auto-inc-dec.c (rest_of_handle_auto_inc_dec): Ditto.
 | 
      
         | 387 |  |  |         * sched_ebb.c (schedule_ebbs): Renamed df_ri_add_problem to
 | 
      
         | 388 |  |  |         df_note_add_problem.  Added call to regstat_compute_calls_crossed
 | 
      
         | 389 |  |  |         and regstat_free_calls_crossed and deleted call to
 | 
      
         | 390 |  |  |         allocate_reg_life_data.
 | 
      
         | 391 |  |  |         * regstat.c (regstat_init_n_sets_and_refs,
 | 
      
         | 392 |  |  |         regstat_free_n_sets_and_refs, regstat_bb_compute_ri,
 | 
      
         | 393 |  |  |         regstat_compute_ri, regstat_free_ri,
 | 
      
         | 394 |  |  |         regstat_bb_compute_calls_crossed, regstat_compute_calls_crossed,
 | 
      
         | 395 |  |  |         regstat_free_calls_crossed): New functions.
 | 
      
         | 396 |  |  |         * final.c (rest_of_handle_final): Removed call to free_reg_info.
 | 
      
         | 397 |  |  |         * cfg.c (dump_reg_info): Many changes to accomodate new
 | 
      
         | 398 |  |  |         implementation of REG_BASIC_BLOCK, REG_N_SETS, REG_N_DEATHS,
 | 
      
         | 399 |  |  |         REG_N_CALLS_CROSSED.
 | 
      
         | 400 |  |  |         * toplev.c (finalize): Removed call to free_reg_info.
 | 
      
         | 401 |  |  |         * regs.h (REG_BASIC_BLOCK, REG_N_SETS, REG_N_REFS, REG_N_DEATHS,
 | 
      
         | 402 |  |  |         REG_N_CALLS_CROSSED, REG_FREQ, REG_N_THROWING_CALLS_CROSSED,
 | 
      
         | 403 |  |  |         REG_LIVE_LENGTH, REG_BASIC_BLOCK): Changed implementation.
 | 
      
         | 404 |  |  |         (allocate_reg_life_data, allocate_reg_info, clear_reg_info_regno):
 | 
      
         | 405 |  |  |         Removed.
 | 
      
         | 406 |  |  |         * mode-switching.c (optimize_mode_switching): Removed call to
 | 
      
         | 407 |  |  |         df_ri_add_problem.
 | 
      
         | 408 |  |  |         * modulo-sched.c (sms_schedule): Renamed df_ri_add_problem to
 | 
      
         | 409 |  |  |         df_note_add_problem.  Added call to regstat_compute_calls_crossed
 | 
      
         | 410 |  |  |         and regstat_free_calls_crossed
 | 
      
         | 411 |  |  |         (rest_of_handle_sms): Deleted call to allocate_reg_info.
 | 
      
         | 412 |  |  |         * global.c (compute_regsets): Moved all dataflow to local_alloc.
 | 
      
         | 413 |  |  |         (rest_of_handle_global_alloc): Call regstat_free_n_sets_and_refs
 | 
      
         | 414 |  |  |         and regstat_free_ri.
 | 
      
         | 415 |  |  |         * ifcvt.c (dead_or_predicable, if_convert): Removed calls to
 | 
      
         | 416 |  |  |         allocate_reg_info.
 | 
      
         | 417 |  |  |         * timevar.def (TV_DF_NOTE): New timevar.
 | 
      
         | 418 |  |  |         * regmove.c (copy_src_to_dest, regmove_optimize, fixup_match_1):
 | 
      
         | 419 |  |  |         Changed calls to REG_N_SETS that changed the value to
 | 
      
         | 420 |  |  |         INC_REG_N_SETS.
 | 
      
         | 421 |  |  |         (regmove_optimize): Moved calls that compute df and register info
 | 
      
         | 422 |  |  |         to after early out for flag_non_call_exceptions.  Added calls to
 | 
      
         | 423 |  |  |         regstat_init_n_sets_and_refs, regstat_compute_ri,
 | 
      
         | 424 |  |  |         regstat_free_n_sets_and_refs and regstat_free_ri.
 | 
      
         | 425 |  |  |         * local_alloc (local_alloc, equiv_init_movable_p): Added
 | 
      
         | 426 |  |  |         NUM_FIXED_BLOCKS to tests for REG_BASIC_BLOCK.
 | 
      
         | 427 |  |  |         (update_equiv_regs): Added code to update bitvectors when certain
 | 
      
         | 428 |  |  |         local allocations are done.  Changed REG_N_SETS to
 | 
      
         | 429 |  |  |         DF_REG_DEF_COUNT.  Added NUM_FIXED_BLOCKS to tests for
 | 
      
         | 430 |  |  |         REG_BASIC_BLOCK.
 | 
      
         | 431 |  |  |         (rest_of_handle_local_alloc): Moved computation of UREC from
 | 
      
         | 432 |  |  |         global to here.
 | 
      
         | 433 |  |  |         * function.c (regno_clobbered_at_setjmp): Added to test to see if
 | 
      
         | 434 |  |  |         regno was valid.  Moved function size test higher in call
 | 
      
         | 435 |  |  |         heirarchy.
 | 
      
         | 436 |  |  |         (setjmp_args_warning): Added tests to early out of check if
 | 
      
         | 437 |  |  |         function is small or there are no setjmps.
 | 
      
         | 438 |  |  |         * df.h (DF_RI, df_ri, DF_RI_LIFE, DF_RI_SETJMP, df_ri_add_problem,
 | 
      
         | 439 |  |  |         df_ri_get_setjmp_crosses): Deleted.
 | 
      
         | 440 |  |  |         (DF_NOTE, df_note, df_note_add_problem): Added.
 | 
      
         | 441 |  |  |         * gcse (gcse_main): Removed computation of RI information and
 | 
      
         | 442 |  |  |         removed calls to allocate_reg_info.
 | 
      
         | 443 |  |  |         * init-regs.c (initialize_uninitialized_regs): Removed call to
 | 
      
         | 444 |  |  |         allocate_reg_life_data.
 | 
      
         | 445 |  |  |         * regclass.c (reg_info_data, reg_info_head, reg_pref_buffer,
 | 
      
         | 446 |  |  |         allocate_reg_life_data, allocate_reg_info, clear_reg_info_regno):
 | 
      
         | 447 |  |  |         Deleted.
 | 
      
         | 448 |  |  |         (scan_one_insn): Changed some calls to REG_N_SETS and REG_N_REFS
 | 
      
         | 449 |  |  |         to INC_REG_N_SETS and INC_REG_N_REFS.
 | 
      
         | 450 |  |  |         (regclass): Allocate register information locally.
 | 
      
         | 451 |  |  |         (free_reg_info): Changed the structures freed.
 | 
      
         | 452 |  |  |         (reg_scan): Removed call to allocate_reg_info and changed call to
 | 
      
         | 453 |  |  |         REG_N_SETS to DF_REG_DEF_COUNT.
 | 
      
         | 454 |  |  |         * combine (try_combine, remove_death, distribute_notes): Removed
 | 
      
         | 455 |  |  |         computation of REG_N_DEATHS.  Changed some references to
 | 
      
         | 456 |  |  |         REG_N_SETS to INC_REG_N_SETS.
 | 
      
         | 457 |  |  |         (rest_of_handle_combine): Replaced call to df_ri_add_problem with
 | 
      
         | 458 |  |  |         call to df_note_add_problem, and added call to
 | 
      
         | 459 |  |  |         regstat_init_n_sets_and_refs and regstat_free_n_sets_and_refs.
 | 
      
         | 460 |  |  |         * bb-reorder (rest_of_handle_partition_blocks): Removed call to
 | 
      
         | 461 |  |  |         allocate_reg_life_data.
 | 
      
         | 462 |  |  |         * df-problems.c (reg_n_info, df_ri_problem_p, df_ri_problem_data,
 | 
      
         | 463 |  |  |         df_ri_alloc, df_ri_start_dump, df_ri_get_setjmp_crosses): Removed.
 | 
      
         | 464 |  |  |         (print_note): Renamed df_print_note.
 | 
      
         | 465 |  |  |         (df_kill_notes): Added parameters to save notes rather than just
 | 
      
         | 466 |  |  |         let them die and remake them.
 | 
      
         | 467 |  |  |         (df_set_note): New function.
 | 
      
         | 468 |  |  |         (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
 | 
      
         | 469 |  |  |         df_create_unused_note, df_ri_bb_compute, df_ri_compute,
 | 
      
         | 470 |  |  |         df_ri_free): Removed ri information computations.
 | 
      
         | 471 |  |  |         (df_ri_bb_compute): Renamed to df_note_bb_compute.
 | 
      
         | 472 |  |  |         (df_ri_compute): Renamed to df_note_compute.
 | 
      
         | 473 |  |  |         (df_ri_free): Renamed to df_note_free.
 | 
      
         | 474 |  |  |         (problem_RI): Renamed to problem_NOTE
 | 
      
         | 475 |  |  |         (df_ri_add_problem): Renamed to df_note_add_problem.
 | 
      
         | 476 |  |  |         * (reg-stack.c): Changed call to df_ri_add_problem to
 | 
      
         | 477 |  |  |         df_note_add_problem.
 | 
      
         | 478 |  |  |         * combine-stack-adj.c (rest_of_handle_stack_adjustments): Ditto.
 | 
      
         | 479 |  |  |         * (Makefile.in): Added regstat.o.
 | 
      
         | 480 |  |  |         * sched-rgn.c (schedule_insns): Changed call to df_ri_add_problem to
 | 
      
         | 481 |  |  |         df_note_add_problem.  Added calls to regstat_compute_calls_crossed
 | 
      
         | 482 |  |  |         and regstat_free_calls_crossed.
 | 
      
         | 483 |  |  |         * basic_block.h (REG_BLOCK_UNKNOWN, REG_BLOCK_GLOBAL,
 | 
      
         | 484 |  |  |         REG_BASIC_BLOCK): Moved to regs.h.
 | 
      
         | 485 |  |  |         * config/sparc/sparc.c (sparc_check_64): Changed REG_N_SETS to
 | 
      
         | 486 |  |  |         DF_REG_DEF_COUNT.
 | 
      
         | 487 |  |  |         * config/sh/sh.c (flow_dependent_p_1): Ditto.
 | 
      
         | 488 |  |  |         (sh_md_init): Removed useless attempt to measure pressure on R0.
 | 
      
         | 489 |  |  |         * config/m68k/m68k.c (m68k_output_mi_thunk): Removed call to
 | 
      
         | 490 |  |  |         allocate_reg_info.
 | 
      
         | 491 |  |  |         * reload1.c (delete_output_reload): Added NUM_FIXED_BLOCKS to
 | 
      
         | 492 |  |  |         tests for REG_BASIC_BLOCK.
 | 
      
         | 493 |  |  |  
 | 
      
         | 494 |  |  | 2007-05-07  Seongbae Park  
 | 
      
         | 495 |  |  |  
 | 
      
         | 496 |  |  |         * dse.c (add_wild_read): Do not remove read_info_t
 | 
      
         | 497 |  |  |         that has non-zero alias_set.
 | 
      
         | 498 |  |  |         (canon_address): Remove unused parameter for_read and bb_info.
 | 
      
         | 499 |  |  |         Remove the unused code path, and update the dump message.
 | 
      
         | 500 |  |  |         (record_store): Accomodate canon_address signature change.
 | 
      
         | 501 |  |  |         (check_mem_read_rtx): Don't bail out early for wild_read.
 | 
      
         | 502 |  |  |         (check_mem_read_rtx): Accomodate canon_address signature change.
 | 
      
         | 503 |  |  |         (scan_insn): Move call insn handling after note_uses.
 | 
      
         | 504 |  |  |  
 | 
      
         | 505 |  |  | 2007-05-05  Ramana Radhakrishnan 
 | 
      
         | 506 |  |  |             Serge Belyshev  
 | 
      
         | 507 |  |  |             Kenneth Zadeck 
 | 
      
         | 508 |  |  |  
 | 
      
         | 509 |  |  |         * combine.c (recog_for_combine): Keep unused notes from being
 | 
      
         | 510 |  |  |         generated for scratch registers.
 | 
      
         | 511 |  |  |         * config/alpha/alpha.c: Add include for df.h.
 | 
      
         | 512 |  |  |  
 | 
      
         | 513 |  |  |  
 | 
      
         | 514 |  |  | 2007-05-01  Kenneth Zadeck 
 | 
      
         | 515 |  |  |  
 | 
      
         | 516 |  |  |         Do not delete regnotes when recreating them.
 | 
      
         | 517 |  |  |         * df-problems.c (df_kill_notes): Store notes into new parameters
 | 
      
         | 518 |  |  |         rather than killing them.
 | 
      
         | 519 |  |  |         (df_set_note): New function.
 | 
      
         | 520 |  |  |         (df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
 | 
      
         | 521 |  |  |         df_create_unused_note, df_ri_bb_compute): Call df_set_note to
 | 
      
         | 522 |  |  |         create new notes.
 | 
      
         | 523 |  |  |  
 | 
      
         | 524 |  |  | 2007-04-30  Seongbae Park 
 | 
      
         | 525 |  |  |  
 | 
      
         | 526 |  |  |         * df-scan.c (df_reorganize_refs_by_reg_by_insn):
 | 
      
         | 527 |  |  |         Scan artificial defs and uses as well.
 | 
      
         | 528 |  |  |         * passes.c (init_optimization_passes):
 | 
      
         | 529 |  |  |         Move pass_stack_ptr_mod from after pass_inc_dec.
 | 
      
         | 530 |  |  |  
 | 
      
         | 531 |  |  | 2007-04-29  Steven Bosscher 
 | 
      
         | 532 |  |  |  
 | 
      
         | 533 |  |  |         Small cleanups without any semantics changes:
 | 
      
         | 534 |  |  |         * df-scan.c (df_ref_record): Fix small style typo.
 | 
      
         | 535 |  |  |         * df-core.c (df_hybrid_search_forward): Cleanup redundant loads.
 | 
      
         | 536 |  |  |         (df_hybrid_search_backward): Likewise.
 | 
      
         | 537 |  |  |         (df_worklist_dataflow): Check DIR against DF_NONE instead of 0.
 | 
      
         | 538 |  |  |  
 | 
      
         | 539 |  |  |         Small speedups:
 | 
      
         | 540 |  |  |         * haifa-sched.c (move_block_after_check): Mark df solutions dirty
 | 
      
         | 541 |  |  |         here, instead of...
 | 
      
         | 542 |  |  |         (move_succs): ...here.
 | 
      
         | 543 |  |  |         * df-core.c (df_analyze): Only verify POSTORDER_INVERTED if
 | 
      
         | 544 |  |  |         checking is enabled.
 | 
      
         | 545 |  |  |  
 | 
      
         | 546 |  |  |         Fix Java bootstrap on ia64
 | 
      
         | 547 |  |  |         * emit-rtl.c (try_split): Unshare RTL sequences produced by splitters.
 | 
      
         | 548 |  |  |  
 | 
      
         | 549 |  |  | 2007-04-27  Kenneth Zadeck 
 | 
      
         | 550 |  |  |  
 | 
      
         | 551 |  |  |         * timevar.def (TV_DF_UR): Removed.
 | 
      
         | 552 |  |  |         * df-scan.c (df_scan_alloc): Change pool size.
 | 
      
         | 553 |  |  |         * df-core.c (df_finish_pass, rest_of_handle_df_initialize,
 | 
      
         | 554 |  |  |         df_get_bb_dirty, df_verify): Merged df_ur and df_live problems
 | 
      
         | 555 |  |  |         into df_live.
 | 
      
         | 556 |  |  |         * global.c (compute_regsets, rest_of_handle_global_alloc): Ditto.
 | 
      
         | 557 |  |  |         * df.h (DF_UR, DF_UR_BB_INFO, DF_UR_IN, DF_UR_OUT, df_ur,
 | 
      
         | 558 |  |  |         df_ur_get_bb_info): Removed.
 | 
      
         | 559 |  |  |         (df_ur_bb_info): Merged df_ur and df_live problems
 | 
      
         | 560 |  |  |         into df_live.
 | 
      
         | 561 |  |  |         * init-regs.c (initialize_uninitialized_regs): Changed DF_UR_IN to
 | 
      
         | 562 |  |  |         DF_LIVE_IN.
 | 
      
         | 563 |  |  |         * df_problems.c (df_ur_problem_data): Renamed to
 | 
      
         | 564 |  |  |         df_live_problem_data.
 | 
      
         | 565 |  |  |         (df_ur_set_bb_info): Renamed to df_live_set_bb_info.
 | 
      
         | 566 |  |  |         (df_ur_free_bb_info): Renamed to df_live_free_bb_info.
 | 
      
         | 567 |  |  |         (df_ur_alloc): Renamed to df_live_alloc.
 | 
      
         | 568 |  |  |         (df_ur_reset): Renamed to df_live_reset.
 | 
      
         | 569 |  |  |         (df_ur_bb_local_compute): Renamed to df_live_bb_local_compute.
 | 
      
         | 570 |  |  |         (df_ur_local_compute): Renamed to df_live_local_compute.
 | 
      
         | 571 |  |  |         (df_ur_init): Renamed to df_live_init.
 | 
      
         | 572 |  |  |         (df_ur_confluence_n): Renamed to df_live_confluence_n.
 | 
      
         | 573 |  |  |         (df_ur_transfer_function): Renamed to df_live_transfer_function.
 | 
      
         | 574 |  |  |         (df_ur_local_finalize): Removed.
 | 
      
         | 575 |  |  |         (df_ur_free): Renamed to df_live_free.
 | 
      
         | 576 |  |  |         (df_ur_top_dump): Renamed to df_live_top_dump.
 | 
      
         | 577 |  |  |         (df_ur_bottom_dump): Renamed to df_live_bottom_dump.
 | 
      
         | 578 |  |  |         (df_ur_verify_solution_start): Renamed to
 | 
      
         | 579 |  |  |         df_live_verify_solution_start.
 | 
      
         | 580 |  |  |         (df_ur_verify_solution_end): Renamed to
 | 
      
         | 581 |  |  |         df_live_verify_solution_end.
 | 
      
         | 582 |  |  |         (problem_UR): Renamed to problem_LIVE.
 | 
      
         | 583 |  |  |         (df_ur_add_problem): Renamed to df_live_add_problem.
 | 
      
         | 584 |  |  |         (df_ur_verify_transfer_functions): Renamed to
 | 
      
         | 585 |  |  |         df_live_verify_transfer_functions.
 | 
      
         | 586 |  |  |         (df_live_set_bb_info, df_live_free_bb_info, df_live_alloc,
 | 
      
         | 587 |  |  |         df_live_free, df_live_top_dump, df_live_bottom_dump,
 | 
      
         | 588 |  |  |         df_live_add_problem): Deleted.
 | 
      
         | 589 |  |  |         (df_chain_fully_remove_problem): Changed pool alloc block size.
 | 
      
         | 590 |  |  |         * dce.c (dce_marked_bitmap_obstack): Removed.
 | 
      
         | 591 |  |  |         (marked_insn_p, mark_insn, init_dce, end_ud_dce, fini_dce,
 | 
      
         | 592 |  |  |         fast_dce): Changed marked to be sbitmap rather than bitmap.
 | 
      
         | 593 |  |  |         * alloc_pool.c (create_alloc_pool, pool_alloc, pool_free): Split
 | 
      
         | 594 |  |  |         free_list into virgin_free_list and returned_free_list.
 | 
      
         | 595 |  |  |         * alloc_pool.h (free_list): Split into virgin_free_list and
 | 
      
         | 596 |  |  |         returned_free_list.
 | 
      
         | 597 |  |  |         (virgin_elts_remaining): New variable.
 | 
      
         | 598 |  |  |  
 | 
      
         | 599 |  |  | 2007-04-26  Kenneth Zadeck 
 | 
      
         | 600 |  |  |  
 | 
      
         | 601 |  |  |         * df-core.c (df_remove_problem): Allow df_ur and df_live
 | 
      
         | 602 |  |  |         problems to be removed.
 | 
      
         | 603 |  |  |         * global.c (compute_regsets): Remove df_ur and df_live when
 | 
      
         | 604 |  |  |         adding df_urec.
 | 
      
         | 605 |  |  |         (rest_of_handle_global_alloc): Add back df_ur and df_live when
 | 
      
         | 606 |  |  |         removing df_urec.
 | 
      
         | 607 |  |  |         * timevar.def (TV_DF_UD): Renamed to TV_DF_UR.
 | 
      
         | 608 |  |  |         * function.c (thread_prologue_and_epilogue_insns): Removed
 | 
      
         | 609 |  |  |         call to df_analyze.
 | 
      
         | 610 |  |  |         * df-problems.c (problem_UR): Added remove function and renamed TV.
 | 
      
         | 611 |  |  |         (problem_LIVE): Added remove function.
 | 
      
         | 612 |  |  |  
 | 
      
         | 613 |  |  |  
 | 
      
         | 614 |  |  | 2007-04-26  Seongbae Park 
 | 
      
         | 615 |  |  |  
 | 
      
         | 616 |  |  |         * tree-pass.h: Declaration for new pass.
 | 
      
         | 617 |  |  |         * passes.c (init_optimization_passes): New pass.
 | 
      
         | 618 |  |  |         * dce.c (prescan_insns_for_dce): Pass new param "fast" through.
 | 
      
         | 619 |  |  |         (mark_artificial_uses, mark_reg_dependencies): New functions
 | 
      
         | 620 |  |  |         - resurrected from the old svn revision.
 | 
      
         | 621 |  |  |         (end_ud_dce, rest_of_handle_ud_dce, gate_ud_dce): New function.
 | 
      
         | 622 |  |  |         (pass_ud_rtl_dce): New pass.
 | 
      
         | 623 |  |  |         (fast_dce): New parameter for prescan_insns_for_dce.
 | 
      
         | 624 |  |  |  
 | 
      
         | 625 |  |  | 2007-04-24  Seongbae Park 
 | 
      
         | 626 |  |  |  
 | 
      
         | 627 |  |  |         * final.c (leaf_renumber_regs_insn): Use SET_REGNO().
 | 
      
         | 628 |  |  |         * df-scan.c (df_insn_refs_collect): Handle non-local gotos.
 | 
      
         | 629 |  |  |         * sparc.c: New include of df.h.
 | 
      
         | 630 |  |  |         * dce.c (prescan_insns_for_dce): Call mark_libcall for all insns
 | 
      
         | 631 |  |  |         with with REG_LIBCALL_ID.
 | 
      
         | 632 |  |  |  
 | 
      
         | 633 |  |  | 2007-04-23  Steven Bosscher  
 | 
      
         | 634 |  |  |             Kenneth Zadeck 
 | 
      
         | 635 |  |  |  
 | 
      
         | 636 |  |  |         * df-scan.c (problem_SCAN): Add time variable.
 | 
      
         | 637 |  |  |         (df_refs_add_to_chains): Delete the refs vectors before
 | 
      
         | 638 |  |  |         allocating new ones.
 | 
      
         | 639 |  |  |         * df-core.c (df_analyze_problem): Push and pop problem specific
 | 
      
         | 640 |  |  |         time vectors.
 | 
      
         | 641 |  |  |         * timevar.def (TV_DF_SCAN, TV_DF_RU, TV_DF_RD, TV_DF_LR, TV_DF_UD,
 | 
      
         | 642 |  |  |         TV_DF_LIVE, TV_DF_UREC, TV_DF_CHAIN, TV_DF_RI): New problem
 | 
      
         | 643 |  |  |         specific time vars.
 | 
      
         | 644 |  |  |         * dse.c (positions_needed): Changed to be bitmask from sbitmap.
 | 
      
         | 645 |  |  |         (store_info.rhs): New field.
 | 
      
         | 646 |  |  |         (free_store_info, step6): Changed positions_needed to be bitmask
 | 
      
         | 647 |  |  |         from sbitmap.
 | 
      
         | 648 |  |  |         (read_info.begin, read_info.end): Changed to be int.
 | 
      
         | 649 |  |  |         (deferred_change): New struct.
 | 
      
         | 650 |  |  |         (deferred_change_pool): New variable.
 | 
      
         | 651 |  |  |         (step0): Initialize deferred_change_pool.
 | 
      
         | 652 |  |  |         (canon_address): Added parameter to cselib_expand_value_rtx and
 | 
      
         | 653 |  |  |         improved debugging.
 | 
      
         | 654 |  |  |         (clear_rhs_from_active_local_stores, replace_read): New function.
 | 
      
         | 655 |  |  |         (record_store, check_mem_read_rtx): Added code to invalidate
 | 
      
         | 656 |  |  |         store_info.rhs.  Changed positions_needed to be bitmask from
 | 
      
         | 657 |  |  |         sbitmap.
 | 
      
         | 658 |  |  |         (step1): Added code to process deferred_change_list.
 | 
      
         | 659 |  |  |         (rest_of_handle_dse): Added deferred rescanning.
 | 
      
         | 660 |  |  |         * df.h (df_problem.tv_id): New timevar for each problem.
 | 
      
         | 661 |  |  |         * cselib.c (expand_loc, cselib_expand_value_rtx): Added code to
 | 
      
         | 662 |  |  |         limit the amount of recursion allowed when expanding addresses.
 | 
      
         | 663 |  |  |         * cselib.h (cselib_expand_value_rtx): Added max recursion
 | 
      
         | 664 |  |  |         parameter.
 | 
      
         | 665 |  |  |         * rtl.h (rhs_regno): Renamed tree to x.
 | 
      
         | 666 |  |  |         * df-problems.c (df_problem problem_RU, df_problem problem_RD,
 | 
      
         | 667 |  |  |         problem_LR, problem_UR, problem_LIVE, problem_UREC, problem_CHAIN,
 | 
      
         | 668 |  |  |         problem_RI) Added timevar.
 | 
      
         | 669 |  |  |         (df_live_local_finalize): Only update solution if dirty.
 | 
      
         | 670 |  |  |         * Makefile.in (dse.o): Added dependencies.
 | 
      
         | 671 |  |  |  
 | 
      
         | 672 |  |  | 2007-04-23  Ian Lance Taylor  
 | 
      
         | 673 |  |  |  
 | 
      
         | 674 |  |  |         * lower-subreg.c (resolve_reg_notes): Discard REG_DEAD and
 | 
      
         | 675 |  |  |         REG_UNUSED notes for split registers.
 | 
      
         | 676 |  |  |         (decompose_multiword_subregs): Remove life_blocks.
 | 
      
         | 677 |  |  |  
 | 
      
         | 678 |  |  | 2007-04-22  Steven Bosscher  
 | 
      
         | 679 |  |  |  
 | 
      
         | 680 |  |  |         * df.h (df_bitmap_obstack): Declare.
 | 
      
         | 681 |  |  |  
 | 
      
         | 682 |  |  |         * df-scan.c (df_scan_problem_data): Add new bitmap obstacks for
 | 
      
         | 683 |  |  |         regsets and insns/notes to be rescanned.
 | 
      
         | 684 |  |  |         (df_scan_free_internal): Free the new bitmap obstacks.
 | 
      
         | 685 |  |  |         (df_scan_alloc): Initialize the new bitmap obstacks, and use them.
 | 
      
         | 686 |  |  |         (df_scan_free): Set df->blocks_to_analyze to NULL after freeing it.
 | 
      
         | 687 |  |  |         (df_insn_rescan_all): Put temporary bitmaps on df_bitmap_obstack.
 | 
      
         | 688 |  |  |         (df_process_deferred_rescans): Likewise.
 | 
      
         | 689 |  |  |         (df_get_call_refs): Likewise.
 | 
      
         | 690 |  |  |         (df_update_entry_block_defs): Likewise.  Put entry_block_defs on
 | 
      
         | 691 |  |  |         the regsets bitmap obstack.
 | 
      
         | 692 |  |  |         (df_record_exit_block_uses): Changed like df_record_exit_block_uses.
 | 
      
         | 693 |  |  |         (df_entry_block_bitmap_verify): Put temporary bitmaps on df_bitmap_obstack.
 | 
      
         | 694 |  |  |         (df_exit_block_bitmap_verify): Likewise.
 | 
      
         | 695 |  |  |         (df_scan_verify): Likewise.
 | 
      
         | 696 |  |  |  
 | 
      
         | 697 |  |  |         * df-core.c (df_bitmap_obstack): Declare.
 | 
      
         | 698 |  |  |         (rest_of_handle_df_initialize): Initialize it.
 | 
      
         | 699 |  |  |         (rest_of_handle_df_finish): Release it.
 | 
      
         | 700 |  |  |         (df_set_blocks, df_worklist_dataflow, df_analyze,
 | 
      
         | 701 |  |  |         df_compact_blocks): Use it.
 | 
      
         | 702 |  |  |  
 | 
      
         | 703 |  |  |         * df-problems.c (df_set_seen): Use df_bitmap_obstack for seen_in_block
 | 
      
         | 704 |  |  |         and seen_in_insn.
 | 
      
         | 705 |  |  |         (df_ri_compute): Likewise for bitmaps allocated for the RI problem.
 | 
      
         | 706 |  |  |  
 | 
      
         | 707 |  |  |         For the RU and RD problems, introduce per-problem bitmap obstacks:
 | 
      
         | 708 |  |  |         (df_r[ud]_problem_data): Add a per-problem bitmap
 | 
      
         | 709 |  |  |         obstack.
 | 
      
         | 710 |  |  |         (df_r[ud]_alloc): Initialize and use them per df problem.
 | 
      
         | 711 |  |  |         (df_r[ud]_confluence_n, df_r[ud]_transfer_function): Use them.
 | 
      
         | 712 |  |  |         (df_r[ud]_free): Release them.
 | 
      
         | 713 |  |  |  
 | 
      
         | 714 |  |  |         * dce.c (dce_marked_bitmap_obstack, dce_blocks_bitmap_obstack,
 | 
      
         | 715 |  |  |         dce_tmp_bitmap_obstack): New bitmap obstacks.
 | 
      
         | 716 |  |  |         (init_dce): Initialize them.  Use dce_marked_bitmap_obstack for
 | 
      
         | 717 |  |  |         the bitmap of marked insns.
 | 
      
         | 718 |  |  |         (end_fast_dce): Renamed to...
 | 
      
         | 719 |  |  |         (fini_dce): ...this.  Release the new bitmap obstacks.
 | 
      
         | 720 |  |  |         (dce_process_block): Allocate local_live on dce_tmp_bitmap_obstack.
 | 
      
         | 721 |  |  |         (fast_dce): Allocate basic block bitmaps on dce_blocks_bitmap_obstack.
 | 
      
         | 722 |  |  |         (rest_of_handle_fast_dce): Call fini_dce, and clear df_in_progress.
 | 
      
         | 723 |  |  |         (run_fast_df_dce): Likewise.
 | 
      
         | 724 |  |  |  
 | 
      
         | 725 |  |  | 2007-04-21  Andrew Pinski  
 | 
      
         | 726 |  |  |  
 | 
      
         | 727 |  |  |         * config/spu/spu.c (fsmbi_const_p): Replace flow2_completed with
 | 
      
         | 728 |  |  |         epilogue_completed.
 | 
      
         | 729 |  |  |  
 | 
      
         | 730 |  |  | 2007-04-16  Steven Bosscher  
 | 
      
         | 731 |  |  |  
 | 
      
         | 732 |  |  |         * fwprop.c (forward_propagate_into): If multiple sets
 | 
      
         | 733 |  |  |         return.
 | 
      
         | 734 |  |  |  
 | 
      
         | 735 |  |  | 2007-04-16  Kenneth Zadeck 
 | 
      
         | 736 |  |  |  
 | 
      
         | 737 |  |  |         * df-scan.c (df_ref_create, df_reg_chain_unlink,
 | 
      
         | 738 |  |  |         df_install_refs): Use df->analyze_subset.
 | 
      
         | 739 |  |  |         (df_reorganize_refs_by_reg_by_reg, df_reorganize_refs_by_reg_by_insn):
 | 
      
         | 740 |  |  |         New functions.
 | 
      
         | 741 |  |  |         (df_reorganize_refs_by_reg): Split into
 | 
      
         | 742 |  |  |         df_reorganize_refs_by_reg_by_reg,
 | 
      
         | 743 |  |  |         df_reorganize_refs_by_reg_by_insn.
 | 
      
         | 744 |  |  |         (df_add_refs_to_table): Do not add hardware_regs if not asked for.
 | 
      
         | 745 |  |  |         (df_reorganize_refs_by_insn): Move call to count_refs.
 | 
      
         | 746 |  |  |         (df_maybe_reorganize_def_refs, df_maybe_reorganize_use_refs):
 | 
      
         | 747 |  |  |         Remove code to modify df->total_size.
 | 
      
         | 748 |  |  |         * df-core.c (df_set_blocks): Set df->analyze_subset.
 | 
      
         | 749 |  |  |         (df_finish_pass): Clear df->analyze->subset.
 | 
      
         | 750 |  |  |         (df_analyze): Use df->analyze_subset.
 | 
      
         | 751 |  |  |         (df_dump_start): Remove total_size from dump.
 | 
      
         | 752 |  |  |         * df.h (DF_RI_NO_UPDATE, DF_DEFS_TOTAL_SIZE, DF_USES_TOTAL_SIZE):
 | 
      
         | 753 |  |  |         Removed.
 | 
      
         | 754 |  |  |         (df.analyze_subset): New field.  * df-problems.c (df_ri_alloc,
 | 
      
         | 755 |  |  |         df_ri_compute): Removed DF_RI_NO_UPDATE.
 | 
      
         | 756 |  |  |  
 | 
      
         | 757 |  |  |  
 | 
      
         | 758 |  |  | 2007-04-12  Steven Bosscher  
 | 
      
         | 759 |  |  |             Kenneth Zadeck 
 | 
      
         | 760 |  |  |  
 | 
      
         | 761 |  |  |         * cse.c (cse_insn): Do not emit barriers.
 | 
      
         | 762 |  |  |         * dse.c (store_info.address): Renamed to mem_addr.
 | 
      
         | 763 |  |  |         (canon_address): Removed address_out parameter.
 | 
      
         | 764 |  |  |         (record_store): Removed address var and compute mem and
 | 
      
         | 765 |  |  |         mem_address differently.
 | 
      
         | 766 |  |  |         (check_mem_read_rtx): Removed address and changed parameters to
 | 
      
         | 767 |  |  |         canon_true_dependence.
 | 
      
         | 768 |  |  |         * cselib.c (cselib_expand_value_rtx): Do not translate
 | 
      
         | 769 |  |  |         FRAME_POINTER_REGNUM and HARD_FRAME_POINTER_REGNUM.
 | 
      
         | 770 |  |  |  
 | 
      
         | 771 |  |  | 2007-04-11  Steven Bosscher  
 | 
      
         | 772 |  |  |  
 | 
      
         | 773 |  |  |         * gcse.c (hash_scan_set): Make sure that INSN has only one
 | 
      
         | 774 |  |  |         SET in its PATTERN before making SRC anticipatable.
 | 
      
         | 775 |  |  |         * cfglayout.c (fixup_reorder_chain): Fix merge error, don't
 | 
      
         | 776 |  |  |         call compact_blocks here.
 | 
      
         | 777 |  |  |  
 | 
      
         | 778 |  |  | 2007-04-09  Kenneth Zadeck 
 | 
      
         | 779 |  |  |  
 | 
      
         | 780 |  |  |         * df-core.c (add_problem): Keep the problem sorted in
 | 
      
         | 781 |  |  |         problems_in_order.
 | 
      
         | 782 |  |  |         * global.c (compute_regsets): Recompute register information.
 | 
      
         | 783 |  |  |  
 | 
      
         | 784 |  |  | 2007-04-08  Kenneth Zadeck 
 | 
      
         | 785 |  |  |  
 | 
      
         | 786 |  |  |         * optabs.h (maybe_encapsulate_block): Made public.
 | 
      
         | 787 |  |  |         * optabs.c (maybe_encapsulate_block): Ditto.
 | 
      
         | 788 |  |  |         (emit_no_conflict_block, emit_libcall_block): Remove
 | 
      
         | 789 |  |  |         REG_LIBCALL_ID when deleteing REG_RETVAL and REG_LIBCALL
 | 
      
         | 790 |  |  |         notes.
 | 
      
         | 791 |  |  |         * reload1.c (reload): Ditto.
 | 
      
         | 792 |  |  |         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address):
 | 
      
         | 793 |  |  |         Use maybe_encapsulate_block to add libcall notes.
 | 
      
         | 794 |  |  |  
 | 
      
         | 795 |  |  | 2007-04-07  Kenneth Zadeck 
 | 
      
         | 796 |  |  |  
 | 
      
         | 797 |  |  |         * dse.c (clear_alias_set_lookup): New function.
 | 
      
         | 798 |  |  |         (store_info.is_set): New field.
 | 
      
         | 799 |  |  |         (replace_inc_dec, delete_dead_store_insn): Added more ifdefs so
 | 
      
         | 800 |  |  |         dse could be tested on mainline.
 | 
      
         | 801 |  |  |         (canon_address): Moved lookup of alias_set info to subroutine and
 | 
      
         | 802 |  |  |         added better logging.  Added code to detect if address contains an
 | 
      
         | 803 |  |  |         AND and if so, escape.
 | 
      
         | 804 |  |  |         (record_store, check_mem_read_rtx): White space cleanup. Added
 | 
      
         | 805 |  |  |         code to skip store_info's for clobbers when comparing with
 | 
      
         | 806 |  |  |         previous insn stores.  We also mark store_info's as to whether
 | 
      
         | 807 |  |  |         they are set or clobber based.
 | 
      
         | 808 |  |  |         (scan_insn): Only add insn to active_stores_list if it has exactly
 | 
      
         | 809 |  |  |         one store.
 | 
      
         | 810 |  |  |         (step1): Add code to remove a store to the frame that goes dead at
 | 
      
         | 811 |  |  |         the end of a function if there is a non overlaping block mode read
 | 
      
         | 812 |  |  |         from the stack.  The global algorithm cannot do this because it
 | 
      
         | 813 |  |  |         takes a more conservative view of block mode reads.
 | 
      
         | 814 |  |  |         (dse_confluence_0, dse_confluence_n, dse_transfer_function,
 | 
      
         | 815 |  |  |         step5_spill, pass_rtl_dse2): Add ifdefs so this can be tested on
 | 
      
         | 816 |  |  |         mainline.
 | 
      
         | 817 |  |  |         (step5_nospill): Ignore clobbers and only look at the set to
 | 
      
         | 818 |  |  |         decide if an insn can be deleted.
 | 
      
         | 819 |  |  |         * init_regs.c: Whitespace.
 | 
      
         | 820 |  |  |         * cselib.c (cselib_expand_value_rtx): Fixed comment and changed to
 | 
      
         | 821 |  |  |         use proper macro.
 | 
      
         | 822 |  |  |  
 | 
      
         | 823 |  |  | 2007-04-06  Paolo Bonzini  
 | 
      
         | 824 |  |  |  
 | 
      
         | 825 |  |  |         * bitmap.c (bitmap_set_range): New.
 | 
      
         | 826 |  |  |         (bitmap_clear_range): Small optimization.
 | 
      
         | 827 |  |  |         * bitmap.h (bitmap_set_range): New.
 | 
      
         | 828 |  |  |         * df-problems.c (df_ref_bitmap): Remove.
 | 
      
         | 829 |  |  |         (struct df_rd_problem_data, df_ru_problem_data): Remove related
 | 
      
         | 830 |  |  |         data structures.
 | 
      
         | 831 |  |  |         (df_ru_alloc, df_rd_alloc): Don't allocate them.
 | 
      
         | 832 |  |  |         (df_ru_free, df_rd_free): Don't free them.
 | 
      
         | 833 |  |  |         (df_ru_bb_local_compute_process_def, df_ru_local_compute,
 | 
      
         | 834 |  |  |         df_rd_bb_local_compute_process_def, df_rd_local_compute):
 | 
      
         | 835 |  |  |         Use bitmap_set_range and bitmap_clear_range instead of df_ref_bitmap.
 | 
      
         | 836 |  |  |  
 | 
      
         | 837 |  |  | 2007-04-05  Kenneth Zadeck 
 | 
      
         | 838 |  |  |  
 | 
      
         | 839 |  |  |         * sbitmap.c (sbitmap_empty_p): New function.
 | 
      
         | 840 |  |  |         * sbitmap.h (sbitmap_empty_p): New function.
 | 
      
         | 841 |  |  |         * dbgcnt.def (dse): New counter and sorted the others.
 | 
      
         | 842 |  |  |         * df-core.c (df_worklist_dataflow): Made init_fun optional.
 | 
      
         | 843 |  |  |         * cse.c (cse_main): Do dce at start of pass.
 | 
      
         | 844 |  |  |         * timevar.def (TV_DSE3): Deleted.
 | 
      
         | 845 |  |  |         * dse.c: New pass.
 | 
      
         | 846 |  |  |         * dse.h: New file for dse pass.
 | 
      
         | 847 |  |  |         * gcse.c (gcse_main): Set up the register info.
 | 
      
         | 848 |  |  |         * alias.c (clear_reg_alias_info): Removed dead function.
 | 
      
         | 849 |  |  |         * rtl.h (clear_reg_alias_info): Removed dead function.
 | 
      
         | 850 |  |  |         * cselib.c (cselib_discard_hook): Added cselib val parameter.
 | 
      
         | 851 |  |  |         (discard_useless_values): Added hook call here.
 | 
      
         | 852 |  |  |         (remove_useless_values): Removed hook call from here.
 | 
      
         | 853 |  |  |         (expand_loc, cselib_expand_value_rtx): New function.
 | 
      
         | 854 |  |  |         (cselib_finish): Clear hook.
 | 
      
         | 855 |  |  |         * cselib.h (cselib_discard_hook): Added cselib val parameter.
 | 
      
         | 856 |  |  |         (expand_loc, cselib_expand_value_rtx): New function.
 | 
      
         | 857 |  |  |         * common.opt (flag_flow_dce, new-dce): Removed flag.
 | 
      
         | 858 |  |  |         (flag_dce, flag_dse): New flags.
 | 
      
         | 859 |  |  |         * Makefile.in (dse.o): New pass.
 | 
      
         | 860 |  |  |         * passes.c (init_iptimization_passes): Removed dse after combine.
 | 
      
         | 861 |  |  |         Renamed dse3 to dse2.
 | 
      
         | 862 |  |  |         * dce.c (delete_unmarked_insns): Renamed new_dce to dce.
 | 
      
         | 863 |  |  |         (end_dce, mark_artificial_uses, mark_reg_dependencies,
 | 
      
         | 864 |  |  |         invariant_store_base_eq, invariant_store_base_hash, value_store_base_eq,
 | 
      
         | 865 |  |  |         value_store_base_hash, store_base_del, rs_init, rs_confluence,
 | 
      
         | 866 |  |  |         rs_transfer_function, init_invariant_store_group,
 | 
      
         | 867 |  |  |         init_value_store_group, empty_store_group, end_store_group,
 | 
      
         | 868 |  |  |         init_rs_dflow, end_rs_dflow, init_unmarked_stores,
 | 
      
         | 869 |  |  |         end_unmarked_stores, init_dse, end_dse, dump_stores,
 | 
      
         | 870 |  |  |         split_address, add_store_offset, record_store, record_stores,
 | 
      
         | 871 |  |  |         store_offset_compare, store_base_local,
 | 
      
         | 872 |  |  |         invariant_store_base_local, value_store_base_local,
 | 
      
         | 873 |  |  |         value_store_base_useless, remove_useless_values,
 | 
      
         | 874 |  |  |         store_base_global, finish_max_in_luid,
 | 
      
         | 875 |  |  |         calculate_reaching_stores, frame_stores_escape_p,
 | 
      
         | 876 |  |  |         store_base_prune_needed, mark_escaping_stores,
 | 
      
         | 877 |  |  |         insn_might_read_mem_rtx, insn_might_read_mem_use,
 | 
      
         | 878 |  |  |         insn_might_read_mem_p, mark_dependent_stores,
 | 
      
         | 879 |  |  |         prescan_insns_for_dse, rest_of_handle_dse, gate_dse): Deleted functions
 | 
      
         | 880 |  |  |         as part of new dse pass in separate file.
 | 
      
         | 881 |  |  |         * reload1.c (alter_reg): Added calls to register spill slots
 | 
      
         | 882 |  |  |         with dse.
 | 
      
         | 883 |  |  |  
 | 
      
         | 884 |  |  | 2007-04-05  Peter Bergner  
 | 
      
         | 885 |  |  |  
 | 
      
         | 886 |  |  |         * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
 | 
      
         | 887 |  |  |         PRE_MODIFY for TDmode.
 | 
      
         | 888 |  |  |  
 | 
      
         | 889 |  |  | 2007-04-04  Kenneth Zadeck 
 | 
      
         | 890 |  |  |  
 | 
      
         | 891 |  |  |         * cfg.c (dump_reg_info): Added check to lower max if new regs
 | 
      
         | 892 |  |  |         were added.
 | 
      
         | 893 |  |  |         * init-regs.c (initialize_uninitialized_regs): Changed code to
 | 
      
         | 894 |  |  |         insert move right before uninitized insn.
 | 
      
         | 895 |  |  |  
 | 
      
         | 896 |  |  | 2007-04-03  Paolo Bonzini  
 | 
      
         | 897 |  |  |  
 | 
      
         | 898 |  |  |         * df-problems.c (df_chain_create_bb): Plug leak.
 | 
      
         | 899 |  |  |  
 | 
      
         | 900 |  |  |         * df-problems.c (df_chain_alloc): Fix typo.
 | 
      
         | 901 |  |  |  
 | 
      
         | 902 |  |  | 2007-04-03  Paolo Bonzini  
 | 
      
         | 903 |  |  |  
 | 
      
         | 904 |  |  |         * dce.c (dce_process_block): Copy into DF_LR_IN.
 | 
      
         | 905 |  |  |         * df-problems.c (df_lr_free_bb_info): Support bb_info->in
 | 
      
         | 906 |  |  |         being the same bitmap as bb_info->top.
 | 
      
         | 907 |  |  |         (df_lr_alloc): The adef and ause fields must be either
 | 
      
         | 908 |  |  |         both NULL or both non-NULL.  Initialize bb_info->top
 | 
      
         | 909 |  |  |         to bb_info->in.
 | 
      
         | 910 |  |  |         (df_lr_bb_local_compute): Allocate adef, ause, top together.
 | 
      
         | 911 |  |  |         (df_lr_transfer_function): Simplify according to above
 | 
      
         | 912 |  |  |         assumptions.
 | 
      
         | 913 |  |  |         (df_lr_free): Zero out bb_info->top instead of freeing it
 | 
      
         | 914 |  |  |         if it is the same as bb_info->in.
 | 
      
         | 915 |  |  |  
 | 
      
         | 916 |  |  | 2007-04-01  Kenneth Zadeck 
 | 
      
         | 917 |  |  |  
 | 
      
         | 918 |  |  |         * config/ia64/ia64.c (emit_predicate_relation_info): Changed
 | 
      
         | 919 |  |  |         DF_LIVE_IN to df_get_live_in.
 | 
      
         | 920 |  |  |  
 | 
      
         | 921 |  |  | 2007-03-29  Paolo Bonzini  
 | 
      
         | 922 |  |  |  
 | 
      
         | 923 |  |  |         * bitmap.c (bitmap_elt_copy, bitmap_elt_ior): New.
 | 
      
         | 924 |  |  |         (bitmap_ior, bitmap_ior_into): Use them.
 | 
      
         | 925 |  |  |         (bitmap_and_compl): Use them, return whether DST changed.
 | 
      
         | 926 |  |  |         (bitmap_ior_and_compl): Rewrite.
 | 
      
         | 927 |  |  |         * bitmap.h (bitmap_and_compl): Return a bool.
 | 
      
         | 928 |  |  |  
 | 
      
         | 929 |  |  |         * Makefile.in (alias.o): Fix dependencies.
 | 
      
         | 930 |  |  |         * alias.c (find_base_value, init_alias_analysis): Use
 | 
      
         | 931 |  |  |         DF_REG_DEF_COUNT.  Include df.h.
 | 
      
         | 932 |  |  |         * cfg.c (dump_reg_info): Don't fail if reg_info not initialized.
 | 
      
         | 933 |  |  |         * cse.c (cse_main): Assume dataflow initialized.  Call reg_scan.
 | 
      
         | 934 |  |  |         * gcse.c (gcse_main): Call df_analyze, remove call to reg_scan.
 | 
      
         | 935 |  |  |         * local-alloc.c (rest_of_handle_local_alloc): Call allocate_reg_info
 | 
      
         | 936 |  |  |         earlier.
 | 
      
         | 937 |  |  |         * passes.c (init_optimization_passes): Initialize dataflow before CSE.
 | 
      
         | 938 |  |  |  
 | 
      
         | 939 |  |  |         * global.c (n_reg_sets): Remove.
 | 
      
         | 940 |  |  |         (reg_sets): Change to a VEC.
 | 
      
         | 941 |  |  |         (mark_reg_store): Push onto reg_sets.
 | 
      
         | 942 |  |  |         (global_conflicts): Assert reg_sets is empty, pop values out of it.
 | 
      
         | 943 |  |  |         Don't allocate it nor free it here.
 | 
      
         | 944 |  |  |         (global_alloc): Allocate reg_sets if necessary.
 | 
      
         | 945 |  |  |  
 | 
      
         | 946 |  |  |         * see.c (rest_of_handle_see): Don't call reg_scan.
 | 
      
         | 947 |  |  |         * tracer.c (rest_of_handle_tracer): Likewise.
 | 
      
         | 948 |  |  |         * cfgcleanup.c (rest_of_handle_jump2): Likewise.
 | 
      
         | 949 |  |  |         * bb-reorder.c (fix_edges_for_rarely_executed_code): Likewise.
 | 
      
         | 950 |  |  |         * loop-init.c (rtl_loop_done): Likewise.
 | 
      
         | 951 |  |  |         * ifcvt.c (rest_of_handle_if_conversion): Likewise.
 | 
      
         | 952 |  |  |         * mode-switching.c (optimize_mode_switching): Remove useless
 | 
      
         | 953 |  |  |         allocate_reg_info.
 | 
      
         | 954 |  |  |         * lower-subreg.c (decompose_register): Don't call clear_reg_info_regno.
 | 
      
         | 955 |  |  |         (decompose_multiword_subregs): Don't call reg_scan_update.
 | 
      
         | 956 |  |  |         * web.c (rest_of_handle_web): Delete.
 | 
      
         | 957 |  |  |         (pass_web): Use web_main as pass routine.
 | 
      
         | 958 |  |  |  
 | 
      
         | 959 |  |  |         * regclass.c (max_parallel, max_set_parallel): Remove.
 | 
      
         | 960 |  |  |         (reg_scan): Don't set them.
 | 
      
         | 961 |  |  |         (reg_scan_update): Delete.
 | 
      
         | 962 |  |  |         (reg_scan_mark_refs): Remove last parameter.
 | 
      
         | 963 |  |  |  
 | 
      
         | 964 |  |  |         * rtl.h (max_parallel): Remove.
 | 
      
         | 965 |  |  |  
 | 
      
         | 966 |  |  | 2007-03-29  Paolo Bonzini 
 | 
      
         | 967 |  |  |  
 | 
      
         | 968 |  |  |         * df-core.c (pass_df_finish): Restore.
 | 
      
         | 969 |  |  |         (pass_df_finish_opt, pass_df_finish_no_opt): Remove.
 | 
      
         | 970 |  |  |         * tree-pass.h (pass_df_finish): Restore.
 | 
      
         | 971 |  |  |         (pass_df_finish_opt, pass_df_finish_no_opt): Remove.
 | 
      
         | 972 |  |  |         * passes.c (init_optimizations_passes): Remove pass_df_finish_no_opt.
 | 
      
         | 973 |  |  |         Rename pass_df_finish_opt to pass_df_finish.
 | 
      
         | 974 |  |  |         * reg-stack.c: Mostly evert previous commit.
 | 
      
         | 975 |  |  |  
 | 
      
         | 976 |  |  | 2007-03-28  Kenneth Zadeck 
 | 
      
         | 977 |  |  |  
 | 
      
         | 978 |  |  |         * tree-pass.h (pass_df_initialize, pass_df_finish): Deleted.
 | 
      
         | 979 |  |  |         (pass_df_initialize_opt, pass_df_initialize_no_opt,
 | 
      
         | 980 |  |  |         pass_stack_regs_run, pass_df_finish_opt, pass_df_finish_no_opt):
 | 
      
         | 981 |  |  |         Added.
 | 
      
         | 982 |  |  |         * df-core.c (df_finish_pass): Made ur and live problems condition
 | 
      
         | 983 |  |  |         on optimization.
 | 
      
         | 984 |  |  |         (pass_df_initialize): Renamed to pass_df_initialize_opt.
 | 
      
         | 985 |  |  |         (pass_df_initialize_no_opt): New pass.
 | 
      
         | 986 |  |  |         (gate_opt, gate_no_opt): New functions.
 | 
      
         | 987 |  |  |         (pass_df_finish): Renamed to pass_df_finish_opt.
 | 
      
         | 988 |  |  |         (pass_df_finish_no_opt): New pass.
 | 
      
         | 989 |  |  |         * mode-switching.c (optimize_mode_switching): Changed references
 | 
      
         | 990 |  |  |         of DF_LIVE_IN to df_get_live_in.
 | 
      
         | 991 |  |  |         * global.c (compute_regsets): Only add urec problem when
 | 
      
         | 992 |  |  |         optimizing.
 | 
      
         | 993 |  |  |         * function.c (regno_clobbered_at_setjmp): Changed references
 | 
      
         | 994 |  |  |         of DF_LIVE_OUT to df_get_live_out.
 | 
      
         | 995 |  |  |         * regclass.c (regclass_init): Only call df_compute_regs_ever_live
 | 
      
         | 996 |  |  |         if optimizing.
 | 
      
         | 997 |  |  |         * stack-ptr-mod.c (notice_stack_pointer_modification): Only call
 | 
      
         | 998 |  |  |         df_update_exit_block_uses if optimizing.
 | 
      
         | 999 |  |  |         * df-problems.c (df_get_live_in, df_get_live_out): Return df_live
 | 
      
         | 1000 |  |  |         sets if they are there.
 | 
      
         | 1001 |  |  |         * reg-stack.c (rest_of_handle_stack_regs_run):
 | 
      
         | 1002 |  |  |         Added new pass that just runs subpasses.
 | 
      
         | 1003 |  |  |         * passes.c (init_optimization_passes): Added passes to turn on df
 | 
      
         | 1004 |  |  |         at only some parts of the compilation for -O0.  Moved
 | 
      
         | 1005 |  |  |         pass_split_before_regstack and pass_stack_regs into a subpass of
 | 
      
         | 1006 |  |  |         the stack regs pass.
 | 
      
         | 1007 |  |  |  
 | 
      
         | 1008 |  |  | 2007-03-28  Paolo Bonzini  
 | 
      
         | 1009 |  |  |  
 | 
      
         | 1010 |  |  |         * df.h (df_ru_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
 | 
      
         | 1011 |  |  |         df_ur_get_bb_info, df_live_get_bb_info, df_urec_get_bb_info):
 | 
      
         | 1012 |  |  |         New inlines.
 | 
      
         | 1013 |  |  |         * df-scan.c (df_scan_get_bb_info, df_get_artificial_uses,
 | 
      
         | 1014 |  |  |         df_get_artificial_defs): Delete.
 | 
      
         | 1015 |  |  |         * df-problems.c (df_ru_get_bb_info, df_rd_get_bb_info,
 | 
      
         | 1016 |  |  |         df_lr_get_bb_info, df_ur_get_bb_info, df_live_get_bb_info,
 | 
      
         | 1017 |  |  |         df_urec_get_bb_info): Delete.
 | 
      
         | 1018 |  |  |  
 | 
      
         | 1019 |  |  | 2007-03-20  Seongbae Park 
 | 
      
         | 1020 |  |  |  
 | 
      
         | 1021 |  |  |         * combine.c (setup_incoming_promotions): Fix a bad merge
 | 
      
         | 1022 |  |  |         - use the argument FIRST instead of recomputing it.
 | 
      
         | 1023 |  |  |  
 | 
      
         | 1024 |  |  | 2007-03-16  Paolo Bonzini  
 | 
      
         | 1025 |  |  |  
 | 
      
         | 1026 |  |  |         * tracer.c (tracer): Work around pr19340.c failure by cleaning up
 | 
      
         | 1027 |  |  |         CFG outside cfglayout mode.  Proper fix will be brought in by
 | 
      
         | 1028 |  |  |         next mainline merge.
 | 
      
         | 1029 |  |  |  
 | 
      
         | 1030 |  |  | 2007-03-16  Paolo Bonzini  
 | 
      
         | 1031 |  |  |  
 | 
      
         | 1032 |  |  |         PR rtl-optimization/31025
 | 
      
         | 1033 |  |  |         * df.h (df_get_live_out): New prototype.
 | 
      
         | 1034 |  |  |         * df-problems.c (df_get_live_out): New.
 | 
      
         | 1035 |  |  |         (df_ri_bb_compute): Use it.
 | 
      
         | 1036 |  |  |  
 | 
      
         | 1037 |  |  | 2007-03-13  Seongbae Park 
 | 
      
         | 1038 |  |  |  
 | 
      
         | 1039 |  |  |         * tree-pass.h (pass_subregs_of_mode_finish): New pass declaration.
 | 
      
         | 1040 |  |  |         * regclass.c (record_subregs_of_mode): Made static, and
 | 
      
         | 1041 |  |  |         moved before init_subregs_of_mode to compile.
 | 
      
         | 1042 |  |  |         (cannot_change_mode_set_regs, invalid_mode_change_p): Added assertion.
 | 
      
         | 1043 |  |  |         (finish_subregs_of_mode): New function.
 | 
      
         | 1044 |  |  |         (pass_subregs_of_mode_finish): New pass.
 | 
      
         | 1045 |  |  |         * rtl.h (record_subregs_of_mode): Removed.
 | 
      
         | 1046 |  |  |         * combine.c (gen_lowpart_for_combine): Removed calls to
 | 
      
         | 1047 |  |  |         record_subregs_of_mode.
 | 
      
         | 1048 |  |  |         * passes.c (init_optimization_passes): Moved pass_subregs_of_mode_init
 | 
      
         | 1049 |  |  |         just before local_alloc. New pass pass_subregs_of_mode_finish
 | 
      
         | 1050 |  |  |         after global_alloc.
 | 
      
         | 1051 |  |  |  
 | 
      
         | 1052 |  |  | 2007-03-09  Richard Earnshaw  
 | 
      
         | 1053 |  |  |  
 | 
      
         | 1054 |  |  |         * arm.c: Include df.h.
 | 
      
         | 1055 |  |  |  
 | 
      
         | 1056 |  |  | 2007-03-06  Steven Bosscher  
 | 
      
         | 1057 |  |  |  
 | 
      
         | 1058 |  |  |         * fwprop.c (try_fwprop_subst): Remove redundant df_notes_rescan.
 | 
      
         | 1059 |  |  |         * see.c (rest_of_handle_see): Run a fast dce.  Don't run cleanup_cfg.
 | 
      
         | 1060 |  |  |         * tracer.c (tracer): Clean up the cfg when still in cfglayout mode.
 | 
      
         | 1061 |  |  |         * postreload-gcse.c (rest_of_handle_gcse2): Don't run
 | 
      
         | 1062 |  |  |         delete_trivially_dead_insns, this pass cleans up after itself already.
 | 
      
         | 1063 |  |  |         * df-scan.c (df_insn_rescan): Fix typo.
 | 
      
         | 1064 |  |  |         * cse.c (rest_of_handle_cse): Don't use CLEANUP_EXPENSIVE.
 | 
      
         | 1065 |  |  |         (rest_of_handle_cse2): Likewise.  Don't call delete_dead_jumptables.
 | 
      
         | 1066 |  |  |         * web.c (rest_of_handle_web): Don't run delete_trivially_dead_insns.
 | 
      
         | 1067 |  |  |         Also don't clean up the CFG, this pass does not transform the CFG.
 | 
      
         | 1068 |  |  |         * loop-init.c (rtl_loop_done): Don't run delete_trivially_dead_insns.
 | 
      
         | 1069 |  |  |         Don't use CLEANUP_EXPENSIVE.
 | 
      
         | 1070 |  |  |         * ifcvt.c (rest_of_handle_if_conversion): Don't use CLEANUP_EXPENSIVE.
 | 
      
         | 1071 |  |  |         * gcse.c (rest_of_handle_jump_bypass): Only remove unreachable basic
 | 
      
         | 1072 |  |  |         blocks before the pass.  No need for a reg_scan.  Rebuild jump labels
 | 
      
         | 1073 |  |  |         after delete_trivially_dead_insns.  Don't use CLEANUP_EXPENSIVE.
 | 
      
         | 1074 |  |  |         (rest_of_handle_gcse): Rebuild jump labels after
 | 
      
         | 1075 |  |  |         delete_trivially_dead_insns.  Don't call delete_dead_jumptables.
 | 
      
         | 1076 |  |  |         Don't use CLEANUP_EXPENSIVE.
 | 
      
         | 1077 |  |  |         * cfgcleanup.c (cleanup_cfg): Move delete_dead_jumptables call out of
 | 
      
         | 1078 |  |  |         the loop.
 | 
      
         | 1079 |  |  |         * combine.c (rest_of_handle_combine): Account cleanup_cfg to TV_JUMP.
 | 
      
         | 1080 |  |  |         Don't use CLEANUP_EXPENSIVE.  Don't run delete_trivially_dead_insns.
 | 
      
         | 1081 |  |  |         * bb-reorder.c (rest_of_handle_reorder_blocks): Don't use
 | 
      
         | 1082 |  |  |         CLEANUP_EXPENSIVE.  Resurrect CLEANUP_CROSSJUMP here.
 | 
      
         | 1083 |  |  |  
 | 
      
         | 1084 |  |  | 2007-03-06  Paolo Bonzini  
 | 
      
         | 1085 |  |  |  
 | 
      
         | 1086 |  |  |         * cse.c (validate_canon_reg): Don't do anything if *XLOC is NULL.
 | 
      
         | 1087 |  |  |         Assert it is only called with insn != 0 and it never resets
 | 
      
         | 1088 |  |  |         something non-NULL to NULL.  Always use validate_change.
 | 
      
         | 1089 |  |  |         (cse_insn): Always call canon_reg with an INSN except when it
 | 
      
         | 1090 |  |  |         is used on a REG.  When processing notes, first canonicalize,
 | 
      
         | 1091 |  |  |         then fold, and call df_notes_rescan.
 | 
      
         | 1092 |  |  |         (cse_process_notes): Rename to cse_process_notes_1, add CHANGED
 | 
      
         | 1093 |  |  |         parameter.
 | 
      
         | 1094 |  |  |         (cse_process_notes_1): Wrapper around cse_process_notes to set
 | 
      
         | 1095 |  |  |         the CHANGED parameter.
 | 
      
         | 1096 |  |  |         (cse_extended_basic_block): Adjust call to cse_process_notes
 | 
      
         | 1097 |  |  |         and use result to call df_notes_rescan.
 | 
      
         | 1098 |  |  |         (cse_main): Set deferred insn rescanning flag, don't rescan on exit.
 | 
      
         | 1099 |  |  |         (pass_cse2): Add TODO_df_finish.
 | 
      
         | 1100 |  |  |         * gcse.c (pass_gcse): Likewise.
 | 
      
         | 1101 |  |  |  
 | 
      
         | 1102 |  |  | 2007-03-04  Roman Zippel 
 | 
      
         | 1103 |  |  |  
 | 
      
         | 1104 |  |  |         * regclass.c (scan_one_insn): Call df_insn_rescan after breaking
 | 
      
         | 1105 |  |  |         out constant parameter.
 | 
      
         | 1106 |  |  |  
 | 
      
         | 1107 |  |  | 2007-03-04  Roman Zippel 
 | 
      
         | 1108 |  |  |  
 | 
      
         | 1109 |  |  |         * df-scan.c (df_grow_ref_info): Also add bitmap_addend to size.
 | 
      
         | 1110 |  |  |  
 | 
      
         | 1111 |  |  | 2007-02-25  Ulrich Weigand  
 | 
      
         | 1112 |  |  |  
 | 
      
         | 1113 |  |  |         Backport from mainline:
 | 
      
         | 1114 |  |  |         * reload.c (find_reloads_address_1): Handle PLUS expressions resulting
 | 
      
         | 1115 |  |  |         from register elimination as PRE_MODIFY / POST_MODIFY increments.
 | 
      
         | 1116 |  |  |         Do not attempt to handle MEM inside auto-inc expressions.
 | 
      
         | 1117 |  |  |         * reload1.c (eliminate_regs_1): Do not attempt to handle elimination
 | 
      
         | 1118 |  |  |         of a register modified by an auto-inc expression.  However, do handle
 | 
      
         | 1119 |  |  |         elimination of a register used as PRE_MODIFY / POST_MODIFY increment.
 | 
      
         | 1120 |  |  |         (elimination_effects): Prohibit elimination of a register modified
 | 
      
         | 1121 |  |  |         by an auto-inc expression.  Disable register elimination rules whose
 | 
      
         | 1122 |  |  |         target register is modified by an auto-inc expression with variable
 | 
      
         | 1123 |  |  |         increment.
 | 
      
         | 1124 |  |  |  
 | 
      
         | 1125 |  |  | 2007-02-25  Ulrich Weigand  
 | 
      
         | 1126 |  |  |  
 | 
      
         | 1127 |  |  |         Revert:
 | 
      
         | 1128 |  |  |         2006-07-01  Daniel Berlin  
 | 
      
         | 1129 |  |  |                     David Edelsohn  
 | 
      
         | 1130 |  |  |                     Kenneth Zadeck 
 | 
      
         | 1131 |  |  |         reload1.c (eliminate_regs_1, elimination_effects): Added cases for
 | 
      
         | 1132 |  |  |         PRE/POST_MODIFY.
 | 
      
         | 1133 |  |  |  
 | 
      
         | 1134 |  |  | 2007-02-22  Seongbae Park 
 | 
      
         | 1135 |  |  |  
 | 
      
         | 1136 |  |  |         * global.c (reg_becomes_live): Mark registers not live
 | 
      
         | 1137 |  |  |         after CLOBBER.
 | 
      
         | 1138 |  |  |  
 | 
      
         | 1139 |  |  | 2007-02-22  Paolo Bonzini 
 | 
      
         | 1140 |  |  |  
 | 
      
         | 1141 |  |  |         * combine.c (set_nonzero_bits_and_sign_copies, reg_nonzero_bits_for_combine,
 | 
      
         | 1142 |  |  |         reg_num_sign_bit_copies_for_combine, get_last_value): Look at DF_LR to
 | 
      
         | 1143 |  |  |         check if a register is uninitialized.
 | 
      
         | 1144 |  |  |  
 | 
      
         | 1145 |  |  | 2007-02-21  Paolo Bonzini 
 | 
      
         | 1146 |  |  |  
 | 
      
         | 1147 |  |  |         * combine.c (uid_cuid, max_uid_cuid): Remove.
 | 
      
         | 1148 |  |  |         (INSN_CUID): Replace throughout with DF_INSN_LUID.
 | 
      
         | 1149 |  |  |         (last_call_cuid): Rename to last_call_luid.
 | 
      
         | 1150 |  |  |         (subst_low_cuid): Rename to subst_low_luid.
 | 
      
         | 1151 |  |  |         (last_insn_cost): Rename to max_uid_known.
 | 
      
         | 1152 |  |  |         (uid_log_links): New.
 | 
      
         | 1153 |  |  |         (INSN_COST, LOG_LINKS): New.
 | 
      
         | 1154 |  |  |         (combine_validate_cost): Use INSN_COST instead of accessing
 | 
      
         | 1155 |  |  |         uid_insn_cost.
 | 
      
         | 1156 |  |  |         (create_log_links, clear_log_links): Move before combine_instructions.
 | 
      
         | 1157 |  |  |         (combine_instructions): Don't compute cuids.  Allocate uid_log_links.
 | 
      
         | 1158 |  |  |         Call create_log_links and clear_log_links here.  Only initialize
 | 
      
         | 1159 |  |  |         data structures for insns within a basic block.  Use INSN_COST
 | 
      
         | 1160 |  |  |         instead of accessing uid_insn_cost.  Reset last_call_luid and
 | 
      
         | 1161 |  |  |         mem_last_set once for every basic block.  Update label_tick on every
 | 
      
         | 1162 |  |  |         basic block, reset label_tick_ebb_start on every label.
 | 
      
         | 1163 |  |  |         (can_combine_p, try_combine, reg_nonzero_bits_for_combine,
 | 
      
         | 1164 |  |  |         reg_num_sign_bit_copies_for_combine, record_value_for_reg,
 | 
      
         | 1165 |  |  |         record_dead_and_set_regs_1, record_dead_and_set_regs,
 | 
      
         | 1166 |  |  |         get_last_value_validate, get_last_value, use_crosses_set_p,
 | 
      
         | 1167 |  |  |         move_deaths, distribute_notes, distribute_links): Rename stuff
 | 
      
         | 1168 |  |  |         as indicated above.  In tests for LUIDs, check that we refer to
 | 
      
         | 1169 |  |  |         the same label_tick too.  In tests for label ticks, check that
 | 
      
         | 1170 |  |  |         they are > label_tick_ebb_start.
 | 
      
         | 1171 |  |  |         (rest_of_handle_combine): Don't create/clear loglinks here.
 | 
      
         | 1172 |  |  |  
 | 
      
         | 1173 |  |  |         * gengtype.c (adjust_field_rtx_def): Adjust index of JUMP_LABEL.
 | 
      
         | 1174 |  |  |         * caller-save.c (init_caller_save): Adjust creation of INSNs.
 | 
      
         | 1175 |  |  |         * rtl.def (CODE_LABEL): Adjust comment.
 | 
      
         | 1176 |  |  |         (INSN, JUMP_INSN, CALL_INSN, BARRIER): Remove penultimate field.
 | 
      
         | 1177 |  |  |         * emit-rtl.c (unshare_all_rtl_again, verify_rtl_sharing,
 | 
      
         | 1178 |  |  |         unshare_all_rtl_in_chain, make_insn_raw, make_jump_insn_raw,
 | 
      
         | 1179 |  |  |         make_call_insn_raw): Remove references to LOG_LINKS.
 | 
      
         | 1180 |  |  |         * rtl.h (LOG_LINKS): Remove.
 | 
      
         | 1181 |  |  |         (REG_NOTES, CALL_INSN_FUNCTION_USAGE, JUMP_LABEL): Shift index
 | 
      
         | 1182 |  |  |         down by one.
 | 
      
         | 1183 |  |  |  
 | 
      
         | 1184 |  |  |         * regs.h (struct reg_info_def): Remove first_uid and last_uid.
 | 
      
         | 1185 |  |  |         (REGNO_FIRST_UID, REGNO_LAST_UID): Remove.
 | 
      
         | 1186 |  |  |         * cse.c (cse_basic_block_start, cse_basic_block_end, uid_cuid,
 | 
      
         | 1187 |  |  |         max_uid, INSN_CUID): Remove.
 | 
      
         | 1188 |  |  |         (struct cse_basic_block_data): Remove low_cuid and high_cuid.
 | 
      
         | 1189 |  |  |         (reg_used_in_multiple_bb, reg_used_in_bb): New.
 | 
      
         | 1190 |  |  |         (make_regs_eqv): Test reg_used_in_multiple_bb instead of cuids.
 | 
      
         | 1191 |  |  |         (cse_prescan_path): Remove low_cuid and high_cuid.
 | 
      
         | 1192 |  |  |         (mark_reg_use_bb): New.
 | 
      
         | 1193 |  |  |         (cse_main): Replace computation of cuids with initialization of
 | 
      
         | 1194 |  |  |         reg_used_in_multiple_bb.  Remove references to deleted variables.
 | 
      
         | 1195 |  |  |         * regmove.c (copy_src_to_dest): Don't update REGNO_FIRST_UID and
 | 
      
         | 1196 |  |  |         REGNO_LAST_UID.
 | 
      
         | 1197 |  |  |         * regclass.c (reg_scan_mark_refs): Remove penultimate argument.
 | 
      
         | 1198 |  |  |         Don't track REGNO_FIRST_UID and REGNO_LAST_UID.
 | 
      
         | 1199 |  |  |         (reg_scan, reg_scan_update): Remove penultimate argument to
 | 
      
         | 1200 |  |  |         reg_scan_mark_refs.
 | 
      
         | 1201 |  |  |  
 | 
      
         | 1202 |  |  | 2007-02-20  Seongbae Park 
 | 
      
         | 1203 |  |  |  
 | 
      
         | 1204 |  |  |         * sched-ebb.c (schedule_ebbs): Clear DF_LR_RUN_DCE flag
 | 
      
         | 1205 |  |  |         after df_analyze.
 | 
      
         | 1206 |  |  |  
 | 
      
         | 1207 |  |  | 2007-02-20  Kenneth Zadeck 
 | 
      
         | 1208 |  |  |  
 | 
      
         | 1209 |  |  |         * fwprop.c (forward_propagate_into): Removed call to
 | 
      
         | 1210 |  |  |         df_recompute_luids.
 | 
      
         | 1211 |  |  |         * see.c (see_free_data_structures): Ditto.
 | 
      
         | 1212 |  |  |         * loop-iv.c (iv_analysis_loop_init): Ditto.
 | 
      
         | 1213 |  |  |         * dce.c (prescan_insns_for_dse): Ditto.
 | 
      
         | 1214 |  |  |         * auto-inc-dec.c (merge_in_block): Moved call to
 | 
      
         | 1215 |  |  |         df_recompute_luids so that it only happens on subsequent passes of
 | 
      
         | 1216 |  |  |         block.
 | 
      
         | 1217 |  |  |         * df-scan.c (df_grow_insn_info): Made public.
 | 
      
         | 1218 |  |  |         * df.h (df_grow_insn_info): Made public.
 | 
      
         | 1219 |  |  |         * df-core.c: Fixed comments.
 | 
      
         | 1220 |  |  |         * df-problems.c (df_ur_bb_local_compute): Reversed order of
 | 
      
         | 1221 |  |  |         processing insns.  Removed usage of seen_in_block and
 | 
      
         | 1222 |  |  |         seen_in_insn.  Update luid.
 | 
      
         | 1223 |  |  |         (df_ur_local_compute, df_ur_verify_transfer_functions): Added call
 | 
      
         | 1224 |  |  |         to df_grow_insn_info and deleted calls to df_set_seen, df_unset_seen.
 | 
      
         | 1225 |  |  |  
 | 
      
         | 1226 |  |  | 2007-02-16  Paolo Bonzini  
 | 
      
         | 1227 |  |  |  
 | 
      
         | 1228 |  |  |         * combine.c (INSN_CUID): Always look up uid_cuid.
 | 
      
         | 1229 |  |  |         (insn_cuid): Delete.
 | 
      
         | 1230 |  |  |         * sched-deps.c (sched_analyze): Don't free LOG_LINKS here.
 | 
      
         | 1231 |  |  |         * sched-int.h (struct dep_list): Don't mention LOG_LINKS in comment.
 | 
      
         | 1232 |  |  |  
 | 
      
         | 1233 |  |  | 2007-02-15  Paolo Bonzini  
 | 
      
         | 1234 |  |  |  
 | 
      
         | 1235 |  |  |         * config/sh/sh.c (sh_reorg): Don't look at LOG_LINKS.
 | 
      
         | 1236 |  |  |  
 | 
      
         | 1237 |  |  | 2007-02-15  Paolo Bonzini  
 | 
      
         | 1238 |  |  |  
 | 
      
         | 1239 |  |  |         * combine.c (find_single_use): Don't check for reload flags.
 | 
      
         | 1240 |  |  |  
 | 
      
         | 1241 |  |  | 2007-02-15  Paolo Bonzini  
 | 
      
         | 1242 |  |  |  
 | 
      
         | 1243 |  |  |         Merge from mainline.
 | 
      
         | 1244 |  |  |  
 | 
      
         | 1245 |  |  |         2007-02-15  Paolo Bonzini  
 | 
      
         | 1246 |  |  |  
 | 
      
         | 1247 |  |  |         * caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
 | 
      
         | 1248 |  |  |  
 | 
      
         | 1249 |  |  | 2007-02-13  Seongbae Park 
 | 
      
         | 1250 |  |  |  
 | 
      
         | 1251 |  |  |         Merge from mainline.
 | 
      
         | 1252 |  |  |  
 | 
      
         | 1253 |  |  |         2007-02-13  Seongbae Park 
 | 
      
         | 1254 |  |  |  
 | 
      
         | 1255 |  |  |         * bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor):
 | 
      
         | 1256 |  |  |         Ensure dst->current is valid.
 | 
      
         | 1257 |  |  |  
 | 
      
         | 1258 |  |  | 2007-02-13  Kenneth Zadeck 
 | 
      
         | 1259 |  |  |  
 | 
      
         | 1260 |  |  |         * lower-subregs.c (resolve_reg_notes): Added code to call
 | 
      
         | 1261 |  |  |         df_notes_rescan when REG_EQUAL notes are changed.
 | 
      
         | 1262 |  |  |  
 | 
      
         | 1263 |  |  | 2007-02-12  Kenneth Zadeck 
 | 
      
         | 1264 |  |  |  
 | 
      
         | 1265 |  |  |         * global.c (compute_regsets): Removed first two parameters.
 | 
      
         | 1266 |  |  |         Converted asm_clobbered to regs_asm_clobbered.
 | 
      
         | 1267 |  |  |         (global_alloc): Removed bad merged call to make_accurate_live_analysis.
 | 
      
         | 1268 |  |  |         (global_alloc, rest_of_handle_global_alloc): Removed first two
 | 
      
         | 1269 |  |  |         parameters from compute_regsets.
 | 
      
         | 1270 |  |  |  
 | 
      
         | 1271 |  |  | 2007-02-06  Kenneth Zadeck 
 | 
      
         | 1272 |  |  |  
 | 
      
         | 1273 |  |  |         * ifcvt.c (noce_process_if_block): Removed unnecessary insn deletes.
 | 
      
         | 1274 |  |  |         (dead_or_predictable): Removed incorrect bit vector operation.
 | 
      
         | 1275 |  |  |         * lower-subregs (simple_move_operand, resolve_clobber): Change from mainline.
 | 
      
         | 1276 |  |  |         (resolve_clobber): Added df_insn_rescan of clobber.
 | 
      
         | 1277 |  |  |         (decompose_multiword_subregs): Added df setup and removed debugging.
 | 
      
         | 1278 |  |  |         (pass_lower_subreg2): Added df cleanup.
 | 
      
         | 1279 |  |  |         * Makefile.in (lower-subregs.o): Added df.h dependence.
 | 
      
         | 1280 |  |  |  
 | 
      
         | 1281 |  |  | 2007-02-03  Kaz Kojima  
 | 
      
         | 1282 |  |  |  
 | 
      
         | 1283 |  |  |         * config/sh/sh.c (sh_expand_prologue): Remove unneeded brackets.
 | 
      
         | 1284 |  |  |         (sh_expand_epilogue): Add blockage insn when not
 | 
      
         | 1285 |  |  |         frame_pointer_needed.
 | 
      
         | 1286 |  |  |         (sh_output_mi_thunk): Don't use flow analysis here.
 | 
      
         | 1287 |  |  |         * config/sh/sh.md (UNSPEC_EH_RETURN): Remove.
 | 
      
         | 1288 |  |  |         (UNSPECV_EH_RETURN): New macro.
 | 
      
         | 1289 |  |  |         (sibcall_valuei): New.
 | 
      
         | 1290 |  |  |         (sibcall_valuei_pcrel, sibcall_value_pcrel): Likewise.
 | 
      
         | 1291 |  |  |         (sibcall_value_compact, sibcall_value_media): Likewise.
 | 
      
         | 1292 |  |  |         (sibcall_value): Use new sibcall_value* patterns.
 | 
      
         | 1293 |  |  |         (eh_set_ra_si): Use unspec_volatile and UNSPECV_EH_RETURN.
 | 
      
         | 1294 |  |  |         (eh_set_ra_di, eh_set_ra_di+1): Likewise.
 | 
      
         | 1295 |  |  |  
 | 
      
         | 1296 |  |  | 2007-02-03  Kaz Kojima  
 | 
      
         | 1297 |  |  |  
 | 
      
         | 1298 |  |  |         * mode-switching.c (create_pre_exit): Skip CLOBBER of pseudo
 | 
      
         | 1299 |  |  |         register for the result when not optimizing.
 | 
      
         | 1300 |  |  |         (optimize_mode_switching): Move df_ri_add_problem and df_analyze
 | 
      
         | 1301 |  |  |         calls after create_pre_exit call.
 | 
      
         | 1302 |  |  |  
 | 
      
         | 1303 |  |  | 2007-02-03  Kaz Kojima  
 | 
      
         | 1304 |  |  |  
 | 
      
         | 1305 |  |  |         * modulo-sched.c (sms_schedule): Call df_ri_add_problem
 | 
      
         | 1306 |  |  |         with DF_RI_LIFE.
 | 
      
         | 1307 |  |  |  
 | 
      
         | 1308 |  |  | 2007-02-03  Kaz Kojima  
 | 
      
         | 1309 |  |  |  
 | 
      
         | 1310 |  |  |         * df-scan.c (df_get_entry_block_def_set): Use struct_value_rtx
 | 
      
         | 1311 |  |  |         hook instead of TARGET_STRUCT_VALUE_RTX.
 | 
      
         | 1312 |  |  |  
 | 
      
         | 1313 |  |  | 2007-02-03  Kaz Kojima  
 | 
      
         | 1314 |  |  |  
 | 
      
         | 1315 |  |  |         * passes.c (init_optimization_passes): Move df_finish after
 | 
      
         | 1316 |  |  |         delay_slots.
 | 
      
         | 1317 |  |  |  
 | 
      
         | 1318 |  |  | 2007-01-02  Kenneth Zadeck 
 | 
      
         | 1319 |  |  |  
 | 
      
         | 1320 |  |  |         * optabs.c (emit_no_conflict_block): Removed redundant code to
 | 
      
         | 1321 |  |  |         number libcalls.
 | 
      
         | 1322 |  |  |         * tree-pass.h (pass_initialize_subregs): Renamed to
 | 
      
         | 1323 |  |  |         pass_initialize_regs.
 | 
      
         | 1324 |  |  |         * passes.c (init_optimization_passes): Ditto.
 | 
      
         | 1325 |  |  |         * builtins.c (expand_builtin_setjmp_receiver): Changed
 | 
      
         | 1326 |  |  |         gen_rtx_ASM_INPUT to gen_blockage.
 | 
      
         | 1327 |  |  |         * function.c (expand_function_end): Ditto.
 | 
      
         | 1328 |  |  |         * stmt.c (gen_non_local_got_receiver): Ditto.
 | 
      
         | 1329 |  |  |         * config/i386.md (blockage): Don't take an operand.
 | 
      
         | 1330 |  |  |         (prologue_use): New.
 | 
      
         | 1331 |  |  |         * config/i386.c (ix86_expand_prologue): Don't build a blockage
 | 
      
         | 1332 |  |  |         insn with an operand.  If the PIC reg is used, use a prologue_use
 | 
      
         | 1333 |  |  |         insn to protect it from being removed.
 | 
      
         | 1334 |  |  |         * df-scan.c (df_get_entry_block_def_set): Generate ref for
 | 
      
         | 1335 |  |  |         INCOMING_RETURN_ADDR_RTX after reload_completed.
 | 
      
         | 1336 |  |  |         * df-core.c (df_ref_debug): Fixed formatting.
 | 
      
         | 1337 |  |  |         * init-regs.c: Renamed from subregs_init.c and changed to
 | 
      
         | 1338 |  |  |         initialize all fully uninitialized registers.
 | 
      
         | 1339 |  |  |         * bt-load.c (compute_defs_uses_and_gen): Changed check for
 | 
      
         | 1340 |  |  |         ASM_INPUT to UNSPEC_VOLATILE.
 | 
      
         | 1341 |  |  |         * df-problems.c (df_set_unused_notes_for_mw,
 | 
      
         | 1342 |  |  |         df_set_dead_notes_for_mw, df_ri_bb_compute): Cleaned up reg_notes
 | 
      
         | 1343 |  |  |         debugging info.
 | 
      
         | 1344 |  |  |         (df_set_dead_notes_for_mw): Added do_not_gen to test of all notes
 | 
      
         | 1345 |  |  |         dead.
 | 
      
         | 1346 |  |  |         * Makefile.in (subregs-init.*): Renamed to init-regs.*.
 | 
      
         | 1347 |  |  |         * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue):
 | 
      
         | 1348 |  |  |         Removed code to generate explicit uses of LR_REGNUM from prologue.
 | 
      
         | 1349 |  |  |         * config/arm/arm.h (EPILOGUE_USES): Made LR_REGNUM unconditionally
 | 
      
         | 1350 |  |  |         added.
 | 
      
         | 1351 |  |  |         * dce.c (deletable_insn_p): Made clobbers always live for use-def
 | 
      
         | 1352 |  |  |         based dce.
 | 
      
         | 1353 |  |  |         (prescan_insns_for_dce, prescan_insns_for_dse): Added fast
 | 
      
         | 1354 |  |  |         parameter to deletable_insn_p.
 | 
      
         | 1355 |  |  |         (run_fast_df_dce): Temporarily turn off DF_DEFER_INSN_RESCAN
 | 
      
         | 1356 |  |  |         during this subphase.
 | 
      
         | 1357 |  |  |  
 | 
      
         | 1358 |  |  |  
 | 
      
         | 1359 |  |  | 2007-02-01  Seongbae Park 
 | 
      
         | 1360 |  |  |  
 | 
      
         | 1361 |  |  |         * df-scan.c (df_sort_and_compress_refs):
 | 
      
         | 1362 |  |  |         Style fix.
 | 
      
         | 1363 |  |  |         (df_sort_and_compress_mws):
 | 
      
         | 1364 |  |  |         Style fix. Fix missing & in parameters for df_mw_compare call.
 | 
      
         | 1365 |  |  |  
 | 
      
         | 1366 |  |  | 2007-02-01  Seongbae Park 
 | 
      
         | 1367 |  |  |  
 | 
      
         | 1368 |  |  |         * df-scan.c (df_swap_refs): New function.
 | 
      
         | 1369 |  |  |         (df_sort_and_compress_refs, df_sort_and_compress_mws):
 | 
      
         | 1370 |  |  |         Avoid qsort call overhead if the array has only 2 elements
 | 
      
         | 1371 |  |  |         or if it's already sorted.
 | 
      
         | 1372 |  |  |  
 | 
      
         | 1373 |  |  | 2007-01-17  Eric Christopher  
 | 
      
         | 1374 |  |  |  
 | 
      
         | 1375 |  |  |         * config/mips/mips.c (mips_output_function_epilogue): Use SET_REGNO
 | 
      
         | 1376 |  |  |         instead of REGNO.
 | 
      
         | 1377 |  |  |         (mips_output_mi_thunk): Ditto.
 | 
      
         | 1378 |  |  |  
 | 
      
         | 1379 |  |  | 2007-01-17  Eric Christopher  
 | 
      
         | 1380 |  |  |  
 | 
      
         | 1381 |  |  |         * reorg.c (fill_simple_delay_slots): Fix prototype.
 | 
      
         | 1382 |  |  |  
 | 
      
         | 1383 |  |  | 2007-01-15  Andreas Krebbel  
 | 
      
         | 1384 |  |  |  
 | 
      
         | 1385 |  |  |         * regmove.c: (fixup_match_1): Call df_notes_rescan after
 | 
      
         | 1386 |  |  |         changing insn notes.
 | 
      
         | 1387 |  |  |  
 | 
      
         | 1388 |  |  | 2007-01-15  Andreas Krebbel  
 | 
      
         | 1389 |  |  |  
 | 
      
         | 1390 |  |  |         * config/s390/s390.c: Include df.h.
 | 
      
         | 1391 |  |  |         (s390_emit_prologue): Call df_insn_rescan when annotating constant
 | 
      
         | 1392 |  |  |         pool references.
 | 
      
         | 1393 |  |  |  
 | 
      
         | 1394 |  |  | 2007-01-15  Andreas Krebbel  
 | 
      
         | 1395 |  |  |  
 | 
      
         | 1396 |  |  |         * rtl.h (split_all_insns_noflow): Add prototype.
 | 
      
         | 1397 |  |  |         * recog.c (split_all_insns_noflow): Remove static.
 | 
      
         | 1398 |  |  |  
 | 
      
         | 1399 |  |  | 2007-01-14  Kenneth Zadeck 
 | 
      
         | 1400 |  |  |         * fwprop.c (update_df): Only rescan if insn has really changed.
 | 
      
         | 1401 |  |  |         (try_fwprop_subst): Removed call to df_set_bb_dirty.
 | 
      
         | 1402 |  |  |         (fwprop_init): Added new parameter to df_maybe_reorganize_use_refs.
 | 
      
         | 1403 |  |  |         * df-scan.c (df_scan_alloc): Removed calls to df_grow_ref_info.
 | 
      
         | 1404 |  |  |         (df_scan_blocks, df_ref_create, df_reg_chain_unlink,
 | 
      
         | 1405 |  |  |         df_maybe_reorganize_use_refs, df_maybe_reorganize_def_refs,
 | 
      
         | 1406 |  |  |         df_install_ref, df_install_refs, df_refs_add_to_chains): Changed
 | 
      
         | 1407 |  |  |         to support new modes adding refs to the df.ref_info.refs.
 | 
      
         | 1408 |  |  |         (df_reg_chain_unlink, df_install_ref, df_ref_create_structure,
 | 
      
         | 1409 |  |  |         df_hard_reg_used_p): Changed DF_REGS_EVER_LIVE to
 | 
      
         | 1410 |  |  |         DF_HARD_REG_LIVE.
 | 
      
         | 1411 |  |  |         (df_ref_remove, df_ref_create): Added call to dirty the block when
 | 
      
         | 1412 |  |  |         a ref is changed manually.
 | 
      
         | 1413 |  |  |         (df_insn_rescan, df_notes_rescan): Added bb param to
 | 
      
         | 1414 |  |  |         df_refs_add_to_chains.
 | 
      
         | 1415 |  |  |         (df_reorganize_refs): Renamed to df_reorganize_refs_by_reg.
 | 
      
         | 1416 |  |  |         (df_count_refs, df_add_refs_to_table,
 | 
      
         | 1417 |  |  |         df_reorganize_refs_by_insn_bb, df_reorganize_refs_by_insn,
 | 
      
         | 1418 |  |  |         df_hard_reg_used_count): New functions.
 | 
      
         | 1419 |  |  |         (df_drop_organized_tables): Removed.
 | 
      
         | 1420 |  |  |         * df_core.c (df_set_blocks, df_finish_pass): Changed
 | 
      
         | 1421 |  |  |         to support new modes adding refs to the df.ref_info.refs.
 | 
      
         | 1422 |  |  |         * df.h (df_ref_flags.DF_REGS_EVER_LIVE): Renamed to
 | 
      
         | 1423 |  |  |         DF_HARD_REG_LIVE.
 | 
      
         | 1424 |  |  |         (df_ref_order): New Enum.
 | 
      
         | 1425 |  |  |         (df_ref_info.{refs_organized_alone, refs_organized_with_eq_uses,
 | 
      
         | 1426 |  |  |         add_refs_inline}): Replaced with df_ref_info.ref_order.
 | 
      
         | 1427 |  |  |         (DF_REG_EVER_LIVE_P): Removed macro.
 | 
      
         | 1428 |  |  |         * df-problems.c (df_ru_local_compute): Added parm to
 | 
      
         | 1429 |  |  |         df_maybe_reorganize_use_refs.
 | 
      
         | 1430 |  |  |         (df_rd_local_compute): Added parm to
 | 
      
         | 1431 |  |  |         df_maybe_reorganize_def_refs.
 | 
      
         | 1432 |  |  |  
 | 
      
         | 1433 |  |  | 2007-01-12  Kenneth Zadeck 
 | 
      
         | 1434 |  |  |         * df-scan.c (df_collection_rec): New structure.
 | 
      
         | 1435 |  |  |         (df_chains): Deleted structure.
 | 
      
         | 1436 |  |  |         (DEBUG_DF_RESCAN): Removed conditional compilation of rescanning.
 | 
      
         | 1437 |  |  |         (df_scan_start_block): Added ifdefed out code that prints the
 | 
      
         | 1438 |  |  |         scanning of insns.
 | 
      
         | 1439 |  |  |  
 | 
      
         | 1440 |  |  |         (df_ref_create, df_get_artificial_defs, df_get_artificial_uses,
 | 
      
         | 1441 |  |  |         df_reg_chain_unlink, df_ref_remove, df_ref_chain_delete_du_chain,
 | 
      
         | 1442 |  |  |         df_ref_chain_delete, df_mw_hardreg_chain_delete, df_insn_rescan,
 | 
      
         | 1443 |  |  |         df_ref_chain_change_bb, df_insn_change_bb,
 | 
      
         | 1444 |  |  |         df_ref_change_reg_with_loc_1, df_mw_hardreg_chain_delete_eq_uses,
 | 
      
         | 1445 |  |  |         df_notes_rescan, df_refs_add_to_chains, df_ref_create_structure,
 | 
      
         | 1446 |  |  |         df_ref_record, df_def_record_1, df_defs_record, df_uses_record,
 | 
      
         | 1447 |  |  |         df_get_conditional_uses, df_insn_refs_collect, df_recompute_luids,
 | 
      
         | 1448 |  |  |         df_bb_refs_collect, df_entry_block_defs_collect,
 | 
      
         | 1449 |  |  |         df_update_entry_block_defs, df_exit_block_uses_collect,
 | 
      
         | 1450 |  |  |         df_record_exit_block_uses, df_update_exit_block_uses,
 | 
      
         | 1451 |  |  |         df_compute_regs_ever_live, df_reg_chain_mark,
 | 
      
         | 1452 |  |  |         df_reg_chain_verify_unmarked, df_insn_refs_verify, df_bb_verify,
 | 
      
         | 1453 |  |  |         df_scan_verify): Changed to use vector rep for refs.
 | 
      
         | 1454 |  |  |         (df_get_call_refs) Ditto plus fixed bug where clobber ref was
 | 
      
         | 1455 |  |  |         generated for same ref as result of call.
 | 
      
         | 1456 |  |  |         (df_reg_chain_create, df_ref_unlink, df_ref_chain_find_ref,
 | 
      
         | 1457 |  |  |         df_ref_chain_find_ref_by_regno, df_ref_chain_append,
 | 
      
         | 1458 |  |  |         df_ref_find_chains, df_ref_add_to_chains, df_insn_refs_record,
 | 
      
         | 1459 |  |  |         df_ref_chain_verify_and_unmark, df_ref_chain_free, df_ref_verify,
 | 
      
         | 1460 |  |  |         df_mw_hardreg_find_hardreg): Deleted function.
 | 
      
         | 1461 |  |  |         (df_ref_compress_rec, df_free_collection_rec, df_ref_compare,
 | 
      
         | 1462 |  |  |         df_sort_and_compress_refs, df_mw_compare, df_sort_and_compress_mws
 | 
      
         | 1463 |  |  |         df_canonize_collection_rec, df_install_ref, df_install_refs,
 | 
      
         | 1464 |  |  |         df_refs_verify, df_mws_verify): New function.
 | 
      
         | 1465 |  |  |         (df_ref_is_equal): Renamed to df_ref_equal_p and changed to use
 | 
      
         | 1466 |  |  |         vector rep for refs.
 | 
      
         | 1467 |  |  |         (df_mw_is_equal): Renamed to df_mw_equal_p and changed to use
 | 
      
         | 1468 |  |  |         vector rep for refs.
 | 
      
         | 1469 |  |  |         * df.h (df_ref_flags.(DF_REF_MW_HARDREG_GROUP, DF_REF_REF_MARKER):
 | 
      
         | 1470 |  |  |         Removed.
 | 
      
         | 1471 |  |  |         (df_ref_flags.(DF_REF_REG_MARKER, DF_REGS_EVER_LIVE)): Renumbered.
 | 
      
         | 1472 |  |  |         (df_mw_hardreg.(loc, start_regno, end_regno, mw_order)): New
 | 
      
         | 1473 |  |  |         fields.
 | 
      
         | 1474 |  |  |         (df_insn_info.(defs, uses, eq_uses, mw_hardregs): Made into arrays
 | 
      
         | 1475 |  |  |         of pointers.
 | 
      
         | 1476 |  |  |         (df_scan_bb_info.(artificial_defs, artificial_uses): Ditto.
 | 
      
         | 1477 |  |  |         (df_ref.ref_order): New field.
 | 
      
         | 1478 |  |  |         (df_ref.next): Removed.
 | 
      
         | 1479 |  |  |         (df.ref_order): New field.
 | 
      
         | 1480 |  |  |         (DF_REF_REF_MARK, DF_REF_REF_UNMARK, DF_REF_IS_REF_MARKED,
 | 
      
         | 1481 |  |  |         DF_REF_NEXT_REF): Removed macro.
 | 
      
         | 1482 |  |  |         (DF_REF_ORDER): New macro.
 | 
      
         | 1483 |  |  |         * df-core.c (df_bb_regno_last_use_find, df_bb_regno_last_use_find,
 | 
      
         | 1484 |  |  |         df_bb_regno_first_def_find, df_bb_regno_last_def_find,
 | 
      
         | 1485 |  |  |         df_insn_regno_def_p, df_find_def, df_find_use, df_refs_chain_dump,
 | 
      
         | 1486 |  |  |         df_mws_dump, df_insn_uid_debug, df_insn_debug): Ditto.
 | 
      
         | 1487 |  |  |         * fwprop.c (update_df): Do not call df_insn_rescan unless insn has
 | 
      
         | 1488 |  |  |         changed.
 | 
      
         | 1489 |  |  |         (local_ref_killed_between_p, all_uses_available_at,
 | 
      
         | 1490 |  |  |         find_occurrence, update_df): Changed to use
 | 
      
         | 1491 |  |  |         vector rep for refs.
 | 
      
         | 1492 |  |  |         * see.c (see_handle_relevant_refs, see_update_relevancy,
 | 
      
         | 1493 |  |  |         see_propagate_extensions_to_uses): Ditto.
 | 
      
         | 1494 |  |  |         * auto-inc-dec.c (find_inc, merge_in_block): Ditto.
 | 
      
         | 1495 |  |  |         * web.c (union_defs, web_main): Ditto.
 | 
      
         | 1496 |  |  |         * global.c (compute_regs_asm_clobbered): Ditto.
 | 
      
         | 1497 |  |  |         * ifcvt.c (dead_or_predicable): Ditto.
 | 
      
         | 1498 |  |  |         * loop-invariant.c (find_defs, check_dependency,
 | 
      
         | 1499 |  |  |         find_invariant_insn): Ditto.
 | 
      
         | 1500 |  |  |         * combine.c (create_log_links): Ditto.
 | 
      
         | 1501 |  |  |         * df-problems.c (df_ru_alloc, df_ru_bb_local_compute_process_def,
 | 
      
         | 1502 |  |  |         df_ru_bb_local_compute_process_use, df_rd_alloc,
 | 
      
         | 1503 |  |  |         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
 | 
      
         | 1504 |  |  |         df_lr_simulate_artificial_refs_at_end, df_lr_simulate_one_insn,
 | 
      
         | 1505 |  |  |         df_ur_bb_local_compute, df_urec_bb_local_compute,
 | 
      
         | 1506 |  |  |         df_urec_bb_local_compute, df_chain_remove_problem,
 | 
      
         | 1507 |  |  |         df_chain_remove_problem, df_chain_reset,
 | 
      
         | 1508 |  |  |         df_chain_create_bb_process_use, df_chain_create_bb,
 | 
      
         | 1509 |  |  |         df_chain_top_dump, df_chain_top_dump, df_chain_bottom_dump,
 | 
      
         | 1510 |  |  |         df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
 | 
      
         | 1511 |  |  |         df_ri_bb_compute): Ditto.
 | 
      
         | 1512 |  |  |         * dce.c (delete_corresponding_reg_eq_notes, mark_artificial_uses,
 | 
      
         | 1513 |  |  |         mark_reg_dependencies, dce_process_block): Ditto.
 | 
      
         | 1514 |  |  |  
 | 
      
         | 1515 |  |  |  
 | 
      
         | 1516 |  |  |  
 | 
      
         | 1517 |  |  | 2007-01-10  Seongbae Park 
 | 
      
         | 1518 |  |  |         * df-core.c (df_worklist_propagate_backward,
 | 
      
         | 1519 |  |  |         df_worklist_dataflow)): More comments.
 | 
      
         | 1520 |  |  |         (df_iterative_dataflow): Whitespace fixup.
 | 
      
         | 1521 |  |  |         * cfganal.c (inverted_post_order_compute):
 | 
      
         | 1522 |  |  |         More comments and rename a local variable DEST to PRED.
 | 
      
         | 1523 |  |  |         (df_find_deadend): More comments. Use gcc_unreachable().
 | 
      
         | 1524 |  |  |  
 | 
      
         | 1525 |  |  | 2007-01-09  Seongbae Park 
 | 
      
         | 1526 |  |  |         * df-core.c (rest_of_handle_df_initialize): Allocate and free new
 | 
      
         | 1527 |  |  |         fields struct dataflow::{postorder_inverted,n_blocks_inverted}.
 | 
      
         | 1528 |  |  |         (df_hybrid_search_forward, df_hybrid_search_backward): Pass visited,
 | 
      
         | 1529 |  |  |         pending, considered as parameters instead of fields of struct df.
 | 
      
         | 1530 |  |  |         (df_worklist_propagate_forward, df_worklist_propagate_backward,
 | 
      
         | 1531 |  |  |         df_worklist_dataflow): New functions.
 | 
      
         | 1532 |  |  |         (df_iterative_dataflow): Remove visited, pending, considered
 | 
      
         | 1533 |  |  |         fields from struct dataflow.
 | 
      
         | 1534 |  |  |         (df_analyze): Allocate and free new fields
 | 
      
         | 1535 |  |  |         df::{postorder_inverted,n_blocks_inverted}.
 | 
      
         | 1536 |  |  |         (df_get_n_blocks, df_get_postorder): Make them return
 | 
      
         | 1537 |  |  |         different values depending on the direction of the dataflow problem.
 | 
      
         | 1538 |  |  |         (df_simple_dataflow): Renamed from df_simple_iterative_dataflow.
 | 
      
         | 1539 |  |  |         Call df_worklist_dataflow instead of df_iterative_dataflow.
 | 
      
         | 1540 |  |  |         * cfganal.c (dfs_find_deadend, inverted_post_order_compute):
 | 
      
         | 1541 |  |  |         New functions.
 | 
      
         | 1542 |  |  |         * df.h (struct dataflow): Remove fields visited, pending, considered.
 | 
      
         | 1543 |  |  |         Add new fields postorder_inverted, n_blocks_inverted.
 | 
      
         | 1544 |  |  |         (df_get_nblocks, df_get_postorder): Prototype change.
 | 
      
         | 1545 |  |  |         (df_simple_dataflow): Renamed from df_simple_iterative_dataflow.
 | 
      
         | 1546 |  |  |         (df_worklist_dataflow): New function prototype.
 | 
      
         | 1547 |  |  |         * df-problems.c: Use df_worklist_dataflow instead of
 | 
      
         | 1548 |  |  |         df_iterative_dataflow for solver.
 | 
      
         | 1549 |  |  |         * basic-block.h (inverted_post_order_compute): New function prototype.
 | 
      
         | 1550 |  |  |         * dce.c (dce_process_block): Pass extra parameter to df_get_n_blocks
 | 
      
         | 1551 |  |  |         and df_get_postorder.
 | 
      
         | 1552 |  |  |         (calculate_reaching_stores): Call df_simple_dataflow,
 | 
      
         | 1553 |  |  |         renamed from df_simple_iterative_dataflow.
 | 
      
         | 1554 |  |  |  
 | 
      
         | 1555 |  |  |  
 | 
      
         | 1556 |  |  | 2007-01-05  Kenneth Zadeck 
 | 
      
         | 1557 |  |  |         * see.c (see_update_defs_relevancy): Type fixed.
 | 
      
         | 1558 |  |  |         * df-scan.c (df_reg_chain_unlink, df_ref_verify): Made tolerant of
 | 
      
         | 1559 |  |  |         refs table not being there.
 | 
      
         | 1560 |  |  |         (df_drop_organized_tables): New function.
 | 
      
         | 1561 |  |  |         * df-core.c (df_finish_pass): Drop refs tables after each pass.
 | 
      
         | 1562 |  |  |         * web.c (web_main): Reorganized access to not use ref tables and
 | 
      
         | 1563 |  |  |         go in order of insns.
 | 
      
         | 1564 |  |  |         * df.h (df_drop_organized_tables): New function.
 | 
      
         | 1565 |  |  |         * df-problems.c (df_chain_start_dump): Deleted function.
 | 
      
         | 1566 |  |  |         (df_chain_top_dump, df_chain_bottom_dump): New functions.
 | 
      
         | 1567 |  |  |  
 | 
      
         | 1568 |  |  | 2007-01-03  Kenneth Zadeck 
 | 
      
         | 1569 |  |  |         * see.c (see_initialize_data_structures): Does not use
 | 
      
         | 1570 |  |  |         DF_USES_TABLE_SIZE or DF_DEFS_TABLE_SIZE.
 | 
      
         | 1571 |  |  |         (see_handle_relevant_defs, see_handle_relevant_uses): Removed
 | 
      
         | 1572 |  |  |         outer loop.  Now a subrouting of see_handle_relevant_refs.
 | 
      
         | 1573 |  |  |         (see_handle_relevant_refs, see_update_relevancy): New functions
 | 
      
         | 1574 |  |  |         that now loops over insns.
 | 
      
         | 1575 |  |  |         (see_update_uses_relevancy, see_update_defs_relevancy): Removed
 | 
      
         | 1576 |  |  |         outer loop.  Now a subroutine of see_update_relevancy.
 | 
      
         | 1577 |  |  |         (see_analyze_one_def): Removed unnecessary tests.
 | 
      
         | 1578 |  |  |         (see_propagate_extensions_to_uses): Now iterates over insns and
 | 
      
         | 1579 |  |  |         calls see_handle_relevant_refs and see_update_relevancy.
 | 
      
         | 1580 |  |  |         * df-scan.c (df_reg_chain_unlink, df_insn_delete): Added code to
 | 
      
         | 1581 |  |  |         skip the chain field of refs if the chain problem is not active.
 | 
      
         | 1582 |  |  |         (df_scan_verify): Moved verification of the
 | 
      
         | 1583 |  |  |         out_of_date_transfer_functions fields into the problem verifiers.
 | 
      
         | 1584 |  |  |         * df-core.c (df_set_blocks): More logging.
 | 
      
         | 1585 |  |  |         (df_finish_pass): Moved around when recanning is done.
 | 
      
         | 1586 |  |  |         (rest_of_handle_df_initialize): Moved creation of
 | 
      
         | 1587 |  |  |         handles out_of_date_transfer_functions to the problems.
 | 
      
         | 1588 |  |  |         (df_set_bb_dirty, df_clear_bb_dirty, df_compact_blocks): Now
 | 
      
         | 1589 |  |  |         handles out_of_date_transfer_functions in any problem.
 | 
      
         | 1590 |  |  |         * df.h: Added comments.
 | 
      
         | 1591 |  |  |         * df-problems.c (df_lr_add_problem, df_ur_add_problem,
 | 
      
         | 1592 |  |  |         df_chain_add_problem): Allocates out_of_date_transfer_functions.
 | 
      
         | 1593 |  |  |         (df_lr_verify_transfer_functions,
 | 
      
         | 1594 |  |  |         df_ur_verify_transfer_functions): Now verifies
 | 
      
         | 1595 |  |  |         out_of_date_transfer_functions.
 | 
      
         | 1596 |  |  |         (df_chain_remove_problem): Tears down problem by looping over
 | 
      
         | 1597 |  |  |         insns.
 | 
      
         | 1598 |  |  |         (df_chain_fully_remove_problem, df_chain_free): Frees
 | 
      
         | 1599 |  |  |         out_of_date_transfer_functions.
 | 
      
         | 1600 |  |  |         (df_chain_create_bb): Sets out_of_date_transfer_functions.
 | 
      
         | 1601 |  |  |  
 | 
      
         | 1602 |  |  |  
 | 
      
         | 1603 |  |  | 2007-01-02  Kenneth Zadeck 
 | 
      
         | 1604 |  |  |         * df-scan.c (df_reg_chain_create, df_reg_chain_unlink,
 | 
      
         | 1605 |  |  |         df_ref_create_structure, df_hard_reg_used_p): Added code to
 | 
      
         | 1606 |  |  |         process df->hard_regs_live_count.
 | 
      
         | 1607 |  |  |         (df_ref_is_record_live, df_reg_chain_find_ref): Deleted.
 | 
      
         | 1608 |  |  |         (df_refs_add_to_chains): Removed ifdefed code.
 | 
      
         | 1609 |  |  |         (df_compute_regs_ever_live): Fixed "&" vs "&&" problem.
 | 
      
         | 1610 |  |  |         * df-core (rest_of_handle_df_initialize,
 | 
      
         | 1611 |  |  |         rest_of_handle_df_finish): Added code to
 | 
      
         | 1612 |  |  |         process df->hard_regs_live_count.
 | 
      
         | 1613 |  |  |         * global.c (global_alloc): Repositioned use of urec problem.
 | 
      
         | 1614 |  |  |         (build_insn_chain): Changed use of DF_RA_LIVE_TOP to df_get_live_top.
 | 
      
         | 1615 |  |  |         (rest_of_handle_global_alloc): Removed call to df_analyze for no
 | 
      
         | 1616 |  |  |         optimize case.
 | 
      
         | 1617 |  |  |         * local-alloc.c (update_equiv_regs): Added calls to
 | 
      
         | 1618 |  |  |         df_notes_rescan where eq notes are hacked.
 | 
      
         | 1619 |  |  |         (block_alloc): Changed DF_RA_LIVE_TOP to DF_LR_TOP.
 | 
      
         | 1620 |  |  |         (rest_of_handle_local_alloc): Removed addition of urec problem.
 | 
      
         | 1621 |  |  |         * function.c (regno_clobbered_at_setjmp): Changed df_get_live_out
 | 
      
         | 1622 |  |  |         to DF_LIVE_OUT.
 | 
      
         | 1623 |  |  |         * (df_ref_flags.DF_REGS_EVER_LIVE): New flag.
 | 
      
         | 1624 |  |  |         (df.hard_regs_live_count): New bitmap.
 | 
      
         | 1625 |  |  |         (DF_LR_TOP, DF_REG_EVER_LIVE_P): New macro.
 | 
      
         | 1626 |  |  |         (df_get_live_out): Removed.
 | 
      
         | 1627 |  |  |         (df_get_live_top): Added.
 | 
      
         | 1628 |  |  |         * df-problems.c (df_get_live_in): Does not look at DF_LIVE.
 | 
      
         | 1629 |  |  |         (df_get_live_out): Deleted.
 | 
      
         | 1630 |  |  |         (df_get_live_top): Added.
 | 
      
         | 1631 |  |  |         * config/sh/sh.c (calc_live_regs): Changed regs_ever_live to
 | 
      
         | 1632 |  |  |         df_regs_ever_live_p.
 | 
      
         | 1633 |  |  |         * config/mn10300/mn10300.c (fp_regs_to_save): Ditto.
 | 
      
         | 1634 |  |  |         * reload1.c (reload): Corrected the set of bitmaps to modify after
 | 
      
         | 1635 |  |  |         reloading.
 | 
      
         | 1636 |  |  |  
 | 
      
         | 1637 |  |  |  
 | 
      
         | 1638 |  |  | 2007-01-01  Eric Christopher  
 | 
      
         | 1639 |  |  |  
 | 
      
         | 1640 |  |  |         * config/darwin.c: Include df.h.
 | 
      
         | 1641 |  |  |         (machopic_legitimize_pic_address): Use
 | 
      
         | 1642 |  |  |         df_set_regs_ever_live.
 | 
      
         | 1643 |  |  |  
 | 
      
         | 1644 |  |  | 2006-12-28  Kenneth Zadeck 
 | 
      
         | 1645 |  |  |         * regs.h: (regs_ever_live, regs_asm_clobbered): Removed.
 | 
      
         | 1646 |  |  |         * final.c (regs_ever_live, regs_asm_clobbered): Removed.
 | 
      
         | 1647 |  |  |         (only_leaf_regs_used, leaf_renumber_regs_insn): Encapsulated
 | 
      
         | 1648 |  |  |         references to regs_ever_live.
 | 
      
         | 1649 |  |  |         * global.c (insn_contains_asm_1, insn_contains_asm,
 | 
      
         | 1650 |  |  |         compute_regs_asm_clobbered): New functions.
 | 
      
         | 1651 |  |  |         (global_alloc): Added call to compute_regs_asm_clobbered and
 | 
      
         | 1652 |  |  |         encapsulated references to regs_ever_live.
 | 
      
         | 1653 |  |  |         (dump_global_regs): Encapsulated references to regs_ever_live.
 | 
      
         | 1654 |  |  |         (rest_of_handle_global_alloc): Changed call to df_scan_alloc.
 | 
      
         | 1655 |  |  |         * regrename.c (regrename_optimize, regrename_optimize): Encapsulated
 | 
      
         | 1656 |  |  |         references to regs_ever_live.
 | 
      
         | 1657 |  |  |         * recog.c (peep2_find_free_register): Ditto.
 | 
      
         | 1658 |  |  |         * rtl-factoring (recompute_gain_for_pattern_seq,
 | 
      
         | 1659 |  |  |         abstract_best_seq): Ditto.
 | 
      
         | 1660 |  |  |         * bt-load.c (move_btr_def, migrate_btr_defs): Ditto.
 | 
      
         | 1661 |  |  |         * reg_stack.c (reg_to_stack): Ditto.
 | 
      
         | 1662 |  |  |         * config/alpha/alpha.c (alpha_ra_ever_killed, alpha_sa_mask,
 | 
      
         | 1663 |  |  |         alpha_sa_size): Ditto.
 | 
      
         | 1664 |  |  |         * config/frv/frv.c (frv_stack_info, frv_function_prologue): Ditto.
 | 
      
         | 1665 |  |  |         * config/s390/390.c (legitimize_pic_address,
 | 
      
         | 1666 |  |  |         legitimize_tls_address, find_unused_clobbered_reg,
 | 
      
         | 1667 |  |  |         s390_regs_ever_clobbered, s390_register_info,
 | 
      
         | 1668 |  |  |         s390_init_frame_layout, s390_update_frame_layout,
 | 
      
         | 1669 |  |  |         s390_emit_prologue): Ditto.
 | 
      
         | 1670 |  |  |         * config/m32c/m32.c (need_to_save): Ditto.
 | 
      
         | 1671 |  |  |         * config/spu/spu.c (spu_split_immediate): Ditto.
 | 
      
         | 1672 |  |  |         * config/sparc/sparc.c (sparc_compute_frame_size,
 | 
      
         | 1673 |  |  |         sparc_output_scratch_registers, save_or_restore_regs,
 | 
      
         | 1674 |  |  |         order_regs_for_local_alloc): Ditto.
 | 
      
         | 1675 |  |  |         * config/m32r/m32r.c (MUST_SAVE_FRAME_POINTER,
 | 
      
         | 1676 |  |  |         MUST_SAVE_RETURN_ADDR, m32r_hard_regno_rename_ok): Ditto.
 | 
      
         | 1677 |  |  |         * config/i386/i386.h (ix86_current_function_calls_tls_descriptor):
 | 
      
         | 1678 |  |  |         Ditto.
 | 
      
         | 1679 |  |  |         * config/i386/i386.c (ix86_select_alt_pic_regnum, ix86_save_reg,
 | 
      
         | 1680 |  |  |         ix86_expand_prologue, legitimize_pic_address,
 | 
      
         | 1681 |  |  |         legitimize_tls_address): Ditto.
 | 
      
         | 1682 |  |  |         * config/sh/sh.c (calc_live_regs, sh_media_register_for_return,
 | 
      
         | 1683 |  |  |         sh_expand_prologue, sh_hard_regno_rename_ok): Ditto.
 | 
      
         | 1684 |  |  |         * config/pdp11/pdp11.c (pdp11_output_function_prologue,
 | 
      
         | 1685 |  |  |         pdp11_output_function_epilogue): Ditto.
 | 
      
         | 1686 |  |  |         * config/pdp11/pdp11.h (may_call_alloca): Ditto.
 | 
      
         | 1687 |  |  |         * config/avr/avr.c (avr_regs_to_save, sequent_regs_live,
 | 
      
         | 1688 |  |  |         avr_peep2_scratch_safe): Ditto.
 | 
      
         | 1689 |  |  |         * config/crx/crx.h (HARD_REGNO_RENAME_OK): Ditto.
 | 
      
         | 1690 |  |  |         * config/crx/crx.c (crx_compute_save_regs): Ditto.
 | 
      
         | 1691 |  |  |         * config/c4x/c4x.c (c4x_isr_reg_used_p, c4x_expand_prologue,
 | 
      
         | 1692 |  |  |         c4x_null_epilogue_p): Ditto.
 | 
      
         | 1693 |  |  |         * config/c4x/c4x.h (reg_class): Ditto.
 | 
      
         | 1694 |  |  |         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): Ditto.
 | 
      
         | 1695 |  |  |         * config/fr30/fr30.c (MUST_SAVE_FRAME_POINTER,
 | 
      
         | 1696 |  |  |         MUST_SAVE_RETURN_POINTER): Ditto.
 | 
      
         | 1697 |  |  |         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset,
 | 
      
         | 1698 |  |  |         m68hc11_total_frame_size, expand_prologue): Ditto.
 | 
      
         | 1699 |  |  |         * config/cris/cris.c (cris_reg_saved_in_regsave_area,
 | 
      
         | 1700 |  |  |         cris_return_addr_rtx): Ditto.
 | 
      
         | 1701 |  |  |         * config/iq2000/iq2000.h (MUST_SAVE_REGISTER): Ditto.
 | 
      
         | 1702 |  |  |         * config/iq2000/iq2000.c (iq2000_can_use_return_insn): Ditto.
 | 
      
         | 1703 |  |  |         * config/mt/mt.c (mt_compute_frame_size): Ditto.
 | 
      
         | 1704 |  |  |         * config/mt/mt.h (save_direction): Ditto.
 | 
      
         | 1705 |  |  |         * config/mn10300/mn10300.c (REG_SAVE_BYTES, can_use_return_insn,
 | 
      
         | 1706 |  |  |         mn10300_get_live_callee_saved_regs, expand_prologue,
 | 
      
         | 1707 |  |  |         initial_offset): Ditto.
 | 
      
         | 1708 |  |  |         * config/ia64/ia64.c (find_gr_spill, ia64_compute_frame_size):
 | 
      
         | 1709 |  |  |         Ditto.
 | 
      
         | 1710 |  |  |         * config/m68k/m68k.c (m68k_save_reg, m68k_hard_regno_rename_ok):
 | 
      
         | 1711 |  |  |         Ditto.
 | 
      
         | 1712 |  |  |         * config/rs6000/rs6000.c (rs6000_got_register, first_reg_to_save,
 | 
      
         | 1713 |  |  |         first_fp_reg_to_save, first_altivec_reg_to_save,
 | 
      
         | 1714 |  |  |         compute_vrsave_mask, rs6000_stack_info, create_TOC_reference,
 | 
      
         | 1715 |  |  |         rs6000_emit_prologue): Ditto.
 | 
      
         | 1716 |  |  |         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): Ditto.
 | 
      
         | 1717 |  |  |         * config/arc/arc.c (MUST_SAVE_REGISTER, MUST_SAVE_RETURN_ADDR):
 | 
      
         | 1718 |  |  |         Ditto.
 | 
      
         | 1719 |  |  |         * config/mcore/mcore.c (calc_live_regs): Ditto.
 | 
      
         | 1720 |  |  |         * config/score/score-mdaux.c (score_save_reg_p): Ditto.
 | 
      
         | 1721 |  |  |         * config/arm/arm.c (use_return_insn, thumb_find_work_register,
 | 
      
         | 1722 |  |  |         arm_compute_save_reg0_reg12_mask, arm_compute_save_reg_mask,
 | 
      
         | 1723 |  |  |         arm_get_vfp_saved_size, arm_output_epilogue, thumb_force_lr_save,
 | 
      
         | 1724 |  |  |         arm_get_frame_offsets, arm_expand_prologue, thumb_far_jump_used_p,
 | 
      
         | 1725 |  |  |         thumb_unexpanded_epilogue, thumb_expand_epilogue): Ditto.
 | 
      
         | 1726 |  |  |         * config/arm/arm.h (HARD_REGNO_RENAME_OK): Ditto.
 | 
      
         | 1727 |  |  |         * config/pa/pa.c (compute_frame_size, pa_output_function_prologue,
 | 
      
         | 1728 |  |  |         hppa_expand_prologue, hppa_expand_epilogue,
 | 
      
         | 1729 |  |  |         hppa_can_use_return_insn_p, output_lbranch): Ditto.
 | 
      
         | 1730 |  |  |         * config/pa/pa.h (HARD_REGNO_RENAME_OK): Ditto.
 | 
      
         | 1731 |  |  |         * config/mips/mips.c (mips_global_pointer, mips_save_reg_p,
 | 
      
         | 1732 |  |  |         mips_can_use_return_insn, build_mips16_call_stub): Ditto.
 | 
      
         | 1733 |  |  |         * config/vax/vax.c (vax_output_function_prologue): Ditto.
 | 
      
         | 1734 |  |  |         * config/v850/v850.c (substitute_ep_register,
 | 
      
         | 1735 |  |  |         compute_register_save_size): Ditto.
 | 
      
         | 1736 |  |  |         * config/h8300/h8300.c (byte_reg, h8300_hard_regno_rename_ok):
 | 
      
         | 1737 |  |  |         Ditto.
 | 
      
         | 1738 |  |  |         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS,
 | 
      
         | 1739 |  |  |         mmix_initial_elimination_offset, mmix_reorg,
 | 
      
         | 1740 |  |  |         mmix_use_simple_return, mmix_expand_prologue,
 | 
      
         | 1741 |  |  |         mmix_expand_epilogue): Ditto.
 | 
      
         | 1742 |  |  |         * config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
 | 
      
         | 1743 |  |  |         n_regs_saved_by_prologue, expand_interrupt_handler_prologue,
 | 
      
         | 1744 |  |  |         expand_interrupt_handler_epilogue, bfin_hard_regno_rename_ok):
 | 
      
         | 1745 |  |  |         Ditto.
 | 
      
         | 1746 |  |  |         * reload1.c (reload, mark_home_live, spill_hard_reg,
 | 
      
         | 1747 |  |  |         finish_spills): Ditto.
 | 
      
         | 1748 |  |  |         * df-scan.c (regs_ever_live): Added as local var.
 | 
      
         | 1749 |  |  |         (df_scan_free_internal): Delete bitmap.
 | 
      
         | 1750 |  |  |         (df_scan_free_bb_info): Inlined code from removed df_bb_delete.
 | 
      
         | 1751 |  |  |         (df_scan_alloc): Removed blocks_to_rescan param and reference to
 | 
      
         | 1752 |  |  |         out_of_date_transfer_functions and added insns_to_notes_rescan.
 | 
      
         | 1753 |  |  |         (df_scan_free): Removed reference to
 | 
      
         | 1754 |  |  |         out_of_date_transfer_functions.
 | 
      
         | 1755 |  |  |         (df_scan_start_dump, df_scan_start_block): Added ";;" in front of
 | 
      
         | 1756 |  |  |         debugging lines.
 | 
      
         | 1757 |  |  |         (problem_SCAN): Added extra null fields.
 | 
      
         | 1758 |  |  |         (df_scan_blocks): Added code to set entry and exit blocks as
 | 
      
         | 1759 |  |  |         dirty.
 | 
      
         | 1760 |  |  |         (df_insn_delete): Added basic block parameter and support for
 | 
      
         | 1761 |  |  |         insns_to_notes_rescan.
 | 
      
         | 1762 |  |  |         (df_bb_delete): Removed.
 | 
      
         | 1763 |  |  |         (df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans,
 | 
      
         | 1764 |  |  |         df_notes_rescan): Added support for insns_to_notes_rescan.
 | 
      
         | 1765 |  |  |         (df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans):
 | 
      
         | 1766 |  |  |         Added extra parameter to df_insn_delete.
 | 
      
         | 1767 |  |  |         (df_process_deferred_rescans): Added support to fixup entry and
 | 
      
         | 1768 |  |  |         exit blocks if regs_ever_live changes.
 | 
      
         | 1769 |  |  |         (df_insn_change_bb): Added debugging.
 | 
      
         | 1770 |  |  |         (df_ref_change_reg_with_loc_1): Added code to dirty the block.
 | 
      
         | 1771 |  |  |         (df_insn_contains_asm_1, df_insn_contains_asm): Function moved to
 | 
      
         | 1772 |  |  |         global.c.
 | 
      
         | 1773 |  |  |         (df_insn_refs_record): Removed code to set insn_contains_asm.
 | 
      
         | 1774 |  |  |         (df_bb_refs_record): Now sets itself dirty.
 | 
      
         | 1775 |  |  |         (df_get_entry_block_def_set, df_get_exit_block_use_set):
 | 
      
         | 1776 |  |  |         Encapsulated references to regs_ever_live.
 | 
      
         | 1777 |  |  |         (df_update_entry_block_defs, df_update_exit_block_uses): Added
 | 
      
         | 1778 |  |  |         finer grained control on dirtying the block.
 | 
      
         | 1779 |  |  |         (df_regs_ever_live_p, df_set_regs_ever_live): New functions.
 | 
      
         | 1780 |  |  |         (df_compute_regs_ever_live): New reset parameter.
 | 
      
         | 1781 |  |  |         (df_verify_blocks): Renamed to df_scan_verify and added more
 | 
      
         | 1782 |  |  |         checking code.
 | 
      
         | 1783 |  |  |         * df-core.c (df_add_problem): Initialized solutions_dirty.
 | 
      
         | 1784 |  |  |         (df_finish_pass): Added calls to verify transfer functions.
 | 
      
         | 1785 |  |  |         (rest_of_handle_df_initialize): Added more initialization for
 | 
      
         | 1786 |  |  |         persistent structures.
 | 
      
         | 1787 |  |  |         * (df_hybrid_search_forward, df_hybrid_search_backward,
 | 
      
         | 1788 |  |  |         df_iterative_dataflow, df_analyze_problem): Removed single_pass parameter.
 | 
      
         | 1789 |  |  |         (df_analyze_problem): Added checking for results of dataflow.
 | 
      
         | 1790 |  |  |         (df_analyze): Added more debugging and removed changing
 | 
      
         | 1791 |  |  |         out_of_date_transfer functions.
 | 
      
         | 1792 |  |  |         (df_get_bb_dirty, df_set_bb_dirty, df_compact_blocks): Supports
 | 
      
         | 1793 |  |  |         each problem having it own incremental
 | 
      
         | 1794 |  |  |         status bits.
 | 
      
         | 1795 |  |  |         (df_clear_bb_dirty, df_verify, df_compute_cfg_image,
 | 
      
         | 1796 |  |  |         df_check_cfg_clean, df_set_clean_cfg): New function.
 | 
      
         | 1797 |  |  |         (df_compact_blocks, df_bb_replace): More debugging.
 | 
      
         | 1798 |  |  |         *df.h (df_alloc_function, df_local_compute_function): Removed
 | 
      
         | 1799 |  |  |         blocks_to_scan parameter.
 | 
      
         | 1800 |  |  |         (df_dataflow_function): Removed single_pass parameter.
 | 
      
         | 1801 |  |  |         (df_verify_solution_start, df_verify_solution_end): New function
 | 
      
         | 1802 |  |  |         types.
 | 
      
         | 1803 |  |  |         (dataflow.out_of_date_transfer_functions,
 | 
      
         | 1804 |  |  |         dataflow.solutions_dirty): Moved from df structure so each problem
 | 
      
         | 1805 |  |  |         could have its own copy.
 | 
      
         | 1806 |  |  |         (df_insn_info.contains_asm, DF_INSN_CONTAINS_ASM): Functionality
 | 
      
         | 1807 |  |  |         moved into global.c.
 | 
      
         | 1808 |  |  |         (df.solutions.dirty, out_of_date_transfer_functions): Moved to
 | 
      
         | 1809 |  |  |         struct dataflow.
 | 
      
         | 1810 |  |  |         (df.redo_entry_and_exit, df.insns_to_notes_rescan): New fields.
 | 
      
         | 1811 |  |  |         (DF_DEBUG_CFG): Flag to control code to check if cfg modifications
 | 
      
         | 1812 |  |  |         are being reported to df.
 | 
      
         | 1813 |  |  |         * df-problems.c (df_print_bb_index, df_lr_top_dump,
 | 
      
         | 1814 |  |  |         df_lr_bottom_dump, df_ur_top_dump, df_ur_bottom_dump): Cleanup
 | 
      
         | 1815 |  |  |         more dump info.
 | 
      
         | 1816 |  |  |         (df_ru_alloc, df_ru_local_compute, df_rd_alloc,
 | 
      
         | 1817 |  |  |         df_rd_local_compute, df_lr_alloc, df_lr_local_compute,
 | 
      
         | 1818 |  |  |         df_ur_alloc, df_ur_local_compute, df_live_alloc, df_urec_alloc,
 | 
      
         | 1819 |  |  |         df_urec_local_compute, df_chain_alloc, df_ri_alloc,
 | 
      
         | 1820 |  |  |         df_ri_compute): Removed blocks_to_rescan parameter.
 | 
      
         | 1821 |  |  |         (problem_RU, problem_RD, problem_LR, problem_UR, problem_LIVE,
 | 
      
         | 1822 |  |  |         problem_UREC, problem_RI): Added two new fields.
 | 
      
         | 1823 |  |  |         (df_lr_problem_data, df_ur_problem_data): New data structure to
 | 
      
         | 1824 |  |  |         support checking of dataflow solutions.
 | 
      
         | 1825 |  |  |         (df_lr_alloc, df_lr_local_compute, df_ur_alloc,
 | 
      
         | 1826 |  |  |         df_ur_local_compute, df_ur_free): Now processes only out of date blocks.
 | 
      
         | 1827 |  |  |         (df_lr_reset, df_lr_verify_solution_start,
 | 
      
         | 1828 |  |  |         df_lr_verify_solution_end, df_lr_verify_transfer_functions,
 | 
      
         | 1829 |  |  |         df_ur_reset, df_ur_local_finalize, df_ur_verify_solution_start,
 | 
      
         | 1830 |  |  |         df_ur_verify_solution_end, df_ur_verify_transfer_functions): New function.
 | 
      
         | 1831 |  |  |         (df_lr_bb_local_compute, df_lr_local_compute): Moved asm scanning to global.c.
 | 
      
         | 1832 |  |  |         (df_lr_local_finalize, df_lr_free, df_live_local_finalize): Added
 | 
      
         | 1833 |  |  |         code to support incremental checking of dataflow solution.
 | 
      
         | 1834 |  |  |         * passes.c (pass_free_cfg): Moved to before machine_reorg.
 | 
      
         | 1835 |  |  |         * cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
 | 
      
         | 1836 |  |  |         cfg_layout_merge_blocks): Changed df_delete_basic_blocks to
 | 
      
         | 1837 |  |  |         df_bb_delete.
 | 
      
         | 1838 |  |  |         (update_bb_for_insn): Changed df_insn_rescan to df_insn_change_bb.
 | 
      
         | 1839 |  |  |         (force_nonfallthru_and_redirect): Added call to
 | 
      
         | 1840 |  |  |         df_mark_solutions_dirty.
 | 
      
         | 1841 |  |  |         * dce.c (dce_process_block): Added more checking code and made the
 | 
      
         | 1842 |  |  |         code closer to the functionality in df_lr.
 | 
      
         | 1843 |  |  |         (fast_dce): Now skips entry and exit blocks.  Deleted last parm to
 | 
      
         | 1844 |  |  |         df_analyze_problem and removed changed bitmap.
 | 
      
         | 1845 |  |  |         * fwprop.c (update_df, try_fwprop_subst): Added calls to df_set_bb_dirty.
 | 
      
         | 1846 |  |  |         * cfg.c (connect_src, connect_dest, disconnect_src,
 | 
      
         | 1847 |  |  |         disconnect_dest): Added calls to df_mark_solutions_dirty.
 | 
      
         | 1848 |  |  |         * haifa-sched.c (move_succs): Ditto.
 | 
      
         | 1849 |  |  |         * ifcvt.c (find_cond_trap): Moved calls to df_set_bb_dirty to
 | 
      
         | 1850 |  |  |         before deletion of basic block.
 | 
      
         | 1851 |  |  |         * emit-rtl.c (set_insn_deleted, remove_insn): Added basic block
 | 
      
         | 1852 |  |  |         parm.
 | 
      
         | 1853 |  |  |         * regclass.c (regclass_init): Added reset parm to df_compute_res_ever_live.
 | 
      
         | 1854 |  |  |  
 | 
      
         | 1855 |  |  |  
 | 
      
         | 1856 |  |  | 2006-12-28  Kenneth Zadeck 
 | 
      
         | 1857 |  |  |         * local_alloc.c (rest_of_handle_local_alloc): changed
 | 
      
         | 1858 |  |  |         extra_warnings to warn_clobbered.
 | 
      
         | 1859 |  |  |  
 | 
      
         | 1860 |  |  | 2006-12-25  Kenneth Zadeck 
 | 
      
         | 1861 |  |  |         * dce.c (delete_corresponding_reg_eq_notes): Added comment.
 | 
      
         | 1862 |  |  |         (delete_unmarked_insns): Added code to delete noop moves
 | 
      
         | 1863 |  |  |         inside of libcalls.  Changed to used delete_insn_and_edges.
 | 
      
         | 1864 |  |  |  
 | 
      
         | 1865 |  |  | 2006-12-22  Andrew Pinski  
 | 
      
         | 1866 |  |  |  
 | 
      
         | 1867 |  |  |         * config/spu/spu.c (immediate_load_p): Change usage of
 | 
      
         | 1868 |  |  |         flow2_completed over to epilogue_completed.
 | 
      
         | 1869 |  |  |  
 | 
      
         | 1870 |  |  | 2006-12-22  Kenneth Zadeck 
 | 
      
         | 1871 |  |  |  
 | 
      
         | 1872 |  |  |         * df-problems.c (df_ru_start_dump, df_ru_top_dump,
 | 
      
         | 1873 |  |  |         df_ru_bottom_dump, df_rd_start_dump, df_rd_top_dump,
 | 
      
         | 1874 |  |  |         df_rd_bottom_dump, df_lr_top_dump, df_lr_bottom_dump,
 | 
      
         | 1875 |  |  |         df_ur_top_dump, df_ur_bottom_dump, df_live_top_dump,
 | 
      
         | 1876 |  |  |         df_urec_top_dump, df_urec_bottom_dump, df_chain_start_dump,
 | 
      
         | 1877 |  |  |         df_ri_start_dump): Added ";; " to the beginning of dataflow
 | 
      
         | 1878 |  |  |         information put in dump files.
 | 
      
         | 1879 |  |  |         * dce.c (marked_libcalls, delete_unmarked_insns): Removed.
 | 
      
         | 1880 |  |  |         (prescan_insns_for_dce, mark_libcall, dce_process_block,
 | 
      
         | 1881 |  |  |         prescan_insns_for_dse): Replaced libcall marking mechanism.
 | 
      
         | 1882 |  |  |         (init_dce, end_dce, end_fast_dce, run_fast_df_dce): Removed
 | 
      
         | 1883 |  |  |         marked_libcalls.
 | 
      
         | 1884 |  |  |  
 | 
      
         | 1885 |  |  | 2006-12-16  Kenneth Zadeck 
 | 
      
         | 1886 |  |  |  
 | 
      
         | 1887 |  |  |         * regrename.c (mrege_overlapping_regs): Removed df parameter
 | 
      
         | 1888 |  |  |         and changed calls to df_ routines to support new incremental
 | 
      
         | 1889 |  |  |         scanning.
 | 
      
         | 1890 |  |  |         * sched_ebb (schedule_ebbs): Removed return value and changed
 | 
      
         | 1891 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 1892 |  |  |         * fwprop.c (local_ref_killed_between_p, use_killed_between,
 | 
      
         | 1893 |  |  |         all_uses_available_at, update_df, try_fwprop_subst, fwprop,
 | 
      
         | 1894 |  |  |         fwprop_addr): Removed df parameter and changed calls to df_
 | 
      
         | 1895 |  |  |         routines to support new incremental scanning.
 | 
      
         | 1896 |  |  |         (gate_fwprop, gate_fwprop_addr): Reenabled pass.
 | 
      
         | 1897 |  |  |         * doc/cfg.texi: Updated liveness info documentation.
 | 
      
         | 1898 |  |  |         * doc/rtl.texi: Updated liveness info documentation.
 | 
      
         | 1899 |  |  |         * see.c (see_initialize_data_structures, see_emit_use_extension,
 | 
      
         | 1900 |  |  |         see_commit_changes, see_analyze_merged_def_local_prop,
 | 
      
         | 1901 |  |  |         see_analyze_use_local_prop, see_set_prop_merged_def,
 | 
      
         | 1902 |  |  |         see_set_prop_unmerged_use, see_store_reference_and_extension,
 | 
      
         | 1903 |  |  |         see_handle_relevant_defs, see_handle_relevant_uses,
 | 
      
         | 1904 |  |  |         see_update_uses_relevancy, see_propagate_extensions_to_uses,
 | 
      
         | 1905 |  |  |         pass_see): Removed df parameter and changed calls to df_ routines
 | 
      
         | 1906 |  |  |         to support new incremental scanning.
 | 
      
         | 1907 |  |  |         * postreload.c (reload_cse_simplify_operands): Changed REGNO to
 | 
      
         | 1908 |  |  |         SET_REGNO.
 | 
      
         | 1909 |  |  |         (reload_combine): Removed df parameter and changed calls to df_
 | 
      
         | 1910 |  |  |         routines to support new incremental scanning.
 | 
      
         | 1911 |  |  |         * tree.h (generate_setjmp_warnings): Removed df parameter.
 | 
      
         | 1912 |  |  |         * reload.c (push_reload, find_dummy_reload): Removed df parameter
 | 
      
         | 1913 |  |  |         and changed calls to df_ routines to support new incremental
 | 
      
         | 1914 |  |  |         scanning.
 | 
      
         | 1915 |  |  |         * tree-pass.h (pass_df_initialize, pass_df_finish): New passes.
 | 
      
         | 1916 |  |  |         * rtlanal.c (remove_note): Call df_notes_rescan if the
 | 
      
         | 1917 |  |  |         REG_EQUAL/EQUIV notes change.
 | 
      
         | 1918 |  |  |         * ddg.c (add_deps_for_def, add_deps_for_use,
 | 
      
         | 1919 |  |  |         add_inter_loop_mem_dep): Removed df parameter and changed calls to
 | 
      
         | 1920 |  |  |         df_ routines to support new incremental scanning.
 | 
      
         | 1921 |  |  |         * ddg.h (struct df) Removed.
 | 
      
         | 1922 |  |  |         * final.c (cleanup_subreg_operands): Added call df_insn_rescan if
 | 
      
         | 1923 |  |  |         insn changes.
 | 
      
         | 1924 |  |  |         (walk_alter_subreg): Added changed parameter to track changes.
 | 
      
         | 1925 |  |  |         (output_address): Added changed parameter to walk_alter_subreg.
 | 
      
         | 1926 |  |  |         * cfg.c (compact_blocks, dump_bb_info): Removed df parameter to df_
 | 
      
         | 1927 |  |  |         calls.
 | 
      
         | 1928 |  |  |         * auto_inc_dec.c (attempt_changed): Moved call to
 | 
      
         | 1929 |  |  |         df_recompute_luids so that it is only called when moves are added.
 | 
      
         | 1930 |  |  |         (find_inc, merge_in_block, rest_of_handle_auto_inc_dec): Removed
 | 
      
         | 1931 |  |  |         df parameter and changed calls to df_ routines to support new
 | 
      
         | 1932 |  |  |         incremental scanning.
 | 
      
         | 1933 |  |  |         (merge_in_block): Added call to df_recompute_luids.
 | 
      
         | 1934 |  |  |         * reorg.c (delete_from_delay_slot, relax_delay_slots): Added basic
 | 
      
         | 1935 |  |  |         block parm to add_insn_after.
 | 
      
         | 1936 |  |  |         (fill_simple_delay_slots, fill_slots_from_thread,
 | 
      
         | 1937 |  |  |         fill_eager_delay_slots, make_return_insns, dbr_schedule): Removed
 | 
      
         | 1938 |  |  |         df parameter and changed calls to df_ routines to support new
 | 
      
         | 1939 |  |  |         incremental scanning.
 | 
      
         | 1940 |  |  |         * df-scan.c (struct df_reg_chains): Removed.
 | 
      
         | 1941 |  |  |         (df_scan_free_internal, df_scan_free_internal,
 | 
      
         | 1942 |  |  |         df_scan_free_bb_info, df_scan_alloc, df_scan_free,
 | 
      
         | 1943 |  |  |         df_scan_start_dump, df_scan_add_problem, df_grow_reg_info,
 | 
      
         | 1944 |  |  |         df_check_and_grow_ref_info, df_grow_insn_info, df_scan_blocks,
 | 
      
         | 1945 |  |  |         df_ref_create, df_scan_alloc, df_scan_start_block,
 | 
      
         | 1946 |  |  |         df_scan_add_problem, df_grow_reg_info, df_check_and_grow_ref_info,
 | 
      
         | 1947 |  |  |         df_grow_insn_info, df_scan_blocks, df_ref_create,
 | 
      
         | 1948 |  |  |         df_get_artificial_uses, df_reg_chain_create, df_reg_chain_unlink,
 | 
      
         | 1949 |  |  |         df_ref_remove, df_insn_create_insn_record,
 | 
      
         | 1950 |  |  |         df_ref_chain_delete_du_chain, df_ref_chain_delete, df_insn_delete,
 | 
      
         | 1951 |  |  |         df_bb_delete, df_insn_rescan, df_reorganize_refs,
 | 
      
         | 1952 |  |  |         df_insn_change_bb, df_maybe_reorganize_use_refs,
 | 
      
         | 1953 |  |  |         df_maybe_reorganize_def_refs, df_reg_chain_find_ref,
 | 
      
         | 1954 |  |  |         df_ref_find_chains, df_ref_add_to_chains, df_refs_add_to_chains,
 | 
      
         | 1955 |  |  |         df_ref_create_structure, df_ref_record, df_def_record_1,
 | 
      
         | 1956 |  |  |         df_defs_record, df_uses_record, df_get_conditional_uses,
 | 
      
         | 1957 |  |  |         df_get_call_refs, df_get_call_refs, df_insn_refs_collect,
 | 
      
         | 1958 |  |  |         df_insn_refs_record, df_recompute_luids, df_bb_refs_collect,
 | 
      
         | 1959 |  |  |         df_bb_refs_record, df_bb_refs_record, df_mark_reg,
 | 
      
         | 1960 |  |  |         df_get_entry_block_def_set, df_entry_block_defs_collect,
 | 
      
         | 1961 |  |  |         df_record_entry_block_defs, df_update_entry_block_defs,
 | 
      
         | 1962 |  |  |         df_exit_block_uses_collect, df_record_exit_block_uses,
 | 
      
         | 1963 |  |  |         df_update_exit_block_uses, df_compute_regs_ever_live,
 | 
      
         | 1964 |  |  |         df_reg_chain_unmark, df_ref_chain_free, df_ref_verify,
 | 
      
         | 1965 |  |  |         df_ref_verify, df_insn_refs_verify, df_bb_verify,
 | 
      
         | 1966 |  |  |         df_exit_block_bitmap_verify, df_entry_block_bitmap_verify,
 | 
      
         | 1967 |  |  |         df_verify_blocks): Removed df and dflow parameters and changed
 | 
      
         | 1968 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 1969 |  |  |         (df_ref_chain_unmark): Renamed to df_ref_chain_verify_and_unmark.
 | 
      
         | 1970 |  |  |         (df_scan_get_bb_info, df_scan_set_bb_info): Made tolerant of
 | 
      
         | 1971 |  |  |         missing basic block info.
 | 
      
         | 1972 |  |  |         (df_insn_rescan_all, df_process_deferred_rescans,
 | 
      
         | 1973 |  |  |         df_ref_chain_find_ref_by_regno, df_ref_change_reg_with_loc_1,
 | 
      
         | 1974 |  |  |         df_ref_change_reg_with_loc,
 | 
      
         | 1975 |  |  |         df_mw_hardreg_chain_delete_eq_uses, df_notes_rescan,
 | 
      
         | 1976 |  |  |         df_update_entry_exit_and_calls, df_hard_reg_used_p,
 | 
      
         | 1977 |  |  |         df_mw_hardreg_find_hardreg): New function.
 | 
      
         | 1978 |  |  |         (df_ref_is_pointer_equal, df_bb_refs_verify): Deleted function.
 | 
      
         | 1979 |  |  |         * haifa_sched.c (move_insn): Removed df parameter and changed calls to
 | 
      
         | 1980 |  |  |         df_ routines to support new incremental scanning.
 | 
      
         | 1981 |  |  |         * df-core.c (df_init): Deleted function.
 | 
      
         | 1982 |  |  |         (df): New static instance of dataflow.
 | 
      
         | 1983 |  |  |         (df_add_problem, df_remove_problem, df_set_flags, df_clear_flags,
 | 
      
         | 1984 |  |  |         df_set_blocks, df_delete_basic_block, df_hybrid_search_forward,
 | 
      
         | 1985 |  |  |         df_hybrid_search_backward, df_iterative_dataflow,
 | 
      
         | 1986 |  |  |         df_analyze_problem, df_analyze, df_get_n_blocks, df_get_postorder,
 | 
      
         | 1987 |  |  |         df_mark_solutions_dirty, df_get_bb_dirty, df_set_bb_dirty,
 | 
      
         | 1988 |  |  |         df_compact_blocks, df_bb_replace, df_bb_regno_last_use_find,
 | 
      
         | 1989 |  |  |         df_bb_regno_first_def_find, df_bb_regno_last_def_find,
 | 
      
         | 1990 |  |  |         df_insn_regno_def_p, df_find_def, df_reg_defined, df_find_use,
 | 
      
         | 1991 |  |  |         df_reg_used, df_dump, df_dump_start, df_dump_top, df_dump_bottom,
 | 
      
         | 1992 |  |  |         df_regs_chain_dump, df_insn_uid_debug, df_insn_debug,
 | 
      
         | 1993 |  |  |         df_insn_debug_regno, df_regno_debug, debug_df_insn, debug_df_reg,
 | 
      
         | 1994 |  |  |         debug_df_defno, debug_df_useno): Removed df parameter and
 | 
      
         | 1995 |  |  |         changed calls to df_ routines to support new incremental scanning.
 | 
      
         | 1996 |  |  |         (df_finish1): Deleted function.
 | 
      
         | 1997 |  |  |         (df_remove_problem, df_finish_pass, rest_of_handle_df_initialize,
 | 
      
         | 1998 |  |  |         rest_of_handle_df_finish): New function.
 | 
      
         | 1999 |  |  |         (pass_df_finish, pass_df_initialize): New passes.
 | 
      
         | 2000 |  |  |         * mode-switching.c (optimize_mode_switching):  Removed df parameter and
 | 
      
         | 2001 |  |  |         changed calls to df_ routines to support new incremental scanning.
 | 
      
         | 2002 |  |  |         * modulo-sched.c (sms_schedule): Removed df parameter and
 | 
      
         | 2003 |  |  |         changed calls to df_ routines to support new incremental scanning.
 | 
      
         | 2004 |  |  |         (add_insn_before): Added extra parameter to add_insn_before.
 | 
      
         | 2005 |  |  |         * caller-save.c (init_caller_save): Changed REGNO to SET_REGNO.
 | 
      
         | 2006 |  |  |         * cse.c (cse_main): Disabled incremental df update during this
 | 
      
         | 2007 |  |  |         pass.
 | 
      
         | 2008 |  |  |         * web.c (union_defs, replace_ref, web_main, pass_web): Removed df
 | 
      
         | 2009 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2010 |  |  |         incremental scanning.
 | 
      
         | 2011 |  |  |         * loop-init.c (rtl_unroll_and_peel_loops,
 | 
      
         | 2012 |  |  |         pass_rtl_move_loop_invariants): Removed df parameter and changed
 | 
      
         | 2013 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 2014 |  |  |         * global.c (global_alloc, global_conflicts, retry_global_alloc,
 | 
      
         | 2015 |  |  |         mark_elimination, build_insn_chain, rest_of_handle_global_alloc):
 | 
      
         | 2016 |  |  |         Removed df parameter and changed calls to df_ routines to support
 | 
      
         | 2017 |  |  |         new incremental scanning.
 | 
      
         | 2018 |  |  |         * ifcvt.c (, find_if_header, find_if_case_1, find_if_case_2,
 | 
      
         | 2019 |  |  |         dead_or_predicable, if_convert, pass_rtl_ifcvt,
 | 
      
         | 2020 |  |  |         pass_if_after_combine, pass_if_after_reload): Removed df parameter
 | 
      
         | 2021 |  |  |         and changed calls to df_ routines to support new incremental
 | 
      
         | 2022 |  |  |         scanning.
 | 
      
         | 2023 |  |  |         * expr.c (init_expr_once): Changed REGNO to SET_REGNO.
 | 
      
         | 2024 |  |  |         * recog.c (peephole2_optimize, pass_split_all_insn): Removed df
 | 
      
         | 2025 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2026 |  |  |         incremental scanning.
 | 
      
         | 2027 |  |  |         * regmove.c (mark_flags_life_zones, optimize_reg_copy_2,
 | 
      
         | 2028 |  |  |         regmove_optimize, rest_of_handle_stack_adjustments): Removed df
 | 
      
         | 2029 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2030 |  |  |         incremental scanning.
 | 
      
         | 2031 |  |  |         * local-alloc.c (block_alloc, rest_of_handle_local_alloc): Removed df
 | 
      
         | 2032 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2033 |  |  |         incremental scanning.
 | 
      
         | 2034 |  |  |         * function.c (regno_clobbered_at_setjmp, setjmp_vars_warning,
 | 
      
         | 2035 |  |  |         setjmp_args_warning, generate_setjmp_warnings,
 | 
      
         | 2036 |  |  |         keep_stack_depressed, thread_prologue_and_epilogue_insns,
 | 
      
         | 2037 |  |  |         epilogue_done, rest_of_handle_thread_prologue_and_epilogue): Removed df
 | 
      
         | 2038 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2039 |  |  |         incremental scanning.
 | 
      
         | 2040 |  |  |         * function.h (df): Deleted variable.
 | 
      
         | 2041 |  |  |         * df.h (DF_RU, DF_RD, DF_LR, DF_UR, DF_LIVE): Renumbered to put
 | 
      
         | 2042 |  |  |         permanent problems before optional problems.
 | 
      
         | 2043 |  |  |         (DF_FIRST_OPTIONAL_PROBLEM): New symbol.
 | 
      
         | 2044 |  |  |         (df_ref_flags.DF_REF_REF_MARKER, df_ref_flags.DF_REF_REG_MARKER): New flag.
 | 
      
         | 2045 |  |  |         (df_ref_flags.DF_REF_ARTIFICIAL, df_ref_flags.DF_REF_MARKER):
 | 
      
         | 2046 |  |  |         Deleted flag.
 | 
      
         | 2047 |  |  |         (df_alloc_function, df_reset_function, df_free_bb_function,
 | 
      
         | 2048 |  |  |         df_local_compute_function, df_init_function, df_dataflow_function,
 | 
      
         | 2049 |  |  |         df_confluence_function_0, df_confluence_function_n,
 | 
      
         | 2050 |  |  |         df_transfer_function, df_finalizer_function, df_free_function,
 | 
      
         | 2051 |  |  |         df_remove_problem_function, df_dump_problem_function,
 | 
      
         | 2052 |  |  |         df_dump_bb_problem_function, DF_SCAN_BB_INFO, DF_RU_BB_INFO,
 | 
      
         | 2053 |  |  |         DF_RD_BB_INFO, DF_UR_BB_INFO, DF_UREC_BB_INFO, DF_LIVE_BB_INFO,
 | 
      
         | 2054 |  |  |         DF_LIVE_IN, DF_LIVE_OUT, DF_RA_LIVE_IN, DF_RA_LIVE_OUT,
 | 
      
         | 2055 |  |  |         DF_RA_LIVE_TOP, DF_LR_IN, DF_LR_OUT, DF_UR_IN, DF_UR_OUT,
 | 
      
         | 2056 |  |  |         DF_DEFS_GET, DF_DEFS_SET, DF_DEFS_COUNT, DF_DEFS_BEGIN,
 | 
      
         | 2057 |  |  |         DF_USES_GET, DF_USES_SET, DF_USES_COUNT, DF_USES_BEGIN,
 | 
      
         | 2058 |  |  |         DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_CHAIN, DF_REG_DEF_COUNT,
 | 
      
         | 2059 |  |  |         DF_REG_USE_GET, DF_REG_USE_CHAIN, DF_REG_USE_COUNT,
 | 
      
         | 2060 |  |  |         DF_REG_EQ_USE_GET, DF_REG_EQ_USE_CHAIN, DF_REG_EQ_USE_COUNT,
 | 
      
         | 2061 |  |  |         DF_REGNO_FIRST_DEF, DF_REGNO_LAST_USE, DF_REGNO_FIRST_DEF,
 | 
      
         | 2062 |  |  |         DF_REGNO_LAST_USE, DF_INSN_SIZE, DF_INSN_GET, DF_INSN_SET,
 | 
      
         | 2063 |  |  |         DF_INSN_CONTAINS_ASM, DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES,
 | 
      
         | 2064 |  |  |         DF_INSN_EQ_USES, DF_INSN_UID_GET, DF_INSN_UID_SAFE_GET,
 | 
      
         | 2065 |  |  |         DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
 | 
      
         | 2066 |  |  |         DF_INSN_UID_EQ_USES, DF_INSN_UID_MWS): Removed df or dflow
 | 
      
         | 2067 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2068 |  |  |         incremental scanning.
 | 
      
         | 2069 |  |  |         (DF_DEFS_SIZE, DF_USES_SIZE): Renamed to DF_DEFS_TABLE_SIZE and
 | 
      
         | 2070 |  |  |         DF_USES_TABLE_SIZE.
 | 
      
         | 2071 |  |  |         (DF_DEFS_TOTAL_SIZE, DF_USES_TOTAL_SIZE, df_scan, df_ru, df_rd,
 | 
      
         | 2072 |  |  |         df_lr, df_ur, df_live, df_urec, df_chain, df_ri,
 | 
      
         | 2073 |  |  |         DF_DEFS_TOTAL_SIZE, DF_USES_TOTAL_SIZE): New macros.
 | 
      
         | 2074 |  |  |         (dataflow.df): Removed field.
 | 
      
         | 2075 |  |  |         (df_ref_info.bitmap_size): Split into df_ref_info.table_size and
 | 
      
         | 2076 |  |  |         df_ref_info.total_size.
 | 
      
         | 2077 |  |  |         (dataflow.local_flags, df_insn_info.insn,
 | 
      
         | 2078 |  |  |         df_changeable_flags.DF_DEFER_INSN_RESCAN, df_ref_info.count,
 | 
      
         | 2079 |  |  |         df.insns_to_rescan, df.insns_to_delete): New field.
 | 
      
         | 2080 |  |  |         (df_permanent_flags): Split into df_chain_flags and df_ri_flags.
 | 
      
         | 2081 |  |  |         * gcse (try_replace_reg, adjust_libcall_notes,
 | 
      
         | 2082 |  |  |         update_ld_motion_stores):  Removed df
 | 
      
         | 2083 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2084 |  |  |         incremental scanning.
 | 
      
         | 2085 |  |  |         (insert_insn_end_basic_block, insert_insn_start_basic_block):
 | 
      
         | 2086 |  |  |         Added bb parameter to emit_insn_before_noloc.
 | 
      
         | 2087 |  |  |         * rtl-factoring.c (match_seqs, collect_pattern_seqs,
 | 
      
         | 2088 |  |  |         collect_pattern_seqs, clear_regs_live_in_seq,
 | 
      
         | 2089 |  |  |         recompute_gain_for_pattern_seq,, recompute_gain,
 | 
      
         | 2090 |  |  |         split_blocks_after_seqs, split_pattern_seq, erase_matching_seqs,
 | 
      
         | 2091 |  |  |         abstract_best_seq, rtl_seqabstr): Removed df parameter and changed
 | 
      
         | 2092 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 2093 |  |  |         * expmed.c (init_expmed): Changed REGNO to SET_REGNO.
 | 
      
         | 2094 |  |  |         * bt-load.c (, compute_defs_uses_and_gen, build_btr_def_use_webs,
 | 
      
         | 2095 |  |  |         migrate_btr_defs, branch_target_load_optimize,
 | 
      
         | 2096 |  |  |         pass_branch_target_load_optimize1,
 | 
      
         | 2097 |  |  |         pass_branch_target_load_optimize1): Removed df parameter and changed
 | 
      
         | 2098 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 2099 |  |  |         * emit-rtl.c (add_insn_after, add_insn_before,
 | 
      
         | 2100 |  |  |         emit_insn_before_noloc, emit_insn_after_1,
 | 
      
         | 2101 |  |  |         emit_insn_after_noloc): Added basic block parameter and threaded
 | 
      
         | 2102 |  |  |         it to subcalls.
 | 
      
         | 2103 |  |  |         (emit_jump_insn_before_noloc,
 | 
      
         | 2104 |  |  |         emit_call_insn_before_noloc, emit_barrier_before,
 | 
      
         | 2105 |  |  |         emit_label_before, emit_note_before, emit_call_insn_after_noloc,
 | 
      
         | 2106 |  |  |         emit_jump_insn_after_noloc, emit_label_after, emit_note_after,
 | 
      
         | 2107 |  |  |         emit_insn_after_setloc, emit_insn_before_setloc): Add NULL basic
 | 
      
         | 2108 |  |  |         block parameter to certain subcalls.
 | 
      
         | 2109 |  |  |         (set_unique_reg_note): Now calls df_notes_rescan if REG_EQUAL or
 | 
      
         | 2110 |  |  |         REG_EQUIV notes change.
 | 
      
         | 2111 |  |  |         * loop-invariant.c (check_invariant_table_size,
 | 
      
         | 2112 |  |  |         hash_invariant_expr_1, invariant_expr_equal_p, find_defs,
 | 
      
         | 2113 |  |  |         check_dependencies, record_uses, find_invariants_to_move,
 | 
      
         | 2114 |  |  |         move_invariant_reg, fail, free_inv_motion_data,
 | 
      
         | 2115 |  |  |         move_loop_invariants):  Removed df parameter and changed
 | 
      
         | 2116 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 2117 |  |  |         * subregs_init (initialize_uninitialized_subregs): Removed df
 | 
      
         | 2118 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2119 |  |  |         incremental scanning.
 | 
      
         | 2120 |  |  |         * loop-iv.c (iv_current_loop_df): Deleted function.
 | 
      
         | 2121 |  |  |         (check_iv_ref_table_size, clear_iv_info, iv_analysis_loop_init,
 | 
      
         | 2122 |  |  |         latch_dominating_def, iv_get_reaching_def, iv_get_reaching_def,
 | 
      
         | 2123 |  |  |         iv_analyze, iv_analyze_result, biv_p, iv_analysis_done): Removed df
 | 
      
         | 2124 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2125 |  |  |         incremental scanning.
 | 
      
         | 2126 |  |  |         * regclass.c (regclass_init): Insert call to recalculate the
 | 
      
         | 2127 |  |  |         effects of changing regs_ever_live.
 | 
      
         | 2128 |  |  |         (init_reg_autoinc):  Changed REGNO to SET_REGNO.
 | 
      
         | 2129 |  |  |         * rtl.h (REGNO): Changed so that it cannot appear on lhs.
 | 
      
         | 2130 |  |  |         (SET_REGNO): New macro.
 | 
      
         | 2131 |  |  |         (rhs_regno): New function.
 | 
      
         | 2132 |  |  |         (basic_block): New forward declaration.
 | 
      
         | 2133 |  |  |         * integrate.c (allocate_initial_values): Changed REGNO to
 | 
      
         | 2134 |  |  |         SET_REGNO and removed df parameter and changed calls to df_
 | 
      
         | 2135 |  |  |         routines to support new incremental scanning.
 | 
      
         | 2136 |  |  |         * combine.c (set_nonzero_bits_and_sign_copies, subst,
 | 
      
         | 2137 |  |  |         reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
 | 
      
         | 2138 |  |  |         get_last_value_validate, get_last_value, reg_dead_at_p,
 | 
      
         | 2139 |  |  |         create_log_links, create_log_links, rest_of_handle_combine,
 | 
      
         | 2140 |  |  |         pass_combine): Removed df parameter and changed calls to df_
 | 
      
         | 2141 |  |  |         routines to support new incremental scanning.
 | 
      
         | 2142 |  |  |         * stack-ptr-mod.c (notice_stack_pointer_modification): Removed df
 | 
      
         | 2143 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2144 |  |  |         incremental scanning.
 | 
      
         | 2145 |  |  |         * resource.c (mark_target_live_regs): Removed df
 | 
      
         | 2146 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2147 |  |  |         incremental scanning.
 | 
      
         | 2148 |  |  |         * resource.h (mark_target_live_regs): Removed df
 | 
      
         | 2149 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2150 |  |  |         incremental scanning.
 | 
      
         | 2151 |  |  |         * cfgloop.h (iv_current_loop_df): Removed.
 | 
      
         | 2152 |  |  |         * df-problems.c (df_get_live_in, df_get_live_out,
 | 
      
         | 2153 |  |  |         df_ru_get_bb_info, df_ru_set_bb_info, df_ru_free_bb_info,
 | 
      
         | 2154 |  |  |         df_ru_alloc, df_ru_bb_local_compute_process_def,
 | 
      
         | 2155 |  |  |         df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
 | 
      
         | 2156 |  |  |         df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
 | 
      
         | 2157 |  |  |         df_ru_transfer_function, df_ru_free, df_ru_start_dump,
 | 
      
         | 2158 |  |  |         df_ru_top_dump, df_ru_bottom_dump, df_ru_add_problem,
 | 
      
         | 2159 |  |  |         df_rd_get_bb_info, df_rd_set_bb_info, df_rd_free_bb_info,
 | 
      
         | 2160 |  |  |         df_rd_alloc, df_rd_bb_local_compute_process_def,
 | 
      
         | 2161 |  |  |         df_rd_bb_local_compute, df_rd_local_compute, df_rd_init_solution,
 | 
      
         | 2162 |  |  |         df_rd_confluence_n, df_rd_transfer_function, df_rd_free,
 | 
      
         | 2163 |  |  |         df_rd_start_dump, df_rd_top_dump, df_rd_bottom_dump,
 | 
      
         | 2164 |  |  |         df_rd_add_problem, df_lr_get_bb_info, df_lr_set_bb_info,
 | 
      
         | 2165 |  |  |         df_lr_free_bb_info, df_lr_alloc, df_lr_bb_local_compute,
 | 
      
         | 2166 |  |  |         df_lr_local_compute, df_lr_init, df_lr_confluence_0,
 | 
      
         | 2167 |  |  |         df_lr_confluence_n, df_lr_transfer_function, df_lr_local_finalize,
 | 
      
         | 2168 |  |  |         df_lr_free, df_lr_simulate_artificial_refs_at_end,
 | 
      
         | 2169 |  |  |         df_lr_simulate_one_insn, df_lr_top_dump, df_lr_bottom_dump,
 | 
      
         | 2170 |  |  |         df_lr_add_problem, df_ur_get_bb_info, df_ur_set_bb_info,
 | 
      
         | 2171 |  |  |         df_ur_free_bb_info, df_ur_alloc, df_ur_bb_local_compute,
 | 
      
         | 2172 |  |  |         df_ur_local_compute, df_ur_init, df_ur_confluence_n,
 | 
      
         | 2173 |  |  |         df_ur_transfer_function, df_ur_free, df_ur_top_dump,
 | 
      
         | 2174 |  |  |         df_ur_bottom_dump, df_ur_add_problem, df_live_get_bb_info,
 | 
      
         | 2175 |  |  |         df_live_set_bb_info, df_live_free_bb_info, df_live_alloc,
 | 
      
         | 2176 |  |  |         df_live_local_finalize, df_live_free, df_live_top_dump,
 | 
      
         | 2177 |  |  |         df_live_add_problem, df_urec_get_bb_info, df_urec_set_bb_info,
 | 
      
         | 2178 |  |  |         df_urec_free_bb_info, df_urec_alloc, df_urec_bb_local_compute,
 | 
      
         | 2179 |  |  |         df_urec_local_compute, df_urec_init, df_urec_local_finalize,
 | 
      
         | 2180 |  |  |         df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
 | 
      
         | 2181 |  |  |         df_urec_top_dump, df_urec_bottom_dump, df_urec_add_problem,
 | 
      
         | 2182 |  |  |         df_chain_create, df_chain_unlink, df_chain_copy,
 | 
      
         | 2183 |  |  |         df_chain_remove_problem, df_chain_alloc, df_chain_reset,
 | 
      
         | 2184 |  |  |         df_chain_create_bb_process_use, df_chain_create_bb,
 | 
      
         | 2185 |  |  |         df_chain_finalize, df_chain_free, df_chain_start_dump,
 | 
      
         | 2186 |  |  |         df_chain_add_problem, df_ri_alloc, df_kill_notes,
 | 
      
         | 2187 |  |  |         df_set_dead_notes_for_mw, df_set_unused_notes_for_mw,
 | 
      
         | 2188 |  |  |         df_create_unused_note, df_ri_bb_compute, df_ri_compute,
 | 
      
         | 2189 |  |  |         df_ri_free, df_ri_start_dump, df_ri_add_problem,
 | 
      
         | 2190 |  |  |         df_ri_get_setjmp_crosses): Removed df and dflow parameters and
 | 
      
         | 2191 |  |  |         changed calls to df_ routines to support new incremental scanning.
 | 
      
         | 2192 |  |  |         (df_chain_unlink_1, df_chain_fully_remove_problem): New function.
 | 
      
         | 2193 |  |  |         * reg-stack.c (reg_to_stack): Removed df parameter and changed
 | 
      
         | 2194 |  |  |         calls to df_ routines to support new incremental scanning.
 | 
      
         | 2195 |  |  |         * Makefile.in (rtlanal.o, expr.o, expmed.o, cse.o, gcse.o,
 | 
      
         | 2196 |  |  |         regclass.o, caller-save.o, stack-ptr-mod.o, final.o): Added df.h.
 | 
      
         | 2197 |  |  |         (reorg.o): Deleted df.h.
 | 
      
         | 2198 |  |  |         * sched-rgn.c (check_live_1, update_live_1, schedule_insns):
 | 
      
         | 2199 |  |  |         Removed df parameter and changed calls to df_ routines to support
 | 
      
         | 2200 |  |  |         new incremental scanning.
 | 
      
         | 2201 |  |  |         * basic-block.h (forward for basic_block): Moved to rtl.h.
 | 
      
         | 2202 |  |  |         * passes.c (pass_df_initialize, pass_df_finish): New passes.
 | 
      
         | 2203 |  |  |         (execute_todo): Changed TODO_df_finish.
 | 
      
         | 2204 |  |  |         * struct-equiv.c (insns_match_p, struct_equiv_init): Removed df
 | 
      
         | 2205 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2206 |  |  |         incremental scanning.
 | 
      
         | 2207 |  |  |         * config/frv/frv.c (frv_function_prologue, frv_int_to_acc):
 | 
      
         | 2208 |  |  |         Changed REGNO to SET_REGNO.
 | 
      
         | 2209 |  |  |         (frv_reorder_packet): Added null basic block parm to
 | 
      
         | 2210 |  |  |         add_insn_before.
 | 
      
         | 2211 |  |  |         * config/i386/i386.c (ix86_eax_live_at_start_p): Removed df
 | 
      
         | 2212 |  |  |         parameter and changed calls to df_ routines to support new
 | 
      
         | 2213 |  |  |         incremental scanning.
 | 
      
         | 2214 |  |  |         (ix86_expand_prologue, ix86_output_function_epilogue):
 | 
      
         | 2215 |  |  |         Changed REGNO to SET_REGNO.
 | 
      
         | 2216 |  |  |         * config/ia64/ia64.c (emit_predicate_relation_info, ia64_reorg):
 | 
      
         | 2217 |  |  |         Removed df parameter and changed calls to df_ routines to support
 | 
      
         | 2218 |  |  |         new incremental scanning.
 | 
      
         | 2219 |  |  |         * config/mips/mips.c (mips_expand_prologue): Changed REGNO to
 | 
      
         | 2220 |  |  |         SET_REGNO.
 | 
      
         | 2221 |  |  |         * cfgrtl.c (commit_one_edge_insertion, rtl_dump_bb,
 | 
      
         | 2222 |  |  |         print_rtl_with_bb, cfg_layout_merge_blocks,
 | 
      
         | 2223 |  |  |         insert_insn_end_bb_new): Added bb parameter to insn insert calls.
 | 
      
         | 2224 |  |  |         * dce.c (prescan_insns_for_dce): Removed fast parameter.
 | 
      
         | 2225 |  |  |         (init_dce, end_dce, mark_artificial_uses, mark_reg_dependencies,
 | 
      
         | 2226 |  |  |         end_fast_dce, dce_process_block, fast_dce, run_fast_df_dce,
 | 
      
         | 2227 |  |  |         rs_init, rs_confluence, rs_transfer_function, dump_stores,
 | 
      
         | 2228 |  |  |         record_store, mark_dependent_stores, prescan_insns_for_dse,
 | 
      
         | 2229 |  |  |         rest_of_handle_dse): Removed df parameter and changed calls to df_
 | 
      
         | 2230 |  |  |         routines to support new incremental scanning.
 | 
      
         | 2231 |  |  |         (rest_of_handle_dce, gate_dce, run_dce, pass_rtl_dce): Deleted.
 | 
      
         | 2232 |  |  |         (delete_corresponding_reg_equal_notes): Renamed to
 | 
      
         | 2233 |  |  |         delete_corresponding_reg_eq_notes and made to process both kinds
 | 
      
         | 2234 |  |  |         of notes.
 | 
      
         | 2235 |  |  |         (delete_unmarked_insns): Changed call to
 | 
      
         | 2236 |  |  |         delete_corresponding_reg_eq_notes.
 | 
      
         | 2237 |  |  |         * dce.h (run_fast_df_dce): Removed df parameter.
 | 
      
         | 2238 |  |  |         * reload1.c (compute_use_by_pseudos, reload): Removed df parameter
 | 
      
         | 2239 |  |  |         and changed calls to df_ routines to support new incremental
 | 
      
         | 2240 |  |  |         scanning.
 | 
      
         | 2241 |  |  |         (alter_reg): Changed REGNO to SET_REGNO.
 | 
      
         | 2242 |  |  |  
 | 
      
         | 2243 |  |  |  
 | 
      
         | 2244 |  |  | 2006-12-07  David Edelsohn  
 | 
      
         | 2245 |  |  |  
 | 
      
         | 2246 |  |  |         * config/rs6000/predicates.md (lwa_operand): Allow PRE_MODIFY
 | 
      
         | 2247 |  |  |         indexed address.
 | 
      
         | 2248 |  |  |         * config/rs6000/rs6000-protos.h (legitimate_indexed_address_p):
 | 
      
         | 2249 |  |  |         Declare.
 | 
      
         | 2250 |  |  |         * config/rs6000/rs6000.c (legitimate_indexed_address_p): Remove
 | 
      
         | 2251 |  |  |         static.
 | 
      
         | 2252 |  |  |  
 | 
      
         | 2253 |  |  | 2006-12-07  David Edelsohn  
 | 
      
         | 2254 |  |  |  
 | 
      
         | 2255 |  |  |         * config/rs6000/predicates.md (lwa_operand): Exclude PRE_MODIFY
 | 
      
         | 2256 |  |  |         addresses.
 | 
      
         | 2257 |  |  |  
 | 
      
         | 2258 |  |  | 2006-12-01  Seongbae Park 
 | 
      
         | 2259 |  |  |  
 | 
      
         | 2260 |  |  |         * dbgcnt.def: New counters
 | 
      
         | 2261 |  |  |         * postreload-gcse.c (delete_redundant_insns_1): New
 | 
      
         | 2262 |  |  |         debug counter point.
 | 
      
         | 2263 |  |  |         * postreload.c (reload_cse_move2add, gate_handle_postreload):
 | 
      
         | 2264 |  |  |         New debug counter point.
 | 
      
         | 2265 |  |  |         * auto-inc-dec.c (move_notes): Removed.
 | 
      
         | 2266 |  |  |         (move_dead_notes): New function.
 | 
      
         | 2267 |  |  |         (attempt_change): Call move_dead_notes(). Add missing dependency check.
 | 
      
         | 2268 |  |  |         * haifa-sched.c (schedule_block): New debug counter point.
 | 
      
         | 2269 |  |  |         * cse.c (delete_trivially_dead_insns): New debug counter point.
 | 
      
         | 2270 |  |  |         * gcse.c (pre_delete): New debug counter point.
 | 
      
         | 2271 |  |  |         * Makefile.in: Adding dependency on DBGCNT_H.
 | 
      
         | 2272 |  |  |         * sched-rgn.c (schedule_region): New debug counter point.
 | 
      
         | 2273 |  |  |         * dce.c (delete_corresponding_reg_equal_notes): New function
 | 
      
         | 2274 |  |  |         (delete_unmarked_insns): Call delete_corresponding_reg_equal_notes.
 | 
      
         | 2275 |  |  |  
 | 
      
         | 2276 |  |  |  
 | 
      
         | 2277 |  |  | 2006-11-28  Seongbae Park 
 | 
      
         | 2278 |  |  |  
 | 
      
         | 2279 |  |  |         * dbgcnt.def: Updated comments. Added new counters.
 | 
      
         | 2280 |  |  |         * auto-inc-dec.c (try_merge): Debug counter.
 | 
      
         | 2281 |  |  |         * global.c (global_conflicts): Use DF_RA_LIVE_TOP() instead of
 | 
      
         | 2282 |  |  |         df_urec_get_live_at_top().
 | 
      
         | 2283 |  |  |         * dbgcnt.c (count, limit): Use dbgcnt.def.
 | 
      
         | 2284 |  |  |         (dbg_cnt_is_enabled): New function.
 | 
      
         | 2285 |  |  |         (dbg_cnt): Use dbg_cnt_is_enabled().
 | 
      
         | 2286 |  |  |         * local-alloc.c (block_alloc): Use DF_RA_LIVE_TOP instead of LIVE_IN.
 | 
      
         | 2287 |  |  |         Add a debug counter.
 | 
      
         | 2288 |  |  |         * df.h (DF_RA_LIVE_TOP): New Macro. Remove df_urec_get_live_at_top.
 | 
      
         | 2289 |  |  |         (struct df_rd_bb_info): Added new fields ADEF, AUSE and TOP.
 | 
      
         | 2290 |  |  |         (struct df_urec_bb_info): Added new field TOP.
 | 
      
         | 2291 |  |  |         * loop-iv.c (iv_analyze_def): Added REG_P check.
 | 
      
         | 2292 |  |  |         * df-problems.c (df_lr_free_bb_info): Free new fields AUSE, ADEF and
 | 
      
         | 2293 |  |  |         TOP.
 | 
      
         | 2294 |  |  |         (df_lr_alloc): Allocate new fields TOP, ADEF, AUSE.
 | 
      
         | 2295 |  |  |         (df_lr_bb_local_compute): Compute ADEF and AUSE.
 | 
      
         | 2296 |  |  |         (df_lr_transfer_function): Compute TOP, and then IN based on TOP, ADEF
 | 
      
         | 2297 |  |  |         and AUSE.
 | 
      
         | 2298 |  |  |         (df_lr_free): Free new fields AUSE, ADEF and TOP.
 | 
      
         | 2299 |  |  |         (df_ur_bb_local_compute): Partial/conditional defs don't hide
 | 
      
         | 2300 |  |  |         earlier defs.
 | 
      
         | 2301 |  |  |         (df_urec_alloc): Allocate new field TOP.
 | 
      
         | 2302 |  |  |         (df_urec_local_finalize): Calculate TOP as well as IN.
 | 
      
         | 2303 |  |  |         (df_urec_free): Free new field TOP.
 | 
      
         | 2304 |  |  |         (df_urec_get_live_at_top): Removed.
 | 
      
         | 2305 |  |  |         * Makefile.in (auto-inc-dec.o, local-alloc.o, sched-rgn.o,
 | 
      
         | 2306 |  |  |         sched-ebb.o, recog.o): Added dependency on DBGCNT_H.
 | 
      
         | 2307 |  |  |         * sched-rgn.c (schedule_insns, gate_handle_sched, gate_handle_sched2):
 | 
      
         | 2308 |  |  |         Added debug counter.
 | 
      
         | 2309 |  |  |         * config/ia64/ia64.c (enum ia64_frame_regs): New enum.
 | 
      
         | 2310 |  |  |         (struct ia64_frame_info): Changed register fields to use an array
 | 
      
         | 2311 |  |  |         index by enum.
 | 
      
         | 2312 |  |  |         (emitted_frame_related_regs): New static variable.
 | 
      
         | 2313 |  |  |         (reg_emitted, get_reg, is_emitted): New function.
 | 
      
         | 2314 |  |  |         (ia64_reload_gp): Use new enum.
 | 
      
         | 2315 |  |  |         (find_gr_spill): Added a new param. Use emitted_frame_related_regs.
 | 
      
         | 2316 |  |  |         (ia64_computea_frame_size, ia64_hard_regno_rename_ok,
 | 
      
         | 2317 |  |  |         ia64_epilogue_uses):
 | 
      
         | 2318 |  |  |         Use emitted_frame_related_regs.
 | 
      
         | 2319 |  |  |         (ia64_expand_prologue): Extra deubg output. Use new enum.
 | 
      
         | 2320 |  |  |         (ia64_expand_epilogue, ia64_direct_return, ia64_split_return_addr_rtx,
 | 
      
         | 2321 |  |  |         ia64_output_function_prologue, ia64_output_function_epilogue,
 | 
      
         | 2322 |  |  |         process_set):
 | 
      
         | 2323 |  |  |         Use new enum.
 | 
      
         | 2324 |  |  |         (ia64_init_expanders): New function.
 | 
      
         | 2325 |  |  |         (ia64_reorg): New debug counter.
 | 
      
         | 2326 |  |  |         * config/ia64/ia64.h (INIT_EXPANDERS): New call to
 | 
      
         | 2327 |  |  |         ia64_init_expanders.
 | 
      
         | 2328 |  |  |  
 | 
      
         | 2329 |  |  |  
 | 
      
         | 2330 |  |  |  
 | 
      
         | 2331 |  |  | 2006-11-18  Kenneth Zadeck 
 | 
      
         | 2332 |  |  |  
 | 
      
         | 2333 |  |  |         * tree-pass.h (print_current_pass, debug_pass): New functions.
 | 
      
         | 2334 |  |  |         * passes.c (print_current_pass, debug_pass): New functions.
 | 
      
         | 2335 |  |  |         (exec_todo): Changed call to df_verify_blocks.
 | 
      
         | 2336 |  |  |         (current_pass): New variable.
 | 
      
         | 2337 |  |  |         * auto-inc-dec.c (attempt_change): Removed redundant call to
 | 
      
         | 2338 |  |  |         df_insn_rescan and added debugging.
 | 
      
         | 2339 |  |  |         (find_inc): Added debugging and fixed post-inc/dec bug.
 | 
      
         | 2340 |  |  |         (merge_in_block): Fixed post-inc/dec bug.
 | 
      
         | 2341 |  |  |         * dbgcnt.c: Fixed comments.
 | 
      
         | 2342 |  |  |         * dbgcnt.c: Fixed comments.
 | 
      
         | 2343 |  |  |         * loop-init.c (rtl_unroll_and_peel_loops): Added debugging.
 | 
      
         | 2344 |  |  |         * loop-invariant.c (find_defs): Added debugging.
 | 
      
         | 2345 |  |  |         * loop-iv.c (iv_analysis_loop_init): Added debugging.
 | 
      
         | 2346 |  |  |         * df-scan.c (df_ref): Added parameter to control the deletion of
 | 
      
         | 2347 |  |  |         chains.
 | 
      
         | 2348 |  |  |         (df_reg_chain_unlink): Take care not to delete non existent refs.
 | 
      
         | 2349 |  |  |         (df_ref_remove): Changed call to df_reg_chain_unlink.
 | 
      
         | 2350 |  |  |         (df_ref_chain_delete_du_chain, df_ref_chain_delete,
 | 
      
         | 2351 |  |  |         df_mw_hardreg_chain_delete): New function
 | 
      
         | 2352 |  |  |         (df_insn_delete): Now calls df_ref_chain_delete_du_chain,
 | 
      
         | 2353 |  |  |         df_ref_chain_delete, df_mw_hardreg_chain_delete.
 | 
      
         | 2354 |  |  |         (df_bb_delete): Now calls df_ref_chain_delete_du_chain,
 | 
      
         | 2355 |  |  |         df_ref_chain_delete.
 | 
      
         | 2356 |  |  |         (df_insn_rescan): Now supports DF_NO_INSN_RESCAN and added
 | 
      
         | 2357 |  |  |         debugging.
 | 
      
         | 2358 |  |  |         (df_ref_verify): Added code to ignore refs from notes in the table
 | 
      
         | 2359 |  |  |         of refs.
 | 
      
         | 2360 |  |  |         (df_bb_verify, df_exit_block_bitmap_verify,
 | 
      
         | 2361 |  |  |         df_entry_block_bitmap_verify, df_verify_blocks): Made it possible
 | 
      
         | 2362 |  |  |         to abort closer to source of problem.
 | 
      
         | 2363 |  |  |         (df_verify_blocks): Removed dflow parameter.  * df-core.c
 | 
      
         | 2364 |  |  |         (df_insn_uid_debug, df_ref_debug): Fixed debugging.  *
 | 
      
         | 2365 |  |  |         df-problems.c (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
 | 
      
         | 2366 |  |  |         df_ur_bb_info, df_live_bb_info, df_urec_bb_info): Made tolerant of
 | 
      
         | 2367 |  |  |         newly added basic blocks.
 | 
      
         | 2368 |  |  |         (df_chain_alloc): Tolerant of missing refs in structure.
 | 
      
         | 2369 |  |  |         (df_chain_insn_reset, df_chain_bb_reset, df_chain_remove_problem):
 | 
      
         | 2370 |  |  |         Deleted function.
 | 
      
         | 2371 |  |  |         (df_chain_alloc): New function.
 | 
      
         | 2372 |  |  |         (df_chain_reset): Now just calls df_chain_remove_problem.
 | 
      
         | 2373 |  |  |         * df.h: (DF_NO_REGS_EVER_LIVE): New flag.
 | 
      
         | 2374 |  |  |  
 | 
      
         | 2375 |  |  | 2006-11-17  Kenneth Zadeck 
 | 
      
         | 2376 |  |  |  
 | 
      
         | 2377 |  |  |         * fwprop.c Removed bad version.
 | 
      
         | 2378 |  |  |         * tree-ssa-pre.c (init_pre): Added parameter to post_order_compute.
 | 
      
         | 2379 |  |  |  
 | 
      
         | 2380 |  |  | 2006-11-15  Seongbae Park 
 | 
      
         | 2381 |  |  |  
 | 
      
         | 2382 |  |  |         * df-scan.c (df_insn_refs_collect): Code cleanup
 | 
      
         | 2383 |  |  |         for COND_EXEC handling.
 | 
      
         | 2384 |  |  |         (df_need_static_chain_reg): New function.
 | 
      
         | 2385 |  |  |         (df_get_entry_block_def_set): Check and add the static chain register.
 | 
      
         | 2386 |  |  |         * ifcvt.c (if_convert): Don't ignore the return value
 | 
      
         | 2387 |  |  |         of find_if_header.
 | 
      
         | 2388 |  |  |  
 | 
      
         | 2389 |  |  |  
 | 
      
         | 2390 |  |  | 2006-11-14  Seongbae Park 
 | 
      
         | 2391 |  |  |  
 | 
      
         | 2392 |  |  |         * function.c (thread_prologue_and_epilogue_insns):
 | 
      
         | 2393 |  |  |         Update regs_ever_live during df scanning.
 | 
      
         | 2394 |  |  |  
 | 
      
         | 2395 |  |  | 2006-11-14  Seongbae Park 
 | 
      
         | 2396 |  |  |  
 | 
      
         | 2397 |  |  |         * dbgcnt.c, dbgcnt.h: Added missing copyright notice. Now uses
 | 
      
         | 2398 |  |  |         dbgcnt.def for the list of counters.
 | 
      
         | 2399 |  |  |         * Makefile.in: Add missing dbgcnt.h header file dependencies.
 | 
      
         | 2400 |  |  |         * dbgcnt.def: New file.
 | 
      
         | 2401 |  |  |  
 | 
      
         | 2402 |  |  | 2006-11-14  Seongbae Park 
 | 
      
         | 2403 |  |  |  
 | 
      
         | 2404 |  |  |         * tree-tailcall.c (execute_tail_recursion): Added dbg_cnt().
 | 
      
         | 2405 |  |  |         * df-scan.c (df_mw_hardreg_find_hardreg, df_get_conditional_uses,
 | 
      
         | 2406 |  |  |         df_get_call_refs):
 | 
      
         | 2407 |  |  |         New function.
 | 
      
         | 2408 |  |  |         (df_refs_add_to_chains): Don't add duplicate mw_hardreg.
 | 
      
         | 2409 |  |  |         (df_ins_refs_collect): Refactored to use df_get_conditional_uses
 | 
      
         | 2410 |  |  |         and df_get_call_refs.
 | 
      
         | 2411 |  |  |         (df_insn_refs_verify): Find the matching mw_hardreg.
 | 
      
         | 2412 |  |  |         * dbgcnt.c (dbg_cnt_process_opt): Fix a bug handling multiple
 | 
      
         | 2413 |  |  |         counters. Add a new debug counter tail_call.
 | 
      
         | 2414 |  |  |         * dbgcnt.h (enum debug_counter): Added a new counter tail_call.
 | 
      
         | 2415 |  |  |         * calls.c (expand_call): Check dbg_cnt(tail_call).
 | 
      
         | 2416 |  |  |         * df_problems.c (df_create_unused_note, df_ri_bb_compute):
 | 
      
         | 2417 |  |  |         Handle NULL LOC case.
 | 
      
         | 2418 |  |  |         * dce.c (init_dce): Add a debug dump.
 | 
      
         | 2419 |  |  |  
 | 
      
         | 2420 |  |  |  
 | 
      
         | 2421 |  |  | 2006-11-14  Paolo Bonzini  
 | 
      
         | 2422 |  |  |  
 | 
      
         | 2423 |  |  |         Merge from mainline:
 | 
      
         | 2424 |  |  |  
 | 
      
         | 2425 |  |  |         2006-11-14  Paolo Bonzini  
 | 
      
         | 2426 |  |  |  
 | 
      
         | 2427 |  |  |         PR rtl-optimization/29798
 | 
      
         | 2428 |  |  |  
 | 
      
         | 2429 |  |  |         * fwprop.c (use_killed_between): Check that DEF_INSN dominates
 | 
      
         | 2430 |  |  |         TARGET_INSN before any other check.
 | 
      
         | 2431 |  |  |         (fwprop_init): Always calculate dominators.
 | 
      
         | 2432 |  |  |         (fwprop_done): Always free them.
 | 
      
         | 2433 |  |  |  
 | 
      
         | 2434 |  |  | 2006-11-13  Seongbae Park 
 | 
      
         | 2435 |  |  |             Kenneth Zadeck 
 | 
      
         | 2436 |  |  |  
 | 
      
         | 2437 |  |  |         * tree-pass.h (TODO_df_verify_scan): New flag.
 | 
      
         | 2438 |  |  |         * auto-inc-def.c (find_inc): Added code to check for case where
 | 
      
         | 2439 |  |  |         output of inc is not overwritten by mem to be combined.
 | 
      
         | 2440 |  |  |         * df-scan.c (df_scan_set_bb_info): Now increases the size of the
 | 
      
         | 2441 |  |  |         array if necessary.
 | 
      
         | 2442 |  |  |         (df_scan_blocks): Added flag to avoid recomputing regs_ever_live.
 | 
      
         | 2443 |  |  |         (df_insn_rescan): Fixed missing case for rescanning.
 | 
      
         | 2444 |  |  |         (df_insn_refs_collect): Special case for sibling calls.  Changed
 | 
      
         | 2445 |  |  |         to not set up loc field with address of regno_reg_rtx element.
 | 
      
         | 2446 |  |  |         (df_entry_block_defs_collect, df_exit_block_uses_collect,
 | 
      
         | 2447 |  |  |         df_bb_refs_collect): Changed to not set up loc field with address
 | 
      
         | 2448 |  |  |         of regno_reg_rtx element.
 | 
      
         | 2449 |  |  |         (df_bb_refs_record): Removed dflow parameter and added scan_insn
 | 
      
         | 2450 |  |  |         parameter. Changed call to df_bb_refs_record.
 | 
      
         | 2451 |  |  |         (df_compute_regs_ever_live): New function.
 | 
      
         | 2452 |  |  |         (df_reg_chain_unmark): Made to accept NULL blocks parameter.
 | 
      
         | 2453 |  |  |         (df_ref_chain_unmark): New function.
 | 
      
         | 2454 |  |  |         (df_ref_verify):  Added abort_if_fail parameter.
 | 
      
         | 2455 |  |  |         (df_insn_refs_verify): Added abort_if_fail and return_refs
 | 
      
         | 2456 |  |  |         parameter and changed function to return bool.  Added code to
 | 
      
         | 2457 |  |  |         unmark chains.
 | 
      
         | 2458 |  |  |         (df_bb_refs_verify): Added abort_if_fail parameter and now returns
 | 
      
         | 2459 |  |  |         nothing.
 | 
      
         | 2460 |  |  |         (df_bb_verify): Changed to expect subroutines to abort.
 | 
      
         | 2461 |  |  |         (df_verify_blocks): Now accepts NULL blocks parameter.
 | 
      
         | 2462 |  |  |         * ifcvt.c (if_convert): Added more to dump_files.
 | 
      
         | 2463 |  |  |         * (pass_rtl_ifcvt, pass_if_after_combine, pass_if_after_reload):
 | 
      
         | 2464 |  |  |         added TODO_df_verify_scan.
 | 
      
         | 2465 |  |  |         * opts.c (command_handle_option): New flag OPT_fdbg_cnt_
 | 
      
         | 2466 |  |  |         * recog.c (confirm_change_group): Fixed updating of df scanning.
 | 
      
         | 2467 |  |  |         * function.c (thread_prologue_and_epilogue_insns):
 | 
      
         | 2468 |  |  |         Pass DF_NO_REGS_EVER_LIVE in df_init, and
 | 
      
         | 2469 |  |  |         call df_compute_regs_ever_live after prologue is generated.
 | 
      
         | 2470 |  |  |         * df.h (enum df_ref_flags): Added DF_REF_ARTIFICIAL.
 | 
      
         | 2471 |  |  |         (enum df_changeable_flags): Added DF_NO_REGS_EVER_LIVE.
 | 
      
         | 2472 |  |  |         (DF_REF_IS_ARTIFICIAL): Added checking for the flag DF_REF_ARTIFICIAL.
 | 
      
         | 2473 |  |  |         * cfgcleanup.c: Fixed typo in comment.
 | 
      
         | 2474 |  |  |         * common.opt: New flag -fdbg-cnt=
 | 
      
         | 2475 |  |  |         * combine.c (try_combine): Added calls to keep df_scanning up to
 | 
      
         | 2476 |  |  |         date.
 | 
      
         | 2477 |  |  |         (pass_combine): Added TODO_df_verify_scan.
 | 
      
         | 2478 |  |  |         * Makefile.in: New gcc object file dbgcnt.o
 | 
      
         | 2479 |  |  |         * passes.c (execute_todo): Added support for TODO_df_verify_scan.
 | 
      
         | 2480 |  |  |         * config/ia64/ia64.c (ia64_split_return_addr_rtx): Finalize
 | 
      
         | 2481 |  |  |         the frame layout early.
 | 
      
         | 2482 |  |  |         (ia64_expand_prologue): Pass DF_NO_REGS_EVER_LIVE to df_init().
 | 
      
         | 2483 |  |  |         * cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
 | 
      
         | 2484 |  |  |         cfg_layout_merge_blocks): Added debugging.
 | 
      
         | 2485 |  |  |         * dbgcnt.c, dbgcnt.h: New files
 | 
      
         | 2486 |  |  |         * dce.c (delete_unmarked_insns): Use dbg_cnt.
 | 
      
         | 2487 |  |  |         (delete_insn_p): Do not delete unspecs.
 | 
      
         | 2488 |  |  |  
 | 
      
         | 2489 |  |  | 2006-11-10  Seongbae Park 
 | 
      
         | 2490 |  |  |  
 | 
      
         | 2491 |  |  |         * fwprop.c (forward_propagate_into): Use DF_REF_IS_ARTIFICIAL()
 | 
      
         | 2492 |  |  |         instead of DF_REF_ARTIFICIAL flag.
 | 
      
         | 2493 |  |  |         * df-scan.c (df_ref_record, df_def_record_1): Remove record_live
 | 
      
         | 2494 |  |  |         (df_get_exit_block_use_set, df_get_entry_block_def_set):
 | 
      
         | 2495 |  |  |         Renamed from df_get_{exit_block_uses,entry_block_defs}.
 | 
      
         | 2496 |  |  |         (df_compute_regs_ever_live, df_ref_chain_change_bb,
 | 
      
         | 2497 |  |  |         df_ref_is_record_live, df_reg_chain_unmark, df_ref_chain_free):
 | 
      
         | 2498 |  |  |         New functions.
 | 
      
         | 2499 |  |  |         (df_reg_chains): New structure
 | 
      
         | 2500 |  |  |         (df_ref_add_to_chains):
 | 
      
         | 2501 |  |  |         (df_scan_blocks): Add call to df_compute_regs_ever_live().
 | 
      
         | 2502 |  |  |         (df_ref_create): Remove record_live, and replace DF_REF_ARTIFICIAL
 | 
      
         | 2503 |  |  |         flag use with DF_REF_IS_ARTIFICIAL () macro.
 | 
      
         | 2504 |  |  |         (df_insn_rescan): Avoid marking blocks dirty if nothing changed.
 | 
      
         | 2505 |  |  |         (df_insn_change_bb): Refactored to use df_ref_change_bb.
 | 
      
         | 2506 |  |  |         (df_ref_is_equal): Now ignores DF_REF_MARKER flag.
 | 
      
         | 2507 |  |  |         (df_ref_chain_find_ref, df_reg_chain_find_reg): Fix the order of
 | 
      
         | 2508 |  |  |         parameters to the evaluation function.
 | 
      
         | 2509 |  |  |         (df_ref_find_chains): Avoid early evaluation of certain fields.
 | 
      
         | 2510 |  |  |         (df_ref_add_to_chains): Remove update to regs_ever_live.
 | 
      
         | 2511 |  |  |         (df_refs_add_to_chains): Use DF_REF_NEXT_REF macro.
 | 
      
         | 2512 |  |  |         (df_ref_record): Remove DF_REF_RECORD_LIVE.
 | 
      
         | 2513 |  |  |         (df_insn_refs_record): Now takes the reference list to be added as
 | 
      
         | 2514 |  |  |         an argument.
 | 
      
         | 2515 |  |  |         (df_bb_refs_record): Handles entry and exit block cases.
 | 
      
         | 2516 |  |  |         (df_bb_refs_collect): Removed DF_REF_ARTIFICIAL.
 | 
      
         | 2517 |  |  |         (df_refs_record): Scan entry and exit blocks first.
 | 
      
         | 2518 |  |  |         (df_ref_verify): Takes reg_chain cache as an argument,
 | 
      
         | 2519 |  |  |         verifies hardreg chain.
 | 
      
         | 2520 |  |  |         (df_exit_block_bitmap_verify): Renamed from df_exit_block_verify
 | 
      
         | 2521 |  |  |         (df_entry-block_bitmap_verify): Renamed from df_entry_block_verify
 | 
      
         | 2522 |  |  |         (df_verify_blocks): Implement regchain cache. Assert immediately
 | 
      
         | 2523 |  |  |         when verification fails in any subfunctions.
 | 
      
         | 2524 |  |  |         * df.h (enum df_ref_flags): Remove DF_REF_ARTIFICIAL and renumber the
 | 
      
         | 2525 |  |  |         enum.
 | 
      
         | 2526 |  |  |         (DF_REF_IS_ARTIFICIAL, DF_REF_MARK, DF_REF_UNMARK, DF_REF_IS_MARKED,
 | 
      
         | 2527 |  |  |         DF_INSN_UID_SAFE_GET): New macros:
 | 
      
         | 2528 |  |  |  
 | 
      
         | 2529 |  |  |  
 | 
      
         | 2530 |  |  | 2006-11-08  Kenneth Zadeck 
 | 
      
         | 2531 |  |  |  
 | 
      
         | 2532 |  |  |         * auto-inc-dec.c (attempt_change): Added code to properly maintain
 | 
      
         | 2533 |  |  |         reg_next_inc_use when inc insns are deleted.
 | 
      
         | 2534 |  |  |         (merge_in_block): Added debugging and changed to skip deleted
 | 
      
         | 2535 |  |  |         instructions.
 | 
      
         | 2536 |  |  |         (scan_dflow): Removed variable.
 | 
      
         | 2537 |  |  |         * df-scan.c (df_scan_alloc): Always processes entire function.
 | 
      
         | 2538 |  |  |         (df_scan_free): Removed df->blocks_to_scan.
 | 
      
         | 2539 |  |  |         (df_scan_blocks): Removed blocks_parameter.  Now scan entire
 | 
      
         | 2540 |  |  |         function.
 | 
      
         | 2541 |  |  |         (df_insn_rescan, df_insn_change_bb): Renamed df_mark_bb_dirty to
 | 
      
         | 2542 |  |  |         df_set_bb_dirty.
 | 
      
         | 2543 |  |  |         * df.h (blocks_to_scan): Removed variable.
 | 
      
         | 2544 |  |  |         * df-core.c (df_analyze): Add call to df_scan_alloc.  Removed
 | 
      
         | 2545 |  |  |         df->blocks_to_scan.
 | 
      
         | 2546 |  |  |         (df_get_bb_dirty): New function.
 | 
      
         | 2547 |  |  |         (df_mark_bb_dirty): Renamed to df_set_bb_dirty.
 | 
      
         | 2548 |  |  |         (df_compact_blocks): Removed df->blocks_to_scan.
 | 
      
         | 2549 |  |  |         (df_bb_replace): Added check to make sure there was no block at
 | 
      
         | 2550 |  |  |         old_index and fixed updating bugs.
 | 
      
         | 2551 |  |  |         * ifcvt.c (cond_exec_process_if_block,
 | 
      
         | 2552 |  |  |         noce_process_if_block, cond_move_process_if_block,
 | 
      
         | 2553 |  |  |         process_if_block, merge_if_block, find_if_header,
 | 
      
         | 2554 |  |  |         find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
 | 
      
         | 2555 |  |  |         Removed modified variable.
 | 
      
         | 2556 |  |  |         (find_if_header, find_cond_trap, find_if_case_1, find_if_case_2,
 | 
      
         | 2557 |  |  |         if_convert): Replaced BB_DIRTY with df_set_bb_dirty and
 | 
      
         | 2558 |  |  |         df_get_bb_dirty.
 | 
      
         | 2559 |  |  |         * recog.c (confirm_change_group): Ditto.
 | 
      
         | 2560 |  |  |         * emit_rtl (remove_insn,, reorder_insns, emit_insn_after_1): Ditto.
 | 
      
         | 2561 |  |  |         * cfgcleanup.c (try_forward_edges, try_crossjump_to_edge,
 | 
      
         | 2562 |  |  |         merge_blocks_move_predecessor_nojumps, try_crossjump_bb): Ditto.
 | 
      
         | 2563 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 2564 |  |  |         * cfgrtl.c (rtl_split_block, rtl_redirect_edge_and_branch,
 | 
      
         | 2565 |  |  |         rtl_redirect_edge_and_branch_force, purge_dead_edges,
 | 
      
         | 2566 |  |  |         cfg_layout_redirect_edge_and_branch): Ditto.
 | 
      
         | 2567 |  |  |         * basic_block.h (BB_DIRTY): Removed.
 | 
      
         | 2568 |  |  |  
 | 
      
         | 2569 |  |  |  
 | 
      
         | 2570 |  |  | 2006-11-07  Kenneth Zadeck 
 | 
      
         | 2571 |  |  |  
 | 
      
         | 2572 |  |  |         * cfg.c (compact_blocks): Make df aware when blocks are moved around.
 | 
      
         | 2573 |  |  |         * auto-inc-dec.c (attempt_change): Removed explicit df updating.
 | 
      
         | 2574 |  |  |         * ifcvt.c (cond_exec_process_if_block,
 | 
      
         | 2575 |  |  |         noce_mem_write_may_trap_or_fault_p, noce_process_if_block,
 | 
      
         | 2576 |  |  |         cond_move_process_if_block, process_if_block, find_if_header):
 | 
      
         | 2577 |  |  |         Removed unused df parameter.
 | 
      
         | 2578 |  |  |         (merge_if_block, find_cond_trap, find_if_case_1, find_if_case_2):
 | 
      
         | 2579 |  |  |         Removed explicit df updating.
 | 
      
         | 2580 |  |  |         (if_convert): Rearranged calls to df.
 | 
      
         | 2581 |  |  |         (struct tree_opt_pass pass_rtl_ifcvt, pass_if_after_combine,
 | 
      
         | 2582 |  |  |         pass_if_after_reload): Added TODO_verify_flow.
 | 
      
         | 2583 |  |  |         * recog.c (delete_insn_chain_and_flow): Deleted function.
 | 
      
         | 2584 |  |  |         (peephole2_optimize): Removed unused dataflow problem and variable
 | 
      
         | 2585 |  |  |         and delete explicit df updating calls.
 | 
      
         | 2586 |  |  |         (pass_split_before_sched2): Added TODO_verify_flow.
 | 
      
         | 2587 |  |  |         * emit_rtl (add_insn_after, add_insn_before, remove_insn,
 | 
      
         | 2588 |  |  |         reorder_insns, emit_insn_after_1): Added explicit updating of df.
 | 
      
         | 2589 |  |  |         (set_insn_deleted): New function.
 | 
      
         | 2590 |  |  |         * loop_invariant.c (invariant_table_size, invariant_table): New
 | 
      
         | 2591 |  |  |         variables.
 | 
      
         | 2592 |  |  |         (check_invariant_table_size): New function.
 | 
      
         | 2593 |  |  |         (invariant_for_use, find_defs, check_dependency,
 | 
      
         | 2594 |  |  |         find_invariant_insn, free_inv_motion_data, move_loop_invariants):
 | 
      
         | 2595 |  |  |         Replaced DF_REF_DATA with invariant_table.
 | 
      
         | 2596 |  |  |         * loop-iv.c (clean_slate, iv_ref_table_size, iv_ref_table): New
 | 
      
         | 2597 |  |  |         variables.
 | 
      
         | 2598 |  |  |         (check_iv_ref_table_size): New function.
 | 
      
         | 2599 |  |  |         (clear_iv_info, iv_analysis_loop_init, record_iv, iv_analyze_def,
 | 
      
         | 2600 |  |  |         iv_analysis_done): Replaced DF_REF_DATA with iv_ref_table.
 | 
      
         | 2601 |  |  |         * cfglayout.c (fixup_reorder_chain): Now uses compact_blocks.
 | 
      
         | 2602 |  |  |         * rtl.h (SET_INSN_DELETED): now calls set_insn_deleted.
 | 
      
         | 2603 |  |  |         * Makefile.in: (emit-rtl.o): Now dependent on df.h.
 | 
      
         | 2604 |  |  |         * sched-rgn.c (pass_sched, pass_sched2): Added TODO_verify_flow.
 | 
      
         | 2605 |  |  |         * cfgrtl.c (rtl_delete_block, update_bb_for_insn,
 | 
      
         | 2606 |  |  |         rtl_merge_blocks, try_redirect_by_replacing_jump,
 | 
      
         | 2607 |  |  |         cfg_layout_merge_blocks): Added explicit updating of df.
 | 
      
         | 2608 |  |  |         * dce.c (delete_unmarked_insns): Removed df_delete parameter and
 | 
      
         | 2609 |  |  |         explicit updating of df info.
 | 
      
         | 2610 |  |  |         (rest_of_handle_dce, rest_of_handle_dse): Added call to
 | 
      
         | 2611 |  |  |         df_remove_problem.
 | 
      
         | 2612 |  |  |         (fast_dce, fast_dce, rest_of_handle_fast_dce, run_fast_df_dce):
 | 
      
         | 2613 |  |  |         Removed df_delete parameter.
 | 
      
         | 2614 |  |  |         * df-scan.c (df_scan_free_bb_info): Changed call.
 | 
      
         | 2615 |  |  |         (df_scan_alloc, df_scan_free): Added setting of out_of_date_transfer_functions.
 | 
      
         | 2616 |  |  |         (df_problem problem_SCAN): Added problem removal function.
 | 
      
         | 2617 |  |  |         (df_scan_blocks): Added calls to df_refs_delete and df_bb_delete.
 | 
      
         | 2618 |  |  |         (df_insn_create_insn_record): Added call to df_grow_insn_info.
 | 
      
         | 2619 |  |  |         (df_insn_refs_delete): Renamed to df_insn_delete and removed dflow
 | 
      
         | 2620 |  |  |         parameter.
 | 
      
         | 2621 |  |  |         (df_bb_refs_delete): Renamed to df_bb_delete and removed dflow
 | 
      
         | 2622 |  |  |         parameter.
 | 
      
         | 2623 |  |  |         (df_refs_delete): Deleted.
 | 
      
         | 2624 |  |  |         (df_insn_rescan, df_insn_change_bb): New function.
 | 
      
         | 2625 |  |  |         (df_ref_create_structure): Removed DF_REF_DATA.
 | 
      
         | 2626 |  |  |         * df-core.c (df_add_problem): Changed to use new form of problem
 | 
      
         | 2627 |  |  |         dependency.
 | 
      
         | 2628 |  |  |         (df_remove_problem): New function.
 | 
      
         | 2629 |  |  |         (df_set_blocks): Does a better job of updating the proper blocks.
 | 
      
         | 2630 |  |  |         (df_delete_basic_block): Removed df parameter and checks to see if
 | 
      
         | 2631 |  |  |         block already had infomation.
 | 
      
         | 2632 |  |  |         (df_get_bb_info): Returns NULL if no info was there.
 | 
      
         | 2633 |  |  |         (df_set_bb_info): Checks to make sure problem block information.
 | 
      
         | 2634 |  |  |         (df_mark_solutions_dirty, df_mark_bb_dirty, df_compact_blocks,
 | 
      
         | 2635 |  |  |         df_bb_replace): New functions.
 | 
      
         | 2636 |  |  |         * df.h (df_remove_problem_function): New typedef.
 | 
      
         | 2637 |  |  |         (df_dependent_problem_function): Deleted typedef.
 | 
      
         | 2638 |  |  |         (df_problem): Added remove_problem_fun and dependent_problem and
 | 
      
         | 2639 |  |  |         deleted dependent_problem_fun.
 | 
      
         | 2640 |  |  |         (df_ref.data): Removed.
 | 
      
         | 2641 |  |  |         (df.out_of_date_transfer_functions, df.solutions_dirty): New
 | 
      
         | 2642 |  |  |         variables.
 | 
      
         | 2643 |  |  |         (DF_REF_DATA): Deleted macro.
 | 
      
         | 2644 |  |  |         * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
 | 
      
         | 2645 |  |  |         problem_LIVE, problem_UREC, problem_CHAIN, problem_RI): Added
 | 
      
         | 2646 |  |  |         problem removal function and changed dependent_function.
 | 
      
         | 2647 |  |  |  
 | 
      
         | 2648 |  |  | 2006-11-04  Kenneth Zadeck 
 | 
      
         | 2649 |  |  |  
 | 
      
         | 2650 |  |  |         * df-scan.c (df_scan_start_dump): Changed print routine to print
 | 
      
         | 2651 |  |  |         hard register names.
 | 
      
         | 2652 |  |  |         * df-core.c (df_print_regset): New function.
 | 
      
         | 2653 |  |  |         * global.c (global_alloc): Do not recompute register infomation
 | 
      
         | 2654 |  |  |         when recomputing dataflow.
 | 
      
         | 2655 |  |  |         * df.h (DF_RI_NO_UPDATE): New flag.
 | 
      
         | 2656 |  |  |         * df-problems.c (df_lr_top_dump, df_lr_bottom_dump,
 | 
      
         | 2657 |  |  |         df_ur_top_dump, df_ur_bottom_dump, df_live_top_dump,
 | 
      
         | 2658 |  |  |         df_live_bottom_dump, df_urec_top_dump, df_urec_bottom_dump):
 | 
      
         | 2659 |  |  |         Changed to use df_print_regset.
 | 
      
         | 2660 |  |  |         (df_ri_alloc, df_ri_compute): Changed to not update if
 | 
      
         | 2661 |  |  |         DF_RI_NO_UPDATE flag.
 | 
      
         | 2662 |  |  |         * cfgrtl.c (print_rtl_with_bb): Changed to print preds and
 | 
      
         | 2663 |  |  |         successor blocks in dump file.
 | 
      
         | 2664 |  |  |  
 | 
      
         | 2665 |  |  | 2006-11-03  Seongbae Park 
 | 
      
         | 2666 |  |  |  
 | 
      
         | 2667 |  |  |         * global.c (global_conflicts): Use df_urec_get_live_at_top ()
 | 
      
         | 2668 |  |  |         instead of DF_RA_LIVE_IN ().
 | 
      
         | 2669 |  |  |         * function.h: Add a declaration for current_function_assembler_name().
 | 
      
         | 2670 |  |  |         * function.c (current_function_assembler_name):  New function.
 | 
      
         | 2671 |  |  |         (thread_prologue_and_epilogue_insns): Insert rtx_USE when profiling.
 | 
      
         | 2672 |  |  |         * df.h (DF_REF_FLAGS_CLEAR): New macro.
 | 
      
         | 2673 |  |  |         (df_urec_get_live_at_top): New function declaration.
 | 
      
         | 2674 |  |  |         * df-problems.c (df_urec_get_live_at_top): New function.
 | 
      
         | 2675 |  |  |  
 | 
      
         | 2676 |  |  | 2006-10-28  Seongbae Park 
 | 
      
         | 2677 |  |  |  
 | 
      
         | 2678 |  |  |         * df.h (df_rescan_blocks): Renamed to df_scan_blocks.
 | 
      
         | 2679 |  |  |         * df-core.c (df_analyze): Use df_scan_blocks() instead.
 | 
      
         | 2680 |  |  |         * ifcvt.c (if_convert): Use df_scan_blocks() instead.
 | 
      
         | 2681 |  |  |         * df-scan.c
 | 
      
         | 2682 |  |  |         (df_ref_record, df_def_record_1, df_defs_record, df_uses_record):
 | 
      
         | 2683 |  |  |         They are made side-effect free.
 | 
      
         | 2684 |  |  |         (df_ref_find_chains, df_ref_add_to_chains, df_refs_add_to_chains,
 | 
      
         | 2685 |  |  |         df_ref_is_equal, df_ref_chain_find_ref, df_reg_chain_find_ref,
 | 
      
         | 2686 |  |  |         df_scan_start_block, df_check_and_grow_ref_info,
 | 
      
         | 2687 |  |  |         df_insn_refs_collect, df_bb_refs_collect,
 | 
      
         | 2688 |  |  |         df_get_entry_block_defs, df_get_exit_block_uses,
 | 
      
         | 2689 |  |  |         df_ref_verify, df_refs_verified, df_ref_chain_verify,
 | 
      
         | 2690 |  |  |         df_reg_chain_clear_verified, df_bb_refs_verify,
 | 
      
         | 2691 |  |  |         df_exit_block_verify, df_entry_block_verify, df_verify_blocks):
 | 
      
         | 2692 |  |  |         New functions.
 | 
      
         | 2693 |  |  |         (df_ref_create_structure): Initializes the fields
 | 
      
         | 2694 |  |  |         of df_ref and does not connect it to various chains.
 | 
      
         | 2695 |  |  |         (df_insn_refs_record, df_bb_refs_record, df_record_entry_block_defs,
 | 
      
         | 2696 |  |  |          df_record_exit_block_uses, df_refs_record):
 | 
      
         | 2697 |  |  |         Separate side-effects (adding chains and updating regs_ever_live)
 | 
      
         | 2698 |  |  |         from traversing and finding the refs in the insn/basic block.
 | 
      
         | 2699 |  |  |         (df_ref_create): Separate calls for creating the ref and add it
 | 
      
         | 2700 |  |  |         to the chains.
 | 
      
         | 2701 |  |  |  
 | 
      
         | 2702 |  |  | 2006-10-24  Paolo Bonzini  
 | 
      
         | 2703 |  |  |  
 | 
      
         | 2704 |  |  |         * ddg.c (add_deps_for_def, add_deps_for_use): Use accessor macros.
 | 
      
         | 2705 |  |  |         * df.h (DF_REF_STRIPPED, DF_SUBREGS): Remove.
 | 
      
         | 2706 |  |  |         * df-core.c: Don't document scanning flags.
 | 
      
         | 2707 |  |  |         * df-scan.c (df_ref_record): Always behave as if DF_SUBREGS was set.
 | 
      
         | 2708 |  |  |         * df-problems.c (df_lr_bb_local_compute): Strip SUBREGs with
 | 
      
         | 2709 |  |  |         DF_REF_REAL_REG.
 | 
      
         | 2710 |  |  |         (df_chain_start_dump): Don't dump DF_REF_STRIPPED.
 | 
      
         | 2711 |  |  |         (df_create_unused_note, df_ri_bb_compute): Don't "inline"
 | 
      
         | 2712 |  |  |         DF_REF_REAL_LOC.
 | 
      
         | 2713 |  |  |         * fwprop.c (fwprop_init): Do not pass DF_SUBREGS.
 | 
      
         | 2714 |  |  |         * loop-invariant.c (record_use): Don't strip SUBREGs.
 | 
      
         | 2715 |  |  |         (record_uses): Do it here with DF_REF_REAL_LOC.
 | 
      
         | 2716 |  |  |         * loop-iv.c (iv_analyze_def): Only allow REGs.  Replace previous
 | 
      
         | 2717 |  |  |         way to check for SUBREGs with an assertion.
 | 
      
         | 2718 |  |  |  
 | 
      
         | 2719 |  |  | 2006-10-19  Kenneth Zadeck 
 | 
      
         | 2720 |  |  |  
 | 
      
         | 2721 |  |  |         * sched-ebb.c (schedule_ebbs): Changed flags to df_init.
 | 
      
         | 2722 |  |  |         * fwprop.c (use_killed_between): Changed to use proper macros.
 | 
      
         | 2723 |  |  |         (All_uses_available_at, try_fwprop_subst): Added support for
 | 
      
         | 2724 |  |  |         separated reg_equiv/equal df_refs.
 | 
      
         | 2725 |  |  |         (fwprop_init): Changed flags to df_init.
 | 
      
         | 2726 |  |  |         (fwprop, fwprop_addr): Changed call to df_reorganize_refs to
 | 
      
         | 2727 |  |  |         df_maybe_reorganize_use_refs.
 | 
      
         | 2728 |  |  |         * see.c (see_initialize_data_structures): Changed flags to
 | 
      
         | 2729 |  |  |         df_init.
 | 
      
         | 2730 |  |  |         * ddg.c (build_inter_loop_deps): Now skips refs with
 | 
      
         | 2731 |  |  |         reg_equal/equiv notes.
 | 
      
         | 2732 |  |  |         * modulo-sched.c (sms_schedule): Changed flags to df_init.
 | 
      
         | 2733 |  |  |         * web.c (union_defs): Added support for separated reg_equiv/equal
 | 
      
         | 2734 |  |  |         df_refs.
 | 
      
         | 2735 |  |  |         (web_main): Changed flags to df_init and changed call to
 | 
      
         | 2736 |  |  |         df_reorganize_refs to df_maybe_reorganize_(use|def)_refs.
 | 
      
         | 2737 |  |  |         * loop_invariant.c (check_dependency): New function split out from
 | 
      
         | 2738 |  |  |         check_dependencies.
 | 
      
         | 2739 |  |  |         (record_uses): Added support for separated reg_equiv/equal
 | 
      
         | 2740 |  |  |         df_refs.
 | 
      
         | 2741 |  |  |         (move_loop_invariants): Changed flags to df_init.
 | 
      
         | 2742 |  |  |         * loop-iv.c (iv_analysis_loop_init): Changed flags to df_init.
 | 
      
         | 2743 |  |  |         (latch_dominating_def): Changed to use proper macros.
 | 
      
         | 2744 |  |  |         * combine.c (create_log_links): Ditto.
 | 
      
         | 2745 |  |  |         * sched-rgn.c (schedule_insns): Changed flags to df_init.
 | 
      
         | 2746 |  |  |         * dce.c (dce_process_block): Changed to use proper macros.
 | 
      
         | 2747 |  |  |         * df.h (df_insn_info.eq_uses): New field.
 | 
      
         | 2748 |  |  |         (DF_EQUIV_NOTES): Deleted permanent_flag.
 | 
      
         | 2749 |  |  |         (DF_EQ_NOTES): New changeable_flag.
 | 
      
         | 2750 |  |  |         (df_ref_info.regs_size, df_ref_info.regs_inited): Moved to df
 | 
      
         | 2751 |  |  |         structure.
 | 
      
         | 2752 |  |  |         (df.def_regs, df.use_regs, df.eq_use_regs): New fields.
 | 
      
         | 2753 |  |  |         (df_ref_info.begin): Moved from df_reg_info.
 | 
      
         | 2754 |  |  |         (DF_DEFS_COUNT, DF_DEFS_BEGIN, DF_DEFS_COUNT, DF_DEFS_BEGIN,
 | 
      
         | 2755 |  |  |         DF_REG_EQ_USE_GET, DF_REG_EQ_USE_CHAIN, DF_REG_EQ_USE_COUNT): New
 | 
      
         | 2756 |  |  |         macros.
 | 
      
         | 2757 |  |  |         (DF_REG_SIZE, DF_REG_DEF_GET, DF_REG_DEF_CHAIN, DF_REG_DEF_COUNT,
 | 
      
         | 2758 |  |  |         DF_REG_USE_GET, DF_REG_USE_CHAIN, DF_REG_USE_COUNT): Redefined.
 | 
      
         | 2759 |  |  |         (df_reorganize_refs): Split into df_maybe_reorganize_use_refs and
 | 
      
         | 2760 |  |  |         df_maybe_reorganize_def_refs.
 | 
      
         | 2761 |  |  |         (df_ref_info.refs_organized): Split into refs_organized_alone and
 | 
      
         | 2762 |  |  |         refs_organized_with_eq_uses.
 | 
      
         | 2763 |  |  |         * df-problems.c (df_ru_bb_local_compute_process_def,
 | 
      
         | 2764 |  |  |         df_ru_local_compute, df_ru_confluence_n, df_ru_transfer_function,
 | 
      
         | 2765 |  |  |         df_ru_start_dump, df_rd_bb_local_compute_process_def,
 | 
      
         | 2766 |  |  |         df_rd_local_compute, df_rd_confluence_n, df_rd_transfer_function,
 | 
      
         | 2767 |  |  |         df_rd_start_dump, df_chain_alloc, df_chain_insn_reset,
 | 
      
         | 2768 |  |  |         df_chain_create_bb_process_use, df_chain_create_bb,
 | 
      
         | 2769 |  |  |         df_chain_start_dump): Changed to use proper macros.
 | 
      
         | 2770 |  |  |         (df_ru_bb_local_compute, df_chain_insn_reset, df_chain_create_bb):
 | 
      
         | 2771 |  |  |         Added support for separated reg_equiv/equal df_refs.
 | 
      
         | 2772 |  |  |         (df_ru_local_compute, df_rd_local_compute, df_chain_alloc): Split
 | 
      
         | 2773 |  |  |         into df_maybe_reorganize_use_refs and
 | 
      
         | 2774 |  |  |         df_maybe_reorganize_def_refs.
 | 
      
         | 2775 |  |  |         * df-scan.c (df_grow_reg_info, df_rescan_blocks, df_ref_create):
 | 
      
         | 2776 |  |  |         Changed to process all data structures dependent on number of
 | 
      
         | 2777 |  |  |         registers at once.
 | 
      
         | 2778 |  |  |         (df_scan_free_internal, df_scan_alloc): Changed to process new
 | 
      
         | 2779 |  |  |         data structures properly.
 | 
      
         | 2780 |  |  |         (df_rescan_blocks): Split into refs_organized_alone and
 | 
      
         | 2781 |  |  |         refs_organized_with_eq_uses.
 | 
      
         | 2782 |  |  |         (df_reg_chain_unlink): Remove decrement of bitmap_size fields.
 | 
      
         | 2783 |  |  |         (df_reg_chain_unlink, df_insn_refs_delete,
 | 
      
         | 2784 |  |  |         df_ref_create_structure): Changed to use proper macros.
 | 
      
         | 2785 |  |  |         (df_reg_chain_unlink, df_ref_remove, df_insn_refs_delete,
 | 
      
         | 2786 |  |  |         df_reorganize_refs, df_ref_create_structure, df_insn_refs_record):
 | 
      
         | 2787 |  |  |         Added support for separated reg_equiv/equal df_refs.
 | 
      
         | 2788 |  |  |         (df_maybe_reorganize_use_refs, df_maybe_reorganize_def_refs): New
 | 
      
         | 2789 |  |  |         functions.
 | 
      
         | 2790 |  |  |         * df-core.c (df_bb_regno_last_use_find,
 | 
      
         | 2791 |  |  |         df_bb_regno_first_def_find, df_bb_regno_last_def_find,
 | 
      
         | 2792 |  |  |         df_insn_regno_def_p, df_find_def, df_find_use, df_dump_start,
 | 
      
         | 2793 |  |  |         df_regno_debug): Changed to use proper macros.
 | 
      
         | 2794 |  |  |         (df_find_use, df_insn_uid_debug, df_insn_uid_debug,
 | 
      
         | 2795 |  |  |         df_insn_debug_regno, df_insn_debug_regno): Added support for
 | 
      
         | 2796 |  |  |         separated reg_equiv/equal df_refs.
 | 
      
         | 2797 |  |  |  
 | 
      
         | 2798 |  |  |  
 | 
      
         | 2799 |  |  | 2006-10-18  Paolo Bonzini  
 | 
      
         | 2800 |  |  |  
 | 
      
         | 2801 |  |  |         * stack-ptr-mod.c (pass_stack_ptr_mod): Don't set pass name.
 | 
      
         | 2802 |  |  |         * final.c (pass_no_new_pseudos): Don't set pass name.
 | 
      
         | 2803 |  |  |  
 | 
      
         | 2804 |  |  |         * fwprop.c (all_uses_available_at): Use DF_REF_REG.
 | 
      
         | 2805 |  |  |         (forward_propagate_into): Discard artificial defs/uses.
 | 
      
         | 2806 |  |  |         (pass_rtl_fwprop_addr): Add TODO_df_finish.
 | 
      
         | 2807 |  |  |  
 | 
      
         | 2808 |  |  | 2006-10-03  Richard Sandiford  
 | 
      
         | 2809 |  |  |  
 | 
      
         | 2810 |  |  |         * cselib.h (cselib_discard_hook): Declare.
 | 
      
         | 2811 |  |  |         * cselib.c (cselib_discard_hook): New variable.
 | 
      
         | 2812 |  |  |         (remove_useless_values): Call it before freeing useless values.
 | 
      
         | 2813 |  |  |         * dce.c (base_address): New union.
 | 
      
         | 2814 |  |  |         (store_base_info): Change the type of the base field from "rtx"
 | 
      
         | 2815 |  |  |         to "union base_address".
 | 
      
         | 2816 |  |  |         (local_invariant_stores, local_value_stores): New variables.
 | 
      
         | 2817 |  |  |         (store_base_eq): Split into...
 | 
      
         | 2818 |  |  |         (invariant_store_base_eq, value_store_base_eq): ...these new functions.
 | 
      
         | 2819 |  |  |         (store_base_hash): Split into...
 | 
      
         | 2820 |  |  |         (invariant_store_base_hash, value_store_base_hash): ...these
 | 
      
         | 2821 |  |  |         new functions.
 | 
      
         | 2822 |  |  |         (store_base_del): Fix formatting.
 | 
      
         | 2823 |  |  |         (init_store_group): Split into...
 | 
      
         | 2824 |  |  |         (init_invariant_store_group, init_value_store_group): ...these
 | 
      
         | 2825 |  |  |         new functions.
 | 
      
         | 2826 |  |  |         (init_dse): Use init_invariant_store_group instead of init_store_group.
 | 
      
         | 2827 |  |  |         (get_canonical_address): Delete.
 | 
      
         | 2828 |  |  |         (add_store_offset): Change the type of BASE from "rtx" to "union
 | 
      
         | 2829 |  |  |         base_address *".
 | 
      
         | 2830 |  |  |         (record_store): Remove the GROUP parameter.  Don't call
 | 
      
         | 2831 |  |  |         get_canonical_address.  Store the base in a "union base_address" and
 | 
      
         | 2832 |  |  |         add stores to either local_invariant_stores or local_value_stores.
 | 
      
         | 2833 |  |  |         (record_stores): Remove the GROUP parameter and adjust the calls
 | 
      
         | 2834 |  |  |         to record_store.
 | 
      
         | 2835 |  |  |         (store_base_local): Add a parameter that indicates whether stores
 | 
      
         | 2836 |  |  |         are invariant or cselib_vals.
 | 
      
         | 2837 |  |  |         (invariant_store_base_local): New function.
 | 
      
         | 2838 |  |  |         (value_store_base_local): Likewise.
 | 
      
         | 2839 |  |  |         (value_store_base_useless): Likewise.
 | 
      
         | 2840 |  |  |         (remove_useless_values): Likewise.
 | 
      
         | 2841 |  |  |         (store_base_prune_needed): Adjust for store_base_info changes.
 | 
      
         | 2842 |  |  |         (prescan_insns_for_dse): Remove the local group variable and use
 | 
      
         | 2843 |  |  |         local_invariant_stores and local_value_stores instead.  Adjust the
 | 
      
         | 2844 |  |  |         call to record_stores.  Use remove_useless_values as the
 | 
      
         | 2845 |  |  |         cselib_discard_hook while processing a basic block.
 | 
      
         | 2846 |  |  |  
 | 
      
         | 2847 |  |  | 2006-10-03  Maxim Kuvyrkov  
 | 
      
         | 2848 |  |  |  
 | 
      
         | 2849 |  |  |         * sched-ebb.c (ebb_head, ebb_tail, ebb_head_or_leaf_p): Removed.
 | 
      
         | 2850 |  |  |         (begin_schedule_ready, schedule_ebb, ebb_head_or_leaf_p): Remove
 | 
      
         | 2851 |  |  |         unnecessary argument, update all callers.
 | 
      
         | 2852 |  |  |         (ebb_sched_info): Update initializer.
 | 
      
         | 2853 |  |  |         (df): New static variable to keep dataflow info.
 | 
      
         | 2854 |  |  |         (compute_jump_reg_dependencies): Use it instead of glat.
 | 
      
         | 2855 |  |  |         * haifa-sched.c (glat_start, glat_end, glat_size, init_glat,
 | 
      
         | 2856 |  |  |         init_glat1, free_glat): Removed.
 | 
      
         | 2857 |  |  |         (generate_recovery_code, begin_speculative_block,
 | 
      
         | 2858 |  |  |         add_to_speculative_block, init_before_recovery,
 | 
      
         | 2859 |  |  |         create_recovery_block, create_check_block_twin,
 | 
      
         | 2860 |  |  |         schedule_block, sched_init, add_block): Remove
 | 
      
         | 2861 |  |  |         unnecessary argument, update all callers.
 | 
      
         | 2862 |  |  |         * modulo-sched.c (sms_sched_info): Update initializer.
 | 
      
         | 2863 |  |  |         (sms_schedule): Update call to sched_init ().
 | 
      
         | 2864 |  |  |         * sched-int.h (struct sched_info): Remove unnecessary argument and
 | 
      
         | 2865 |  |  |         update all callers of field 'begin_schedule_ready'.  Remove field
 | 
      
         | 2866 |  |  |         'region_head_or_leaf_p'.
 | 
      
         | 2867 |  |  |         (glat_start, glat_end): Remove prototypes.
 | 
      
         | 2868 |  |  |         (enum SCHED_FLAGS): Remove USE_GLAT, DETACH_LIFE_INFO.  Use NEW_BBS
 | 
      
         | 2869 |  |  |         instead.
 | 
      
         | 2870 |  |  |         (schedule_block, sched_init, add_block, schedule_region): Update
 | 
      
         | 2871 |  |  |         prototypes.
 | 
      
         | 2872 |  |  |         * sched-rgn.c (df, not_in_df): New static variables.
 | 
      
         | 2873 |  |  |         (check_live_1, update_live_1, add_block1): Use them instead of glat.
 | 
      
         | 2874 |  |  |         (begin_schedule_read, schedule_region): Remove unnecessary argument,
 | 
      
         | 2875 |  |  |         update all callers.
 | 
      
         | 2876 |  |  |         (region_head_or_leaf_p): Remove.
 | 
      
         | 2877 |  |  |         (region_sched_info): Update initializer.
 | 
      
         | 2878 |  |  |         * config/ia64/ia64.c (set_sched_flags): Use NEW_BBS instead of
 | 
      
         | 2879 |  |  |         DETACH_LIFE_INFO.
 | 
      
         | 2880 |  |  |  
 | 
      
         | 2881 |  |  | 2006-10-01  Kenneth Zadeck 
 | 
      
         | 2882 |  |  |  
 | 
      
         | 2883 |  |  |         * df-scan.c (df_ref_record, df_insn_refs_record,
 | 
      
         | 2884 |  |  |         df_bb_refs_record, df_refs_record, df_record_entry_block_defs):
 | 
      
         | 2885 |  |  |         Removed DF_HARD_REGS flag.
 | 
      
         | 2886 |  |  |         * df-core.c (comments): Ditto.
 | 
      
         | 2887 |  |  |         * df.h (permanent_flags.DF_HARD_REFS): Removed.
 | 
      
         | 2888 |  |  |         (changeable_flags.DF_NO_HARD_REGS): Added.
 | 
      
         | 2889 |  |  |         * df-problems.c (df_rd_bb_local_compute_process_def,
 | 
      
         | 2890 |  |  |         df_rd_bb_local_compute, df_chain_create_bb_process_use,
 | 
      
         | 2891 |  |  |         df_chain_create_bb): Added support for DF_NO_HARD_REGS flag.
 | 
      
         | 2892 |  |  |         * dce.c (init_dce): Removed DF_HARD_REFS flag.
 | 
      
         | 2893 |  |  |         * reg_stack.c (reg_to_stack): Ditto.
 | 
      
         | 2894 |  |  |         * sched_rgn.c (sched_insns): Ditto.
 | 
      
         | 2895 |  |  |         * regrename.c (regrename_optimize): Ditto.
 | 
      
         | 2896 |  |  |         * sched_ebb.c (schedule_ebbs): Ditto.
 | 
      
         | 2897 |  |  |         * fwprop.c (fwprop_init): Ditto.
 | 
      
         | 2898 |  |  |         * see.c (see_initialize_data_structures): Ditto.
 | 
      
         | 2899 |  |  |         * auto_inc_dec.c (rest_of_handle_auto_inc_dec): Ditto.
 | 
      
         | 2900 |  |  |         * mode-switching.c (optimize_mode_switching): Ditto.
 | 
      
         | 2901 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 2902 |  |  |         * ifcvt.c (if_convert): Ditto.
 | 
      
         | 2903 |  |  |         * recog.c (peephole2_optimize): Ditto.
 | 
      
         | 2904 |  |  |         * regmove.c (regmove_optimize, rest_of_handle_stack_adjustments):
 | 
      
         | 2905 |  |  |         Ditto.
 | 
      
         | 2906 |  |  |         * local_alloc.c (rest_of_handle_local_alloc): Ditto.
 | 
      
         | 2907 |  |  |         * function.c (thread_prologue_and_epilogue_insns): Ditto.
 | 
      
         | 2908 |  |  |         * rtl_factoring.c (rtl_sequabstr): Ditto.
 | 
      
         | 2909 |  |  |         * bt_load.c (branch_target_load_optimize): Ditto.
 | 
      
         | 2910 |  |  |         * loop_invariant.c (move_loop_invariants): Ditto.
 | 
      
         | 2911 |  |  |         * subregs-init.c (initialize_uninitialized_subregs): Ditto.
 | 
      
         | 2912 |  |  |         * loop-iv.c (iv_analysis_loop_init): Ditto.
 | 
      
         | 2913 |  |  |         * combine.c (rest_of_handle_combine): Ditto.
 | 
      
         | 2914 |  |  |         * web.c (web_main): Added DF_NO_HARD_REGS flag and changed loops
 | 
      
         | 2915 |  |  |         to skip over hard regs.
 | 
      
         | 2916 |  |  |         * reorg.c (dbr_schedule): Removed extra flags from
 | 
      
         | 2917 |  |  |         df_*_add_problems calls.
 | 
      
         | 2918 |  |  |  
 | 
      
         | 2919 |  |  | 2006-09-30  Kenneth Zadeck 
 | 
      
         | 2920 |  |  |  
 | 
      
         | 2921 |  |  |         * df-scan.c (problem_SCAN): Removed flags.
 | 
      
         | 2922 |  |  |         (df_scan_add_problem): Ditto.
 | 
      
         | 2923 |  |  |         (df_ref_record, df_insn_refs_record, df_bb_refs_record,
 | 
      
         | 2924 |  |  |         df_refs_record, df_record_entry_block_defs,
 | 
      
         | 2925 |  |  |         df_record_exit_block_uses ): Moved flags to df structure.
 | 
      
         | 2926 |  |  |         * df-core.c (df_init): Added permanent_flags and changeable_flags.
 | 
      
         | 2927 |  |  |         (df_add_problem): Removed flags parameter.
 | 
      
         | 2928 |  |  |         (df_set_flags, df_clear_flags): Changed processing of flags.  *
 | 
      
         | 2929 |  |  |         df.h (df_dependent_problem_function, struct df_problem): Removed
 | 
      
         | 2930 |  |  |         flags.
 | 
      
         | 2931 |  |  |         (DF_HARD_REGS, DF_EQUIV_NOTES, DF_SUBREGS, DF_DU_CHAIN,
 | 
      
         | 2932 |  |  |         DF_UD_CHAIN, DF_RI_LIFE, DF_RI_SETJMP): Changed to be fields in
 | 
      
         | 2933 |  |  |         df_permanent_flags.
 | 
      
         | 2934 |  |  |         (DF_LR_RUN_DCE): Changed to be fields in df_changeable_flags.
 | 
      
         | 2935 |  |  |         (df_init, df_add_problem, df_set_flags, df_clear_flags,
 | 
      
         | 2936 |  |  |         df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
 | 
      
         | 2937 |  |  |         df_ur_add_problem, df_live_add_problem, df_urec_add_problem,
 | 
      
         | 2938 |  |  |         df_chain_add_problem, df_ri_add_problem, df_scan_add_problem):
 | 
      
         | 2939 |  |  |         Changed flag parameters.
 | 
      
         | 2940 |  |  |         * df-problems.c (problem_RU, problem_RD, problem_LR, problem_UR,
 | 
      
         | 2941 |  |  |         problem_LIVE, problem_UREC, problem_CHAIN, problem_RI): Removed
 | 
      
         | 2942 |  |  |         changeable flags field.
 | 
      
         | 2943 |  |  |         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
 | 
      
         | 2944 |  |  |         df_ur_add_problem, df_live_add_problem, df_urec_add_problem,
 | 
      
         | 2945 |  |  |         df_chain_add_problem, df_ri_add_problem): Removed flags parameter.
 | 
      
         | 2946 |  |  |         (df_lr_local_finalize, df_chain_alloc, df_chain_insn_reset,
 | 
      
         | 2947 |  |  |         df_chain_bb_reset, df_chain_create_bb_process_use,
 | 
      
         | 2948 |  |  |         df_chain_start_dump, df_ri_alloc, df_ri_bb_compute, df_ri_compute,
 | 
      
         | 2949 |  |  |         df_ri_free): Changed location of flags.
 | 
      
         | 2950 |  |  |         * dce.c (init_dce): Moved flags from df_*_add_problem to df_init.
 | 
      
         | 2951 |  |  |         (fast_dce): Changed parameters to df_set_flags and df_clear_flags.
 | 
      
         | 2952 |  |  |         * reg_stack.c (reg_to_stack): Moved flags from df_*_add_problem to df_init.
 | 
      
         | 2953 |  |  |         * sched_rgn.c (sched_insns): Ditto.
 | 
      
         | 2954 |  |  |         * regrename.c (regrename_optimize): Ditto.
 | 
      
         | 2955 |  |  |         * sched_ebb.c (schedule_ebbs): Ditto.
 | 
      
         | 2956 |  |  |         * fwprop.c (fwprop_init): Ditto.
 | 
      
         | 2957 |  |  |         * see.c (see_initialize_data_structures): Ditto.
 | 
      
         | 2958 |  |  |         * auto_inc_dec.c (rest_of_handle_auto_inc_dec): Ditto.
 | 
      
         | 2959 |  |  |         * mode-switching.c (optimize_mode_switching): Ditto.
 | 
      
         | 2960 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 2961 |  |  |         * web.c (web_main): Ditto.
 | 
      
         | 2962 |  |  |         * ifcvt.c (if_convert): Ditto.
 | 
      
         | 2963 |  |  |         * recog.c (peephole2_optimize): Ditto.
 | 
      
         | 2964 |  |  |         * regmove.c (regmove_optimize, rest_of_handle_stack_adjustments):
 | 
      
         | 2965 |  |  |         Ditto.
 | 
      
         | 2966 |  |  |         * local_alloc.c (rest_of_handle_local_alloc): Ditto.
 | 
      
         | 2967 |  |  |         * function.c (thread_prologue_and_epilogue_insns): Ditto.
 | 
      
         | 2968 |  |  |         * rtl_factoring.c (rtl_sequabstr): Ditto.
 | 
      
         | 2969 |  |  |         * bt_load.c (branch_target_load_optimize): Ditto.
 | 
      
         | 2970 |  |  |         * loop_invariant.c (move_loop_invariants): Ditto.
 | 
      
         | 2971 |  |  |         * subregs-init.c (initialize_uninitialized_subregs): Ditto.
 | 
      
         | 2972 |  |  |         * loop-iv.c (iv_analysis_loop_init): Ditto.
 | 
      
         | 2973 |  |  |         * combine.c (rest_of_handle_combine): Ditto.
 | 
      
         | 2974 |  |  |  
 | 
      
         | 2975 |  |  | 2006-08-04  Kenneth Zadeck 
 | 
      
         | 2976 |  |  |  
 | 
      
         | 2977 |  |  |         * tree-pass.h (pass_rtl_dse): Split into pass_rtl_dse1,
 | 
      
         | 2978 |  |  |         pass_rtl_dse2, pass_rtl_dse3.
 | 
      
         | 2979 |  |  |         * passes.c (init_optimization_passes): Ditto.
 | 
      
         | 2980 |  |  |         * timevar.def (TV_DSE): Split into TV_DSE1, TV_DSE2, and TV_DSE3.
 | 
      
         | 2981 |  |  |         (TV_THREAD_PROLOGUE_AND_EPILOGUE): Made text shorter to improve
 | 
      
         | 2982 |  |  |         readability.
 | 
      
         | 2983 |  |  |         * df.core.c (df_init, df_finish1, df_analyze_problem, df_analyze):
 | 
      
         | 2984 |  |  |         Made postorder and instance variable of df.
 | 
      
         | 2985 |  |  |         (df_finish1): Made tolerant of being passed NULL instance.
 | 
      
         | 2986 |  |  |         (df_get_n_blocks, df_get_postorder): New functions.
 | 
      
         | 2987 |  |  |         * cfganal (post_order_compute): Added delete_unreachable
 | 
      
         | 2988 |  |  |         parameter and code to delete unreachable blocks.
 | 
      
         | 2989 |  |  |         * local_alloc (rest_of_handle_local_alloc): Removed unnecessary
 | 
      
         | 2990 |  |  |         call to delete_unreachable_blocks.
 | 
      
         | 2991 |  |  |         * df.h (postorder, n_blocks): New instance variables.
 | 
      
         | 2992 |  |  |         (df_get_n_blocks, df_get_postorder): New functions.
 | 
      
         | 2993 |  |  |         * sched-rgn.c (extend_rgns): Added extra parameter to
 | 
      
         | 2994 |  |  |         post_order_compute.
 | 
      
         | 2995 |  |  |         * basic-block.h (post_order_compute): Ditto.
 | 
      
         | 2996 |  |  |         * dce.c (fast_dce, init_rs_dflow): Now uses postorder and n_blocks from df.
 | 
      
         | 2997 |  |  |         (pass_rtl_dse): Split into pass_rtl_dse1,
 | 
      
         | 2998 |  |  |         pass_rtl_dse2, pass_rtl_dse3.
 | 
      
         | 2999 |  |  |         * sched-ebb.c (schedule-ebbs): Added return value.
 | 
      
         | 3000 |  |  |         * haifa-sched.c (add_block): Made df parameter unused and fixed
 | 
      
         | 3001 |  |  |         incorrect assert.
 | 
      
         | 3002 |  |  |  
 | 
      
         | 3003 |  |  | 2006-08-01  Kenneth Zadeck 
 | 
      
         | 3004 |  |  |  
 | 
      
         | 3005 |  |  |         * sched-ebb.c (sched_ebbs): Now returns the df instance created.
 | 
      
         | 3006 |  |  |         * rtl.h (sched_ebbs): Ditto.
 | 
      
         | 3007 |  |  |         * recog.c (split_all_insns): Made public again so it can be called
 | 
      
         | 3008 |  |  |         from ia64.c
 | 
      
         | 3009 |  |  |         * rtl.h (split_all_insns): Ditto.
 | 
      
         | 3010 |  |  |         * df-problems.c (df_ri_compute): Removed call to non existent
 | 
      
         | 3011 |  |  |         function.
 | 
      
         | 3012 |  |  |         * config/ia64/ia64.c (emit_predicate_relation_info): Added df
 | 
      
         | 3013 |  |  |         parameter and removed rotten ref to global instance.
 | 
      
         | 3014 |  |  |         (ia64_reorg): Added local instance of df and removed calls to non
 | 
      
         | 3015 |  |  |         existent flow.c.
 | 
      
         | 3016 |  |  |  
 | 
      
         | 3017 |  |  | 2006-07-26  Kenneth Zadeck 
 | 
      
         | 3018 |  |  |  
 | 
      
         | 3019 |  |  |         * regrename.c (regrename_optimize): Renamed df_clrur to df_live
 | 
      
         | 3020 |  |  |         and removed df_finish call.
 | 
      
         | 3021 |  |  |         (pass_regrename): Added TODO_df_finish flag.
 | 
      
         | 3022 |  |  |         * sched-ebb.c (schedule_ebbs): Renamed df_clrur to df_live
 | 
      
         | 3023 |  |  |         and removed df_finish call.
 | 
      
         | 3024 |  |  |         * fwprop.c (fwprop_done): Removed df_finish call.
 | 
      
         | 3025 |  |  |         (pass_rtl_fwprop): Added TODO_df_finish flag.
 | 
      
         | 3026 |  |  |         * see.c (see_commit_changes): Removed unnecessary set to df.
 | 
      
         | 3027 |  |  |         * postreload.c (rest_of_handle_postreload): Removed df_finish call.
 | 
      
         | 3028 |  |  |         (pass_postreload_cse): Added TODO_df_finish flag.
 | 
      
         | 3029 |  |  |         * tree-pass.h (TODO_df_finish): Added.
 | 
      
         | 3030 |  |  |         * cfg.c (dump_bb_info): Added flow info to dumps
 | 
      
         | 3031 |  |  |         (dump_reg_info): New function.
 | 
      
         | 3032 |  |  |         (dump_flow_info): Moved reg info printing to dump_reg_info.
 | 
      
         | 3033 |  |  |         * auto-inc-dec.c (rest_of_handle_auto_inc_dec): Renamed df_clrur to df_live
 | 
      
         | 3034 |  |  |         and removed df_finish call.
 | 
      
         | 3035 |  |  |         (pass_inc_dec): Added TODO_df_finish flag.
 | 
      
         | 3036 |  |  |         * reorg.c (dbr_schedule): Renamed df_clrur to df_live
 | 
      
         | 3037 |  |  |         and removed df_finish call.
 | 
      
         | 3038 |  |  |         (pass_delay_slots): Added TODO_df_finish flag.
 | 
      
         | 3039 |  |  |         * df-scan.c (df_scan_alloc): Added set to dflow->computed.
 | 
      
         | 3040 |  |  |         (df_scan_dump): Renamed to df_scan_start_dump.
 | 
      
         | 3041 |  |  |         (problem_SCAN): Updated for new dumpers.
 | 
      
         | 3042 |  |  |         * haifa-sched.c (sched_finish): Removed df parameter and deleted
 | 
      
         | 3043 |  |  |         call to df_finish.
 | 
      
         | 3044 |  |  |         * df-core.c (ddf): Renamed to df_current_instance and made public.
 | 
      
         | 3045 |  |  |         (df_init): Ditto and added check to make sure only one instance of
 | 
      
         | 3046 |  |  |         df is alive at any point.
 | 
      
         | 3047 |  |  |         (df_add_problem): Initialized dflow->computed.
 | 
      
         | 3048 |  |  |         (df_analyze_problem): Set dflow->computed.
 | 
      
         | 3049 |  |  |         (df_dump): Now calls new dumpers.
 | 
      
         | 3050 |  |  |         (df_dump_start, df_dump_top, df_dump_bottom): New functions.
 | 
      
         | 3051 |  |  |         (debug_df_insn, debug_df_reg, debug_df_regno, debug_df_defno,
 | 
      
         | 3052 |  |  |         debug_df_useno): Renamed ddf to df_current_instance.
 | 
      
         | 3053 |  |  |         * mode_switching (optimize_mode_switching): Renamed df_clrur to df_live
 | 
      
         | 3054 |  |  |         and removed df_finish call.
 | 
      
         | 3055 |  |  |         (pass_mode_switching): Added TODO_df_finish flag.
 | 
      
         | 3056 |  |  |         * modulo-sched.c (sms_schedule): Removed calls to df_dump and df
 | 
      
         | 3057 |  |  |         parameter from sched_finish.
 | 
      
         | 3058 |  |  |         (pass_sms): Added TODO_df_finish flag.
 | 
      
         | 3059 |  |  |         * web.c (web_main): Removed call to df_dump and df_finish.
 | 
      
         | 3060 |  |  |         (pass_web): Added TODO_df_finish flag.
 | 
      
         | 3061 |  |  |         * loop-init.c (pass_rtl_move_loop_init): Added TODO_df_finish
 | 
      
         | 3062 |  |  |         flag.
 | 
      
         | 3063 |  |  |         * global.c (global_alloc): Removed call to df_dump and debugging
 | 
      
         | 3064 |  |  |         code.
 | 
      
         | 3065 |  |  |         * ifcvt.c (if_convert):  Renamed df_clrur to df_live
 | 
      
         | 3066 |  |  |         and removed df_finish call.
 | 
      
         | 3067 |  |  |         (pass_rtl_ifcvt, pass_if_after_combine, pass_if_after_reload):
 | 
      
         | 3068 |  |  |         Added TODO_df_finish flag.
 | 
      
         | 3069 |  |  |         * recog.c (peephole2_optimize): Renamed df_clrur to df_live and
 | 
      
         | 3070 |  |  |         removed df_finish call.
 | 
      
         | 3071 |  |  |         (pass_peephole2): Added TODO_df_finish flag.
 | 
      
         | 3072 |  |  |         * regmove.c (regmove_optimize, rest_of_handle_stack_adjustments):
 | 
      
         | 3073 |  |  |         Renamed df_clrur to df_live and removed df_finish call.
 | 
      
         | 3074 |  |  |         (pass_regmove, pass_stack_adjustments): Added TODO_df_finish flag.
 | 
      
         | 3075 |  |  |         * function.c (epilogue_done): Removed df_finish call.
 | 
      
         | 3076 |  |  |         (pass_thread_prologue): Added TODO_df_finish flag.
 | 
      
         | 3077 |  |  |         * df.h (DF_CLRUR): Renamed to DF_LIVE.
 | 
      
         | 3078 |  |  |         (df_dump_bb_problem_function): New function type.
 | 
      
         | 3079 |  |  |         (df_problem.dump_fun): Deleted.
 | 
      
         | 3080 |  |  |         (df_problem.dump_fun_start, df_problem.dump_fun_top,
 | 
      
         | 3081 |  |  |         df_problem.dump_fun_bottom, problem_data.computed,
 | 
      
         | 3082 |  |  |         df_current_instance): New fields.
 | 
      
         | 3083 |  |  |         (DF_CLRUR_BB_INFO): Renamed to DF_LIVE_BB_INFO.
 | 
      
         | 3084 |  |  |         (df_clrur_bb_info): Renamed to df_live_bb_info.
 | 
      
         | 3085 |  |  |         (df_dump_start, df_dump_top, df_dump_bottom): New functions.
 | 
      
         | 3086 |  |  |         * rtl-factoring (rtl_seqabstr): Renamed df_clrur to df_live
 | 
      
         | 3087 |  |  |         and removed df_finish call.
 | 
      
         | 3088 |  |  |         (pass_rtl_seqabstr):  Added TODO_df_finish flag.
 | 
      
         | 3089 |  |  |         * bt-load (branch_target_load_optimize): Renamed df_clrur to df_live
 | 
      
         | 3090 |  |  |         and removed df_finish call.
 | 
      
         | 3091 |  |  |         (pass_branch_target_load_optimize1,
 | 
      
         | 3092 |  |  |         pass_branch_target_load_optimize2): Added TODO_df_finish flag.
 | 
      
         | 3093 |  |  |         * loop-invariant.c (move_loop_invariants): Removed call to
 | 
      
         | 3094 |  |  |         df_finish.
 | 
      
         | 3095 |  |  |         * subregs-init.c (initialize_uninitialized_subregs): Renamed
 | 
      
         | 3096 |  |  |         df_clrur to df_live and changed call to dg_get_live_in to
 | 
      
         | 3097 |  |  |         DF_LIVE_IN.
 | 
      
         | 3098 |  |  |         * rtl.h (dump_reg_info): New function.
 | 
      
         | 3099 |  |  |         * sched-int.h (sched_finish): Removed df parameter.
 | 
      
         | 3100 |  |  |         * combine.c (rest_of_handle_combine): Renamed df_clrur to df_live
 | 
      
         | 3101 |  |  |         and removed df_finish call.
 | 
      
         | 3102 |  |  |         (pass_combine): Added TODO_df_finish flag.
 | 
      
         | 3103 |  |  |         * df-problems.c (df_get_live_in, df_get_live_out): Renamed
 | 
      
         | 3104 |  |  |         DF_CLRUR to DF_LIVE.
 | 
      
         | 3105 |  |  |         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_clrur_dump,
 | 
      
         | 3106 |  |  |         df_urec_dump, df_ri_dump): Deleted function.
 | 
      
         | 3107 |  |  |         (df_ru_start_dump, df_ru_top_dump, df_ru_bottom_dump,
 | 
      
         | 3108 |  |  |         df_rd_start_dump, df_rd_top_dump, df_rd_bottom_dump,
 | 
      
         | 3109 |  |  |         df_lr_start_dump, df_lr_top_dump, df_lr_bottom_dump,
 | 
      
         | 3110 |  |  |         df_ur_start_dump, df_ur_top_dump, df_ur_bottom_dump,
 | 
      
         | 3111 |  |  |         df_live_top_dump, df_live_bottom_dump, df_ri_start_dump,
 | 
      
         | 3112 |  |  |         df_urec_top_dump, df_urec_bottom_dump): New function.
 | 
      
         | 3113 |  |  |         (problem_RU, problem_RD, problem_LR, problem_UR, problem_UREC,
 | 
      
         | 3114 |  |  |         problem_CHAIN, problem_RI): Replaced dump functions.
 | 
      
         | 3115 |  |  |         (df_clrur_get_bb_info): Renamed to df_live_get_bb_info.
 | 
      
         | 3116 |  |  |         (df_clrur_set_bb_info): Renamed to df_live_set_bb_info.
 | 
      
         | 3117 |  |  |         (df_clrur_free_bb_info): Renamed to df_live_free_bb_info.
 | 
      
         | 3118 |  |  |         (df_clrur_alloc): Renamed to df_live_alloc.
 | 
      
         | 3119 |  |  |         (df_clrur_local_finalize): Renamed to df_live_local_finalize.
 | 
      
         | 3120 |  |  |         (df_clrur_free): Renamed to df_clrur_free.
 | 
      
         | 3121 |  |  |         (problem_CLRUR): Renamed to problem_LIVE and dump functions
 | 
      
         | 3122 |  |  |         changed.
 | 
      
         | 3123 |  |  |         (df_clrur_add_problem): Renamed to df_live_add_problem.
 | 
      
         | 3124 |  |  |         (df_chains_dump): Renamed to df_chain_start_dump.
 | 
      
         | 3125 |  |  |         (df_chain_add_problem, df_ri_alloc, df_ri_compute): Removed
 | 
      
         | 3126 |  |  |         problem_data->computed.
 | 
      
         | 3127 |  |  |         * Makefile.in (passes.o): Added DF_H.
 | 
      
         | 3128 |  |  |         * sched-rgn.c (schedule_insns): Renamed df_clrur to df_live
 | 
      
         | 3129 |  |  |         and removed df_finish call.
 | 
      
         | 3130 |  |  |         (pass_sched, pass_sched2): Added TODO_df_finish flag.
 | 
      
         | 3131 |  |  |         * passes.c (execute_todo): Added call to df_finish for
 | 
      
         | 3132 |  |  |         TODO_df_finish flag.
 | 
      
         | 3133 |  |  |         * cfgrtl.c (dump_regset_in, dump_regset_out): Deleted.
 | 
      
         | 3134 |  |  |         (rtl_dump_bb, print_rtl_with_bb): Fixed to find and print df info.
 | 
      
         | 3135 |  |  |         * dce.c (init_dce): Removed call to df_dump.
 | 
      
         | 3136 |  |  |         (end_dce, end_fast_dce): Removed call df_finish and null out local
 | 
      
         | 3137 |  |  |         df instance variable.
 | 
      
         | 3138 |  |  |         (pass_rtl_dce, pass_fast_rtl_dce, pass_rtl_dse): Added
 | 
      
         | 3139 |  |  |         TODO_df_finish flag.
 | 
      
         | 3140 |  |  |  
 | 
      
         | 3141 |  |  |  
 | 
      
         | 3142 |  |  | 2006-07-23  Kenneth Zadeck 
 | 
      
         | 3143 |  |  |  
 | 
      
         | 3144 |  |  |         * tree-pass.h (pass_regclass_init, pass_no_new_pseudos,
 | 
      
         | 3145 |  |  |         pass_split_before_sched2): Added.
 | 
      
         | 3146 |  |  |         (pass_life, pass_remove_death_notes): Deleted.
 | 
      
         | 3147 |  |  |         * rtlanal.c: Documentation.
 | 
      
         | 3148 |  |  |         * stack-ptr-mod.c: Ditto.
 | 
      
         | 3149 |  |  |         * output.h: Ditto.
 | 
      
         | 3150 |  |  |         * function.c: Ditto.
 | 
      
         | 3151 |  |  |         * caller-save.c: Ditto.
 | 
      
         | 3152 |  |  |         * sched-deps.c: Ditto.
 | 
      
         | 3153 |  |  |         * jump.c: Ditto.
 | 
      
         | 3154 |  |  |         * alias.c: Ditto.
 | 
      
         | 3155 |  |  |         * calls.c: Ditto.
 | 
      
         | 3156 |  |  |         * cfgloop.c: Ditto.
 | 
      
         | 3157 |  |  |         (establish_preds, flow_loops_find): Removed ref to cfun->max_loop_depth.
 | 
      
         | 3158 |  |  |         * final.c: (rest_of_no_new_pseudos, pass_no_new_pseudos): Added.
 | 
      
         | 3159 |  |  |         * cfg.c (dump_regset, debug_regset): Moved from flow.c.
 | 
      
         | 3160 |  |  |         * regs.h (regs_may_share): Deleted.
 | 
      
         | 3161 |  |  |         (allocate_reg_life_data): Added.
 | 
      
         | 3162 |  |  |         * flow.c: Deleted.
 | 
      
         | 3163 |  |  |         * global.c (reg_may_share): Deleted.
 | 
      
         | 3164 |  |  |         (global_alloc): Removed support for regs_may_share.
 | 
      
         | 3165 |  |  |         * ifcvt.c (rest_or_handel_if_conversion): Removed ref to
 | 
      
         | 3166 |  |  |         clear_reg_deaths.
 | 
      
         | 3167 |  |  |         * timevar.def (TV_FLOW): Removed.
 | 
      
         | 3168 |  |  |         * recog.c (find_single_use, find_single_use_1): Moved to combine
 | 
      
         | 3169 |  |  |         and made static.
 | 
      
         | 3170 |  |  |         (split_all_insns, split_all_insns_noflow): Made static.
 | 
      
         | 3171 |  |  |         (pass_split_before_regclass): Fixed tv_id.
 | 
      
         | 3172 |  |  |         (gate_handle_split_before_sched2,
 | 
      
         | 3173 |  |  |         rest_of_handle_split_before_sched2, pass_split_before_sched2): New.
 | 
      
         | 3174 |  |  |         (pass_split_for_shorten_branches): Renamed and fixed tv_id.
 | 
      
         | 3175 |  |  |         * recog.h (find_single_use): Removed.
 | 
      
         | 3176 |  |  |         * regmove.c (find_use_as_address): Moved from flow and made
 | 
      
         | 3177 |  |  |         static.
 | 
      
         | 3178 |  |  |         * function.h (max_loop_depth): Removed.
 | 
      
         | 3179 |  |  |         * cfgcleanup.c (delete_dead_jumptables): Moved from flow.c.
 | 
      
         | 3180 |  |  |         * subregs-init.c (initialize_uninitialized_subregs): Added call to
 | 
      
         | 3181 |  |  |         allocate_reg_life_data if new regs were added.
 | 
      
         | 3182 |  |  |         * regclass.c (max_regno, reg_set_to_hard_reg_set,
 | 
      
         | 3183 |  |  |         allocate_reg_life_data): Moved from flow.c.
 | 
      
         | 3184 |  |  |         (regclass_init): Now static and returns unsigned int.
 | 
      
         | 3185 |  |  |         (pass_regclass_init, find_subregs_of_mode): New.
 | 
      
         | 3186 |  |  |         (init_subregs_of_mode): Now fills the hash table.
 | 
      
         | 3187 |  |  |         * rtl.h (find_use_as_address, split_all_insns,
 | 
      
         | 3188 |  |  |         split_all_insns_noflow, regclass_init): Deleted.
 | 
      
         | 3189 |  |  |         * combine.c (find_single_use_1, find_single_use): Moved from recog
 | 
      
         | 3190 |  |  |         and made static.
 | 
      
         | 3191 |  |  |         (delete_noop_moves): Moved from flow.c and made static.
 | 
      
         | 3192 |  |  |         (rest_of_handle_combine): Now runs dce as part of df_init.
 | 
      
         | 3193 |  |  |         * df-problems.c (reg_n_info): Moved from flow.c.
 | 
      
         | 3194 |  |  |         (df_ri_problem_data.computed): Added field.
 | 
      
         | 3195 |  |  |         (print_note, df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
 | 
      
         | 3196 |  |  |         df_create_unused_note, df_ri_bb_compute, df_ri_compute): Changed
 | 
      
         | 3197 |  |  |         note printing to go to dump_file.
 | 
      
         | 3198 |  |  |         (df_ri_alloc, df_ri_compute, df_ri_free, df_ri_dump): Added
 | 
      
         | 3199 |  |  |         support for computed flag.
 | 
      
         | 3200 |  |  |         * Makefile.in: (flow.c flow.o): Removed.
 | 
      
         | 3201 |  |  |         * sched-rgn.c (check_dead_notes1, deaths_in_region): Removed.
 | 
      
         | 3202 |  |  |         (init_regions, add_block1): Removed last of note counting code.
 | 
      
         | 3203 |  |  |         (rest_of_handle_sched2): Moved call to split_all_insns to separate
 | 
      
         | 3204 |  |  |         pass.
 | 
      
         | 3205 |  |  |         * basic_block.h (first_insn_after_basic_block_note,
 | 
      
         | 3206 |  |  |         update_life_extent, PROP_* flags, life_analysis, update_life_info
 | 
      
         | 3207 |  |  |         update_life_info_in_dirty_blocks, count_or_remove_death_notes,
 | 
      
         | 3208 |  |  |         propagate_block, clear_reg_deaths, propagate_block_info,
 | 
      
         | 3209 |  |  |         propagate_one_insn, init_propagate_block_info,
 | 
      
         | 3210 |  |  |         free_propagate_block_info): Removed.
 | 
      
         | 3211 |  |  |         (CLEANUP_*): Renumbered.
 | 
      
         | 3212 |  |  |         sched_vis.c: (print_exp): Added proper printing for PRE and
 | 
      
         | 3213 |  |  |         POST_MODIFY.
 | 
      
         | 3214 |  |  |         * passes.c (init_optimization_passes): Added pass_regclass_init,
 | 
      
         | 3215 |  |  |         pass_no_new_pseudos, and pass_split_before_sched2.  Deleted
 | 
      
         | 3216 |  |  |         pass_life.
 | 
      
         | 3217 |  |  |         * struct-equiv.c (struct_equiv_init): Removed dead conditional.
 | 
      
         | 3218 |  |  |         * config/rs6000/rs6000.c (print_operand): More fixes for
 | 
      
         | 3219 |  |  |         PRE_MODIFY.
 | 
      
         | 3220 |  |  |         * config/rs6000/rs6000.md ("*movdf_hardfloat32",
 | 
      
         | 3221 |  |  |         "*movdf_softfloat32"): Ditto.
 | 
      
         | 3222 |  |  |         * cfgrtl (first_insn_after_basic_block_note): Moved from flow.c
 | 
      
         | 3223 |  |  |         and made static.
 | 
      
         | 3224 |  |  |  
 | 
      
         | 3225 |  |  |  
 | 
      
         | 3226 |  |  | 2006-07-16  Zdenek Dvorak 
 | 
      
         | 3227 |  |  |             Kenneth Zadeck 
 | 
      
         | 3228 |  |  |  
 | 
      
         | 3229 |  |  |         * regrename.c: Fixed comments.
 | 
      
         | 3230 |  |  |         * see.c (rest_of_handle_see): Removed call to
 | 
      
         | 3231 |  |  |         update_life_info_in_dirty_blocks.
 | 
      
         | 3232 |  |  |         * tree-pass.h: (pass_clear_df, pass_reset_df): Removed.
 | 
      
         | 3233 |  |  |         * passes.c (init_optimization_passes): Ditto.
 | 
      
         | 3234 |  |  |         * cfghooks.c (split_block): Remove call to split_block_end.
 | 
      
         | 3235 |  |  |         (merge_blocks): Removed call to merge_blocks_end.
 | 
      
         | 3236 |  |  |         (duplicate_block): Removed call to duplicate_block_end.
 | 
      
         | 3237 |  |  |         * cfghooks.h (split_block_end, merge_blocks_end,
 | 
      
         | 3238 |  |  |         duplicate_block_end): Removed.
 | 
      
         | 3239 |  |  |         * cfgrtl.c (rtl_split_block_end, rtl_merge_blocks_end): Removed.
 | 
      
         | 3240 |  |  |         (rtl_create_basic_block, force_nonfallthru_and_redirect,
 | 
      
         | 3241 |  |  |         rtl_split_edge, cfg_layout_merge_blocks, cfg_layout_split_edge):
 | 
      
         | 3242 |  |  |         Removed old calls to incremental dataflow.
 | 
      
         | 3243 |  |  |         (dump_regset_in, dump_regset_out): Removed call to dump_regset.
 | 
      
         | 3244 |  |  |         (rtl_dump_bb, print_rtl_with_bb): Rearranged dataflow printing.
 | 
      
         | 3245 |  |  |         * cfg.c (compact_blocks): Removed code to keep dataflow up to
 | 
      
         | 3246 |  |  |         date.
 | 
      
         | 3247 |  |  |         * flow.c (clear_log_links): Deleted
 | 
      
         | 3248 |  |  |         (life_analysis, init_propagate_block_info): Removed PROP_LOG_LINKS.
 | 
      
         | 3249 |  |  |         (update_life_info): Removed call to clear_log_links.
 | 
      
         | 3250 |  |  |         (mark_set_1): Removed code to build log links.
 | 
      
         | 3251 |  |  |         (clear_log_links): Deleted.
 | 
      
         | 3252 |  |  |         * df-scan.c (df_uses_record): Added code to set
 | 
      
         | 3253 |  |  |         DF_REF_PRE_POST_MODIFY.
 | 
      
         | 3254 |  |  |         (df_insn_refs_record): Added code to set DF_REF_CALL_STACK_FRAME.
 | 
      
         | 3255 |  |  |         * df-core.c (df_analyze_simple_change_some_blocks,
 | 
      
         | 3256 |  |  |         df_analyze_simple_change_one_block, df_compact_blocks,
 | 
      
         | 3257 |  |  |         df_bb_replace, reset_df, pass_reset_df, clear_df, pass_clear_df):
 | 
      
         | 3258 |  |  |         Deleted.
 | 
      
         | 3259 |  |  |         * recog.c (peephole2_optimize): Deleted some rotted code.
 | 
      
         | 3260 |  |  |         * df.h (DF_REF_PRE_POST_MODIFY, DF_REF_CALL_STACK_USAGE): New
 | 
      
         | 3261 |  |  |         Flags.
 | 
      
         | 3262 |  |  |         (df_analyze_simple_change_some_blocks,
 | 
      
         | 3263 |  |  |         df_analyze_simple_change_one_block, df_compact_blocks,
 | 
      
         | 3264 |  |  |         df_bb_replace): Deleted.
 | 
      
         | 3265 |  |  |         * bt-load (branch_target_load_optimize): Removed call to
 | 
      
         | 3266 |  |  |         update_life_info.
 | 
      
         | 3267 |  |  |         * cfgcleanup.c (thread_jump, try_forward_edges): Deleted mode
 | 
      
         | 3268 |  |  |         parameter to thread_jump.
 | 
      
         | 3269 |  |  |         (try_optimize_cfg, cleanup_cfg): Removed CLEANUP_UPDATE_LIFE.
 | 
      
         | 3270 |  |  |         * cfglayout.c (cfg_layout_duplicate_bb_end): Deleted.
 | 
      
         | 3271 |  |  |         * combine.c (combine_instructions): Removed call to
 | 
      
         | 3272 |  |  |         update_life_info.
 | 
      
         | 3273 |  |  |         (set_nonzero_bits_and_sign_copies, reg_nonzero_bits_for_combine,
 | 
      
         | 3274 |  |  |         reg_num_sign_bit_copies_for_combine, get_last_value_validate,
 | 
      
         | 3275 |  |  |         get_last_value, reg_dead_at_p): Changed to use local df instance.
 | 
      
         | 3276 |  |  |         (create_log_links, clear_log_links): New function.
 | 
      
         | 3277 |  |  |         (rest_of_handle_combine): Added new version of df, create and
 | 
      
         | 3278 |  |  |         destroy log links locally.
 | 
      
         | 3279 |  |  |         * bb-reorder.c (rest_of_handle_partition_blocks): Removed call to
 | 
      
         | 3280 |  |  |         update_life_info.
 | 
      
         | 3281 |  |  |         * basic-block.h (PROP_LOG_LINKS): Removed and renumbered other
 | 
      
         | 3282 |  |  |         PROP_*.
 | 
      
         | 3283 |  |  |         (CLEANUP_UPDATE_LIFE, CLEANUP_LOG_LINKS): Removed and renumbered
 | 
      
         | 3284 |  |  |         other CLEANUP_*.
 | 
      
         | 3285 |  |  |         * tree-cfg.c (tree_cfg_hooks): Removed fields.
 | 
      
         | 3286 |  |  |         * struct-equiv.c (struct_equiv_init): Removed call to
 | 
      
         | 3287 |  |  |         update_life_in_dirty_blocks.
 | 
      
         | 3288 |  |  |         * dce.c (init_dce, end_dce, end_fast_dce): Removed code to service
 | 
      
         | 3289 |  |  |         rtl_df.
 | 
      
         | 3290 |  |  |  
 | 
      
         | 3291 |  |  | 2006-07-12  Kenneth Zadeck 
 | 
      
         | 3292 |  |  |  
 | 
      
         | 3293 |  |  |         * auto-inc-dec.c (parse_add_or_inc): Moved test to merge_in_block.
 | 
      
         | 3294 |  |  |         (find_inc): Now returns success flag if transformation was made.
 | 
      
         | 3295 |  |  |         (find_mem): Ditto.
 | 
      
         | 3296 |  |  |         (merge_in_block): Restructed to loop if any merges were made.
 | 
      
         | 3297 |  |  |         Added max_reg parameter.  Added test from parse_add_or_inc.
 | 
      
         | 3298 |  |  |  
 | 
      
         | 3299 |  |  | 2006-07-11  Kenneth Zadeck 
 | 
      
         | 3300 |  |  |  
 | 
      
         | 3301 |  |  |         * regrename.c (regrename_optimize): Changed df problem
 | 
      
         | 3302 |  |  |         initialization.
 | 
      
         | 3303 |  |  |         * sched-ebb.c (schedule_ebbs): Ditto.
 | 
      
         | 3304 |  |  |         * reorg.c (dbr_schedule): Ditto.
 | 
      
         | 3305 |  |  |         * mode-switching.c (optimize_mode_switching): Ditto.
 | 
      
         | 3306 |  |  |         * ifcvt.c (if_convert): Ditto.
 | 
      
         | 3307 |  |  |         * reorg.c (peephole2_optimize): Ditto.
 | 
      
         | 3308 |  |  |         * regmove.c (regmove_optimize, rest_of_handle_stack_adjustments):
 | 
      
         | 3309 |  |  |         Ditto.
 | 
      
         | 3310 |  |  |         * sched-rgn.c (schedule_insns): Ditto.
 | 
      
         | 3311 |  |  |         * rtl-factoring.c (rtl_seqabstr): Ditto.
 | 
      
         | 3312 |  |  |         * bt-load.c (branch_target_load_optimize): Ditto.
 | 
      
         | 3313 |  |  |         * subregs-init.c (initialize_uninitialized_subregs): Ditto.
 | 
      
         | 3314 |  |  |         * df-core.c (reset_df): Ditto.
 | 
      
         | 3315 |  |  |         * flow.c (update_life_info, propagate_one_insn): Renamed UPWARD_LIVE
 | 
      
         | 3316 |  |  |         to LR.
 | 
      
         | 3317 |  |  |         (rest_of_handle_life): Changed df problem
 | 
      
         | 3318 |  |  |         initialization.
 | 
      
         | 3319 |  |  |         * function.c (keep_stack_depressed): Renamed UPWARD_LIVE to LR.
 | 
      
         | 3320 |  |  |         * combine.c (set_nonzero_bits_and_sign_copies): Changed DF_LIVE_IN
 | 
      
         | 3321 |  |  |         to DF_UR_IN or DF_LR_IN.
 | 
      
         | 3322 |  |  |         (reg_nonzero_bits_for_combine,
 | 
      
         | 3323 |  |  |         reg_num_sign_bit_copies_for_combine, get_last_value): Changed
 | 
      
         | 3324 |  |  |         DF_LIVE_IN to DF_UR_IN.
 | 
      
         | 3325 |  |  |         * reg-stack.c (reg_to_stack): Changed df problem
 | 
      
         | 3326 |  |  |         initialization. Changed DF_LIVE_IN to DF_LR_IN. str
 | 
      
         | 3327 |  |  |         * struct-equiv.c (struct_equiv_init): Renamed UPWARD_LIVE
 | 
      
         | 3328 |  |  |         to LR.
 | 
      
         | 3329 |  |  |         * dce.c (dce_process_block): Changed DF_UPWARD_LIVE_* to DF_LR_*.
 | 
      
         | 3330 |  |  |         * df.h: (DF_CLRUR) Added symbol and renamed others in block.
 | 
      
         | 3331 |  |  |         (DF_CLRUR_BB_INFO): New macro.
 | 
      
         | 3332 |  |  |         (DF_LIVE_IN, DF_LIVE_OUT): Changed to use output of clrur problem.
 | 
      
         | 3333 |  |  |         (DF_UPWARD_LIVE_IN): Renamed to DF_LR_IN.
 | 
      
         | 3334 |  |  |         (DF_UPWARD_LIVE_OUT): Renamed to DF_LR_OUT.
 | 
      
         | 3335 |  |  |         (df_clrur_bb_info): New structure.
 | 
      
         | 3336 |  |  |         (df_clrur_add_problem, df_clrur_get_bb_info): New functions.
 | 
      
         | 3337 |  |  |         * df-problems: (df_get_live_in, df_get_live_out,
 | 
      
         | 3338 |  |  |         df_lr_simulate_artificial_refs_at_end): Reworked to
 | 
      
         | 3339 |  |  |         to be consistent with new dataflow problems and naming.
 | 
      
         | 3340 |  |  |         (df_ur_local_finalize): Deleted function.
 | 
      
         | 3341 |  |  |         (df_problem problem_UR): Removed ref to df_ur_local_finalize.
 | 
      
         | 3342 |  |  |         (df_clrur_get_bb_info, df_clrur_set_bb_info,
 | 
      
         | 3343 |  |  |         df_clrur_free_bb_info, df_clrur_alloc, df_clrur_free,
 | 
      
         | 3344 |  |  |         df_clrur_dump, df_clrur_add_problem): New functions.
 | 
      
         | 3345 |  |  |         (df_problem problem_CLRUR): New datastructure.
 | 
      
         | 3346 |  |  |         * auto-inc-dec.c (reg_next_inc_use): New Array.
 | 
      
         | 3347 |  |  |         (attempt_change): Added inc_reg parm and boolean result.  Move
 | 
      
         | 3348 |  |  |         some tests to try_merge.  Added processing for reg_next_inc_use.
 | 
      
         | 3349 |  |  |         (try_merge): Added boolean result and some test moved from
 | 
      
         | 3350 |  |  |         attempt_change and parse_add_or_inc.
 | 
      
         | 3351 |  |  |         (parse_add_or_inc): Move test to try_merge.  Improved debugging,
 | 
      
         | 3352 |  |  |         and added code to support reg_next_inc_use.  Added more
 | 
      
         | 3353 |  |  |         correctness tests.
 | 
      
         | 3354 |  |  |         (rest_of_handle_auto_inc_dec): Changed df problem initialization
 | 
      
         | 3355 |  |  |         and added code to support reg_next_inc_use.
 | 
      
         | 3356 |  |  |  
 | 
      
         | 3357 |  |  | 2006-07-05  Richard Sandiford  
 | 
      
         | 3358 |  |  |  
 | 
      
         | 3359 |  |  |         * passes.c (init_optimization_passes): Move the final RTL DSE pass
 | 
      
         | 3360 |  |  |         after thread_prologue_and_epilogue.
 | 
      
         | 3361 |  |  |  
 | 
      
         | 3362 |  |  | 2006-07-01  Daniel Berlin  
 | 
      
         | 3363 |  |  |             David Edelsohn  
 | 
      
         | 3364 |  |  |             Kenneth Zadeck 
 | 
      
         | 3365 |  |  |  
 | 
      
         | 3366 |  |  |         tree-pass.h (pass_inc_dec): New pass variable.
 | 
      
         | 3367 |  |  |         auto-inc-dec.c: New file that contains pass to find auto-inc/dec
 | 
      
         | 3368 |  |  |         instruction combinations.
 | 
      
         | 3369 |  |  |         flow.c: Removed unused includes for execinfo.h and stdio.h.
 | 
      
         | 3370 |  |  |         (init_propagate_block_info): Fixed missing comma typo.
 | 
      
         | 3371 |  |  |         (attempt_auto_inc, try_pre_increment): Added code to abort if any
 | 
      
         | 3372 |  |  |         auto-inc/dec insns are found by this pass.
 | 
      
         | 3373 |  |  |         df-scan.c (df_defs_record): Added flags parameter.
 | 
      
         | 3374 |  |  |         (df_insn_refs_record): Added code to check for conditional def.
 | 
      
         | 3375 |  |  |         (df_recompute_luids): New function.
 | 
      
         | 3376 |  |  |         df-core.c: Fixed comment.
 | 
      
         | 3377 |  |  |         global.c (global_alloc): Moved misplaced debugging code.
 | 
      
         | 3378 |  |  |         (global_conflicts): Added patch to fix the way auto-incs are
 | 
      
         | 3379 |  |  |         accounted for in conflicts graph.
 | 
      
         | 3380 |  |  |         timevar.def (TV_AUTO_INC_DEC): New variable.
 | 
      
         | 3381 |  |  |         recog.c: Fixed comment.
 | 
      
         | 3382 |  |  |         function.c: Fixed comment.
 | 
      
         | 3383 |  |  |         df.h (DF_REF_CONDITIONAL): New flag.
 | 
      
         | 3384 |  |  |         (df_recompute_luids): New function.
 | 
      
         | 3385 |  |  |         gcse.c (extract_mentioned_regs_helper): Added PRE/POST_MODIFY
 | 
      
         | 3386 |  |  |         cases.
 | 
      
         | 3387 |  |  |         common.opt (fauto-inc-dec): New flag.
 | 
      
         | 3388 |  |  |         rtl.h (AUTO_INC_DEC): Made this symbol dependent on
 | 
      
         | 3389 |  |  |         HAVE_(PRE/POST)_MODIFY_(REG/DISP).  Made other symbols dependent
 | 
      
         | 3390 |  |  |         on AUTO_INC_DEC rather than components that defined AUTO_INC_DEC.
 | 
      
         | 3391 |  |  |         df-problems.c (df_ru_bb_local_compute_process_def,
 | 
      
         | 3392 |  |  |         df_lr_bb_local_compute, df_lr_simulate_artificial_refs_at_end,
 | 
      
         | 3393 |  |  |         df_lr_simulate_one_insn, df_chain_create_bb,
 | 
      
         | 3394 |  |  |         df_create_unused_note): Added DF_REF_CONDITIONAL to keep
 | 
      
         | 3395 |  |  |         conditional defs from being added to kill sets.
 | 
      
         | 3396 |  |  |         dce.c (dce_process_block): Ditto.
 | 
      
         | 3397 |  |  |         Makefile.in (auto-inc-dec.c): New file.
 | 
      
         | 3398 |  |  |         basic-block.h: Preparation to get rid of PROP_AUTO_INC flag.
 | 
      
         | 3399 |  |  |         passes.c (init_optimization_passes): Added pass_inc_dec.
 | 
      
         | 3400 |  |  |         config/rs6000/rs6000.c (rs6000_legitimate_address): Added code for
 | 
      
         | 3401 |  |  |         PRE_MODIFY.
 | 
      
         | 3402 |  |  |         (rs6000_mode_dependent_address, print_operand): Added case for pre_modify.
 | 
      
         | 3403 |  |  |         config/rs6000/rs6000.h (HAVE_PRE_MODIFY_DISP,
 | 
      
         | 3404 |  |  |         HAVE_PRE_MODIFY_REG): Added flags.
 | 
      
         | 3405 |  |  |         reload1 (eliminate_regs_1, elimination_effects): Added cases for
 | 
      
         | 3406 |  |  |         PRE/POST_MODIFY.
 | 
      
         | 3407 |  |  |  
 | 
      
         | 3408 |  |  |  
 | 
      
         | 3409 |  |  |  
 | 
      
         | 3410 |  |  | 2006-05-27  Steven Bosscher  
 | 
      
         | 3411 |  |  |  
 | 
      
         | 3412 |  |  |         * reorg.c (dbr_schedule): Fix df_ur_add_problem calls.
 | 
      
         | 3413 |  |  |  
 | 
      
         | 3414 |  |  | 2006-05-24  Kenneth Zadeck 
 | 
      
         | 3415 |  |  |  
 | 
      
         | 3416 |  |  |         * df-scan.c (df_scan_free_internal, df_grow_reg_info,
 | 
      
         | 3417 |  |  |         df_reg_chain_unlink, df_ref_remove,
 | 
      
         | 3418 |  |  |         df_insn_create_insn_record, df_insn_refs_delete,
 | 
      
         | 3419 |  |  |         df_ref_create_structure, df_ref_record, df_mark_reg,
 | 
      
         | 3420 |  |  |         df_record_entry_block_defs, df_record_exit_block_uses):
 | 
      
         | 3421 |  |  |         Formatting fixes.
 | 
      
         | 3422 |  |  |         (df_get_artificial_defs): Spelling fixes.
 | 
      
         | 3423 |  |  |         (df_ref_record, df_def_record_1, df_uses_record):
 | 
      
         | 3424 |  |  |         Fix the way that subregs are processed.
 | 
      
         | 3425 |  |  |         (df_defs_record, df_def_record_1, df_insn_refs_record):
 | 
      
         | 3426 |  |  |         Split DF_REF_CLOBBER into two cases.
 | 
      
         | 3427 |  |  |         * df-core.c (df_analyze): Added comments
 | 
      
         | 3428 |  |  |         (df_simple_iterative_dataflow): New function.
 | 
      
         | 3429 |  |  |         (df_dump): Formatting fixes.
 | 
      
         | 3430 |  |  |         * df.h (DF_REF_CLOBBER): Deleted.
 | 
      
         | 3431 |  |  |         (DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New enums.
 | 
      
         | 3432 |  |  |         (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info, df_ur_bb_info,
 | 
      
         | 3433 |  |  |         df_urec_bb_info): Added comments.
 | 
      
         | 3434 |  |  |         (df_simple_iterative_dataflow): New function.
 | 
      
         | 3435 |  |  |         * df-problems.c (df_print_bb_index, df_set_dead_notes_for_mw):
 | 
      
         | 3436 |  |  |         Added comments.
 | 
      
         | 3437 |  |  |         (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n,
 | 
      
         | 3438 |  |  |         df_ru_free, df_ru_dump, df_rd_alloc,
 | 
      
         | 3439 |  |  |         df_rd_bb_local_compute_process_def, df_rd_bb_local_compute,
 | 
      
         | 3440 |  |  |         df_rd_local_compute, df_rd_confluence_n, df_rd_free,
 | 
      
         | 3441 |  |  |         df_rd_dump, df_lr_bb_local_compute, df_lr_bb_local_compute,
 | 
      
         | 3442 |  |  |         df_lr_local_compute, df_ur_alloc, df_ur_dump, df_urec_alloc,
 | 
      
         | 3443 |  |  |         df_urec_bb_local_compute, df_urec_local_compute,
 | 
      
         | 3444 |  |  |         df_urec_local_finalize, df_urec_dump, df_chain_create_bb,
 | 
      
         | 3445 |  |  |         df_create_unused_note,  df_ri_bb_compute): Formatting fixes.
 | 
      
         | 3446 |  |  |         (df_ru_bb_local_compute_process_def): Do not clear gen set.
 | 
      
         | 3447 |  |  |         (df_ru_bb_local_compute): Reorder processing insn.
 | 
      
         | 3448 |  |  |         (df_ru_transfer_function): Fixed incorrect use of bitmaps.
 | 
      
         | 3449 |  |  |         (df_ru_dump, df_rd_dump, df_chains_dump): Added debugging code.
 | 
      
         | 3450 |  |  |         (df_lr_bb_local_compute, df_lr_simulate_one_insn,
 | 
      
         | 3451 |  |  |         df_ur_bb_local_compute, df_chain_create_bb,
 | 
      
         | 3452 |  |  |         df_create_unused_note, df_ri_bb_compute): Split
 | 
      
         | 3453 |  |  |         DF_REF_CLOBBER into two cases.
 | 
      
         | 3454 |  |  |         * ddg.c (add_deps_for_def): Changed to use ru info.
 | 
      
         | 3455 |  |  |         * modulo-sched.c (sms_schedule): Added debugging.
 | 
      
         | 3456 |  |  |         * dce.c (rs_dflow, df_problem reaching_stores_problem): Deleted.
 | 
      
         | 3457 |  |  |         (init_rs_dflow, calculate_reaching_stores): Move dataflow to new
 | 
      
         | 3458 |  |  |         df function.
 | 
      
         | 3459 |  |  |  
 | 
      
         | 3460 |  |  | 2006-05-23  Kenneth Zadeck 
 | 
      
         | 3461 |  |  |  
 | 
      
         | 3462 |  |  |         * fwprop.c (local_ref_killed_between_p): Rearranged definition.
 | 
      
         | 3463 |  |  |  
 | 
      
         | 3464 |  |  | 2006-05-23  Steven Bosscher  
 | 
      
         | 3465 |  |  |  
 | 
      
         | 3466 |  |  |         * rtlanal.c (find_occurrence): Move to fwprop.c.
 | 
      
         | 3467 |  |  |         * rtl.h (find_occurrence): Remove prototype.
 | 
      
         | 3468 |  |  |         * fwprop.c (can_simplify_addr): Fix check for frame based addresses.
 | 
      
         | 3469 |  |  |         (should_replace_address): Update comment before this function.
 | 
      
         | 3470 |  |  |         (local_ref_killed_between_p): Don't choque on NOTEs.
 | 
      
         | 3471 |  |  |         (use_killed_between): Handle the exceptional case that a DEF does
 | 
      
         | 3472 |  |  |         not dominate one of its uses.
 | 
      
         | 3473 |  |  |         (varying_mem_p): Simplify return type.
 | 
      
         | 3474 |  |  |         (all_uses_available_at): Clean up unnecessary single_set calls.
 | 
      
         | 3475 |  |  |         (find_occurrence_callback, find_occurrence): New.
 | 
      
         | 3476 |  |  |         (subst): Rename to try_fwprop_subst.
 | 
      
         | 3477 |  |  |         (forward_propagate_subreg): Update caller.
 | 
      
         | 3478 |  |  |         (forward_propagate_and_simplify): Likewise.
 | 
      
         | 3479 |  |  |         (fwprop_init): Find loops before computing data flow info.
 | 
      
         | 3480 |  |  |         (fwprop_done): Call cleanup_cfg without CLEANUP_PRE_LOOP.  Free
 | 
      
         | 3481 |  |  |         loop tree before cleanup_cfg.
 | 
      
         | 3482 |  |  |  
 | 
      
         | 3483 |  |  | 2006-05-14  Kenneth Zadeck 
 | 
      
         | 3484 |  |  |  
 | 
      
         | 3485 |  |  |         * regclass.c (init_subregs_of_mode): Created dummy version
 | 
      
         | 3486 |  |  |         when CANNOT_CHANGE_MODE_CLASS is undefined.
 | 
      
         | 3487 |  |  |  
 | 
      
         | 3488 |  |  | 2006-05-13  Steven Bosscher  
 | 
      
         | 3489 |  |  |  
 | 
      
         | 3490 |  |  |         * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
 | 
      
         | 3491 |  |  |         information attached to non-INSNs such as NOTEs.
 | 
      
         | 3492 |  |  |         (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
 | 
      
         | 3493 |  |  |  
 | 
      
         | 3494 |  |  | 2006-05-05  Kenneth Zadeck 
 | 
      
         | 3495 |  |  |  
 | 
      
         | 3496 |  |  |         * haifa-sched.c (glat_size): New variable.
 | 
      
         | 3497 |  |  |         (sched-init, extend_bb): Properly initialized glat_start and
 | 
      
         | 3498 |  |  |         glat_end.
 | 
      
         | 3499 |  |  |         (free_glat): Fixed double free of bitmaps.
 | 
      
         | 3500 |  |  |         * df-scan.c (df_scan_get_bb_info, df_scan_set_bb_info): Added
 | 
      
         | 3501 |  |  |         assertions.
 | 
      
         | 3502 |  |  |         * df-problems.c (df_ru_get_bb_info, df_ru_set_bb_info,
 | 
      
         | 3503 |  |  |         df_rd_get_bb_info, df_rd_set_bb_info, df_lr_get_bb_info,
 | 
      
         | 3504 |  |  |         df_lr_set_bb_info, df_ur_get_bb_info, df_ur_set_bb_info,
 | 
      
         | 3505 |  |  |         df_urec_get_bb_info, df_urec_set_bb_info): Ditto.
 | 
      
         | 3506 |  |  |  
 | 
      
         | 3507 |  |  | 2006-04-25  Kenneth Zadeck 
 | 
      
         | 3508 |  |  |  
 | 
      
         | 3509 |  |  |         * flow.c (rest_of_handle_life): Removed unnecessary code.
 | 
      
         | 3510 |  |  |         * df-scan.c (df_scan_free_internal, df_scan_free): Fixed
 | 
      
         | 3511 |  |  |         storage leak.
 | 
      
         | 3512 |  |  |         * df-core.c (df_delete_basic_block): Removed dangling pointer.
 | 
      
         | 3513 |  |  |         * mode-switching.c (optimize_move_switching): Moved creation of df
 | 
      
         | 3514 |  |  |         instance to avoid storage leak.
 | 
      
         | 3515 |  |  |         * ifcvt.c (if_convert): Fixed storage leak.
 | 
      
         | 3516 |  |  |         * dce.c (mark_insn,
 | 
      
         | 3517 |  |  |         rest_of_handle_dce): Removed old way of processing libcalls.
 | 
      
         | 3518 |  |  |         (libcall_matches_p, mark_libcall_insns): Removed.
 | 
      
         | 3519 |  |  |         (mark_libcall): New function.
 | 
      
         | 3520 |  |  |         (mark_reg_dependencies, dce_process_block): New code to check for
 | 
      
         | 3521 |  |  |         libcalls.
 | 
      
         | 3522 |  |  |         (fast_dce): Fixed storage leak.
 | 
      
         | 3523 |  |  |  
 | 
      
         | 3524 |  |  | 2006-04-24  Kenneth Zadeck 
 | 
      
         | 3525 |  |  |  
 | 
      
         | 3526 |  |  |         * sched-ebb.c (schedule_ebbs): Updated register lifetime info.
 | 
      
         | 3527 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 3528 |  |  |         * sched-reg.c (schedule_insns): Ditto.
 | 
      
         | 3529 |  |  |         * regmove.c (regmove-optimize): Ditto.
 | 
      
         | 3530 |  |  |         * tree.h (setjmp_vars_warning, setjmp_args_warning): Removed.
 | 
      
         | 3531 |  |  |         (generate_setjmp_warning): Added.
 | 
      
         | 3532 |  |  |         * tree-pass.h (pass_subregs_of_mode_init): Added.
 | 
      
         | 3533 |  |  |         * flow.c (life_analysis): Moved parts to other passes.
 | 
      
         | 3534 |  |  |         (regno_clobbered_at_setjmp):Moved setjmp warning to local-alloc.
 | 
      
         | 3535 |  |  |         (rest_of_handle_life): Ditto.
 | 
      
         | 3536 |  |  |         * df-scan.c (df_ref_record): Reformatted comment.
 | 
      
         | 3537 |  |  |         * ifcvt.c (rest_of_handle_if_conversion): Removed last bit of
 | 
      
         | 3538 |  |  |         rtl_df scafolding.
 | 
      
         | 3539 |  |  |         * local-alloc.c (local_alloc, no_equiv, block_alloc): Changed to
 | 
      
         | 3540 |  |  |         use same instance of df as global_alloc,
 | 
      
         | 3541 |  |  |         (rest_of_handle_local_alloc): Now also produces setjmp warnings.
 | 
      
         | 3542 |  |  |         * function.c (regno_clobbered_at_setjmp): Moved from flow.
 | 
      
         | 3543 |  |  |         (setjmp_vars_warning, setjmp_args_warning): Added parms to use
 | 
      
         | 3544 |  |  |         passed in df instance.
 | 
      
         | 3545 |  |  |         (generate_setjmp_warnings): New function.
 | 
      
         | 3546 |  |  |         * df.h (DF_RI_SETJMP): New constant.
 | 
      
         | 3547 |  |  |         (df_ri_get_setjmp_crosses): New function.
 | 
      
         | 3548 |  |  |         * df-problems.c (df_ri_problem_data, setjmp_crosses): New
 | 
      
         | 3549 |  |  |         variables.
 | 
      
         | 3550 |  |  |         (df_ri_alloc, df_ri_bb_compute, df_ri_bb_compute, df_ri_compute):
 | 
      
         | 3551 |  |  |         Changed variables live across setjmp computation.
 | 
      
         | 3552 |  |  |         (df_ri_get_setjmp_crosses): New function.
 | 
      
         | 3553 |  |  |         * regclass.c (init_subregs_of_mode): Changed return.
 | 
      
         | 3554 |  |  |         (gate_subregs_of_mode_init, pass_subregs_of_mode_init): New.
 | 
      
         | 3555 |  |  |         * rtl.h (init_subregs_of_mode): Removed.
 | 
      
         | 3556 |  |  |         * integrate.c (allocate_initial_values): Removed incorrect parm
 | 
      
         | 3557 |  |  |         attribute and changed instance of df used.
 | 
      
         | 3558 |  |  |         * output.h (regno_clobbered_at_setjmp): Removed.
 | 
      
         | 3559 |  |  |         * stack-ptr-mod.c: Fixed comment.
 | 
      
         | 3560 |  |  |         * Makefile.in (regclass.o): Added tree-pass.h.
 | 
      
         | 3561 |  |  |         * basic-block.h (safe_insert_insn_on_edge): Deleted.
 | 
      
         | 3562 |  |  |         * passes.c (init_optimization_passes): Added
 | 
      
         | 3563 |  |  |         pass_subregs_of_mode_init.
 | 
      
         | 3564 |  |  |         * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Deleted.
 | 
      
         | 3565 |  |  |         * rtl-profile.c: Removed.
 | 
      
         | 3566 |  |  |  
 | 
      
         | 3567 |  |  | 2006-04-21  Kenneth Zadeck 
 | 
      
         | 3568 |  |  |  
 | 
      
         | 3569 |  |  |         * tree-pass.h (pass_stack_ptr_mod, pass_initialize_subregs,
 | 
      
         | 3570 |  |  |         pass_reset_df): New.
 | 
      
         | 3571 |  |  |         * flow.c (notice_stack_pointer_modification_1,
 | 
      
         | 3572 |  |  |         notice_stack_pointer_modification, find_regno_partial_param,
 | 
      
         | 3573 |  |  |         find_regno_partial, initialize_uninitialized_subregs): Moved to
 | 
      
         | 3574 |  |  |         separate passes in separate files.
 | 
      
         | 3575 |  |  |         (life_analysis): Removed call to notice_stack_pointer_modification.
 | 
      
         | 3576 |  |  |         (rest_of_handle_life): Removed call to initialize_uninitialized_subargs.
 | 
      
         | 3577 |  |  |         * df-core.c (reset_df, pass_reset_df): New.
 | 
      
         | 3578 |  |  |         * Makefile.in (stack-ptr-mod.o, subregs-init.o): New.
 | 
      
         | 3579 |  |  |         * passes.c (pass_stack_ptr_mod, pass_initialize_subregs,
 | 
      
         | 3580 |  |  |         pass_reset_df): New passes.
 | 
      
         | 3581 |  |  |         * subregs-init.c: New file that contains separate pass for
 | 
      
         | 3582 |  |  |         initialize_uninitialized_subargs.
 | 
      
         | 3583 |  |  |         * stack-pointer-mod.c: New file that contains separate pass for
 | 
      
         | 3584 |  |  |         notice_stack_pointer_modification.
 | 
      
         | 3585 |  |  |  
 | 
      
         | 3586 |  |  | 2006-04-19  Kenneth Zadeck 
 | 
      
         | 3587 |  |  |  
 | 
      
         | 3588 |  |  |         * ifcvt.c (rest_of_handle_if_after_combine): Removed flow
 | 
      
         | 3589 |  |  |         scaffolding.
 | 
      
         | 3590 |  |  |         * passes.c (init_optimization_passes): Moved clear_df to after
 | 
      
         | 3591 |  |  |         combine and changed two expensive dce passes into a dse and fast
 | 
      
         | 3592 |  |  |         dce pass.
 | 
      
         | 3593 |  |  |  
 | 
      
         | 3594 |  |  | 2006-04-18  Kenneth Zadeck 
 | 
      
         | 3595 |  |  |  
 | 
      
         | 3596 |  |  |         * mode-switching.c (optimize_mode_switching): Created local
 | 
      
         | 3597 |  |  |         instance of df and removed references to flow.
 | 
      
         | 3598 |  |  |         * regmove.c (mark_flags_life_zones, regmove_optimize): Ditto.
 | 
      
         | 3599 |  |  |         * global.c (global_alloc, rest_of_handle_global_alloc): Reused
 | 
      
         | 3600 |  |  |         instance of df created in local alloc.
 | 
      
         | 3601 |  |  |         * local-alloc.c (rest_of_handle_local_alloc): Create instance of
 | 
      
         | 3602 |  |  |         ra_df used by all register allocation.
 | 
      
         | 3603 |  |  |         * bb-reorder.c (fix_crossing_conditional_branches): Removed code
 | 
      
         | 3604 |  |  |         to keep dataflow up to date.
 | 
      
         | 3605 |  |  |         * Makefile.in (bb-reorder.o): Removed ref to DF_H.
 | 
      
         | 3606 |  |  |         * passes.c (init_optimization_passes): Meved clear_df to before
 | 
      
         | 3607 |  |  |         partition_blocks.
 | 
      
         | 3608 |  |  |  
 | 
      
         | 3609 |  |  | 2006-04-17  Kenneth Zadeck 
 | 
      
         | 3610 |  |  |  
 | 
      
         | 3611 |  |  |         * tree-pass.h (pass_recompute_reg_usage): Deleted.  flow.c
 | 
      
         | 3612 |  |  |         (pass_recompute_reg_usage, recompute_reg_usage): Deleted.  *
 | 
      
         | 3613 |  |  |         sched-ebb.c (begin_schedule_ready, schedule_ebb,
 | 
      
         | 3614 |  |  |         begin_schedule_ready, schedule_ebb, schedule_block): Threaded
 | 
      
         | 3615 |  |  |         local instance of df.
 | 
      
         | 3616 |  |  |         (schedule_ebbs): Created local instance of df.
 | 
      
         | 3617 |  |  |         * haifa-sched.c (schedule_block, sched_init, sched_finish,
 | 
      
         | 3618 |  |  |         generate_recovery_code, begin_speculative_block,
 | 
      
         | 3619 |  |  |         add_to_speculative_block, init_before_recovery,
 | 
      
         | 3620 |  |  |         create_recovery_block, create_check_block_twin, init_glat,
 | 
      
         | 3621 |  |  |         init_glat1): Threaded local instance of df.
 | 
      
         | 3622 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 3623 |  |  |         (rest_of_handle_sms): Removed unnecessary update of flow info.
 | 
      
         | 3624 |  |  |         * sched-int.h (df.h): Now includes this.
 | 
      
         | 3625 |  |  |         (schedule_block, sched_init, sched_finish, add_block): Added df
 | 
      
         | 3626 |  |  |         parm.
 | 
      
         | 3627 |  |  |         * sched-rgn.c (begin_schedule_ready, schedule_region,
 | 
      
         | 3628 |  |  |         schedule_insns): Threaded local instance of df.
 | 
      
         | 3629 |  |  |         (schedule_insns): Removed unnecessary update of flow info.
 | 
      
         | 3630 |  |  |         * Makefile.in (SCHED_INT_H): Added DF_H.
 | 
      
         | 3631 |  |  |         (ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
 | 
      
         | 3632 |  |  |         sched-ebb.o): Removed DF_H.
 | 
      
         | 3633 |  |  |         * ddg.c (build_inter_loop_deps): Swapped parms.
 | 
      
         | 3634 |  |  |         (create_ddg): Swapped parms for call.
 | 
      
         | 3635 |  |  |         * passes.c (init_optimization_passes): Removed dce and
 | 
      
         | 3636 |  |  |         recompute_reg_use pass and moved clear_df to before first
 | 
      
         | 3637 |  |  |         schedulers.
 | 
      
         | 3638 |  |  |  
 | 
      
         | 3639 |  |  | 2006-04-16  Kenneth Zadeck 
 | 
      
         | 3640 |  |  |  
 | 
      
         | 3641 |  |  |         * df.h (shared_df): Removed.
 | 
      
         | 3642 |  |  |         (ra_df): New.
 | 
      
         | 3643 |  |  |         * core.c (shared_df): Removed.
 | 
      
         | 3644 |  |  |         (ra_df): New.
 | 
      
         | 3645 |  |  |         * postreload.c (reload_combine): Changed to use ra_df.
 | 
      
         | 3646 |  |  |         * reload.c (push_reload, find_dummy_reload): Ditto.
 | 
      
         | 3647 |  |  |         * global.c (global_alloc, global_conflicts, mark_elimination,
 | 
      
         | 3648 |  |  |         build_insn_chain, rest_of_handle_global_alloc): Ditto.
 | 
      
         | 3649 |  |  |         * reload1.c (compute_use_by_pseudos, reload): Ditto.
 | 
      
         | 3650 |  |  |         * local-alloc.c (local_alloc, block_alloc): Created local instance
 | 
      
         | 3651 |  |  |         of df.
 | 
      
         | 3652 |  |  |         * passes.c (init_optimization_passes): Moved clear_df to before
 | 
      
         | 3653 |  |  |         register allocators.
 | 
      
         | 3654 |  |  |         * tree-pass.h (pass_partition_blocks): Removed redundant
 | 
      
         | 3655 |  |  |         copy.
 | 
      
         | 3656 |  |  |  
 | 
      
         | 3657 |  |  | 2006-04-16  Kenneth Zadeck 
 | 
      
         | 3658 |  |  |  
 | 
      
         | 3659 |  |  |         * tree-pass.h (pass_reset_df_after_reload): Removed.
 | 
      
         | 3660 |  |  |         * df-core.c (reset_df_after_reload, pass_reset_df_after_reload):
 | 
      
         | 3661 |  |  |         Removed.
 | 
      
         | 3662 |  |  |         * function.c (prologue_epilogue_df): New global.
 | 
      
         | 3663 |  |  |         (rtx keep_stack_depressed, thread_prologue_and_epilogue_insns):
 | 
      
         | 3664 |  |  |         Unthreaded local version of df and replaced with
 | 
      
         | 3665 |  |  |         prologue_epilogue_df.
 | 
      
         | 3666 |  |  |         * rtl.h (prologue_epilogue_df): New.
 | 
      
         | 3667 |  |  |         * passes.c (init_optimization_passes): Removed all uses of flow
 | 
      
         | 3668 |  |  |         after register allocation.
 | 
      
         | 3669 |  |  |         * config/i386/i386.c (ix86_eax_live_at_start_p): Replaced use of
 | 
      
         | 3670 |  |  |         flow with prologue_epilogue_df.
 | 
      
         | 3671 |  |  |  
 | 
      
         | 3672 |  |  | 2006-04-15  Kenneth Zadeck 
 | 
      
         | 3673 |  |  |  
 | 
      
         | 3674 |  |  |         * tree-pass.h (pass_flow2): Renamed to
 | 
      
         | 3675 |  |  |         pass_thread_prologue_and_epilogue.
 | 
      
         | 3676 |  |  |         * passes.c (pass_flow2): Ditto.
 | 
      
         | 3677 |  |  |         * final.c (rest_of_clean_state): Removed flow2_completed.
 | 
      
         | 3678 |  |  |         * config/i386/i386.md: Ditto.
 | 
      
         | 3679 |  |  |         * config/sh/sh.md: Ditto.
 | 
      
         | 3680 |  |  |         * config/mips/mips.md: Ditto.
 | 
      
         | 3681 |  |  |         * config/h8300/h8300.md: Ditto.
 | 
      
         | 3682 |  |  |         * flow.c: Ditto.
 | 
      
         | 3683 |  |  |         (rest_of_handle_flow2): Moved to function.c as
 | 
      
         | 3684 |  |  |         rest_of_handle_thread_prologue_and_epilogue.
 | 
      
         | 3685 |  |  |         * timevar.def (TV_FLOW2): Renamed to
 | 
      
         | 3686 |  |  |         TV_THREAD_PROLOGUE_AND_EPILOGUE.
 | 
      
         | 3687 |  |  |         * function.c (keep_stack_depressed): Added df parameter.
 | 
      
         | 3688 |  |  |         (thread_prologue_and_epilogue_insns): Made local function and
 | 
      
         | 3689 |  |  |         removed unused parameter.  Added local instance of df.
 | 
      
         | 3690 |  |  |         (rest_of_handle_thread_prologue_and_epilogue): New function
 | 
      
         | 3691 |  |  |         renamed from flow.c.
 | 
      
         | 3692 |  |  |         (pass_thread_prologue_and_epilogue): New pass.
 | 
      
         | 3693 |  |  |         * rtl.h (flow2_completed, thread_prologue_and_epilogue_insns):
 | 
      
         | 3694 |  |  |         Removed.
 | 
      
         | 3695 |  |  |         * df-problems.c (df_ru_get_bb_info, df_rd_get_bb_info,
 | 
      
         | 3696 |  |  |         df_lr_get_bb_info, df_ur_get_bb_info, df_urec_get_bb_info): Added
 | 
      
         | 3697 |  |  |         check.
 | 
      
         | 3698 |  |  |         * Makefile.in (function.o): Added timevar.h.
 | 
      
         | 3699 |  |  |  
 | 
      
         | 3700 |  |  | 2006-04-13  Kenneth Zadeck 
 | 
      
         | 3701 |  |  |  
 | 
      
         | 3702 |  |  |         * rtl-factoring (collect_pattern_seqs, clear_regs_live_in_seq,
 | 
      
         | 3703 |  |  |         recompute_gain_for_pattern_seq, clear_regs_live_in_seq,
 | 
      
         | 3704 |  |  |         recompute_gain, split_blocks_after_seqs, split_pattern_seq,
 | 
      
         | 3705 |  |  |         erase_matching_seqs, abstract_best_seq, rtl_seqabstr): Threaded
 | 
      
         | 3706 |  |  |         local instance of df to replace all references to flow.
 | 
      
         | 3707 |  |  |         (gate_rtl_seqabstr): Removed unnecessary calls.
 | 
      
         | 3708 |  |  |         * passes.c (init_optimization_passes): Moved clear_df before
 | 
      
         | 3709 |  |  |         rtl_seqabstr.  Removed some expensive calls to dce.
 | 
      
         | 3710 |  |  |         * tree-pass.h (pass_fast_rtl_dce): New.
 | 
      
         | 3711 |  |  |         * regrename.c (gate_handle_regrename): Update call to pass.
 | 
      
         | 3712 |  |  |         * sched-rgn.c (rest_of_handle_sched2): Remove outdated calls.
 | 
      
         | 3713 |  |  |  
 | 
      
         | 3714 |  |  | 2006-04-13  Kenneth Zadeck 
 | 
      
         | 3715 |  |  |  
 | 
      
         | 3716 |  |  |         * regmove.c (rest_of_handle_stack_adjustments): Removed all
 | 
      
         | 3717 |  |  |         references to flow.c and replaced with df.
 | 
      
         | 3718 |  |  |         * passes.c (init_optimization_passes): Moved clear_df before
 | 
      
         | 3719 |  |  |         pass_stack_adjustments.
 | 
      
         | 3720 |  |  |  
 | 
      
         | 3721 |  |  | 2006-04-12  Kenneth Zadeck 
 | 
      
         | 3722 |  |  |  
 | 
      
         | 3723 |  |  |         * recog.c (delete_insn_chain_and_dflow): New function.
 | 
      
         | 3724 |  |  |         (peephole2_optimize): Replaced all flow references with df.  Added
 | 
      
         | 3725 |  |  |         local instance of df.
 | 
      
         | 3726 |  |  |         * passes.c (init_optimization_passes): Moved clear_df before peephole2.
 | 
      
         | 3727 |  |  |  
 | 
      
         | 3728 |  |  | 2006-04-11  Kenneth Zadeck 
 | 
      
         | 3729 |  |  |  
 | 
      
         | 3730 |  |  |         * ifcvt.c (cond_exec_process_if_block, merge_if_block,
 | 
      
         | 3731 |  |  |         noce_process_if_block, cond_move_process_if_block,
 | 
      
         | 3732 |  |  |         process_if_block, find_if_header, find_cond_trap, find_if_case_1,
 | 
      
         | 3733 |  |  |         find_if_case_2, dead_or_predicable): Threaded local copy of df
 | 
      
         | 3734 |  |  |         thru the call stack.
 | 
      
         | 3735 |  |  |         (merge_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
 | 
      
         | 3736 |  |  |         dead_or_predicable): Added code to update df in place.
 | 
      
         | 3737 |  |  |         (if_convert): Removed parameter concerned with correct dataflow
 | 
      
         | 3738 |  |  |         info, it now always is. Created instance of df.  Removed code to
 | 
      
         | 3739 |  |  |         update old flow info.
 | 
      
         | 3740 |  |  |         (rest_of_handle_if_after_reload): Removed unnecessary calls to
 | 
      
         | 3741 |  |  |         cleanup_cfg.
 | 
      
         | 3742 |  |  |         * passes.c (init_optimization_passes): Moved clear_df to before
 | 
      
         | 3743 |  |  |         last ifconvert.  Renamed pass_cprop to pass_cprop_hardreg.
 | 
      
         | 3744 |  |  |         * regrename.c (rest_of_handle_cprop): Renamed pass_cprop to
 | 
      
         | 3745 |  |  |         pass_cprop_hardreg.
 | 
      
         | 3746 |  |  |         * tree-pass.h: Renamed cprop to cprop_hardreg.
 | 
      
         | 3747 |  |  |  
 | 
      
         | 3748 |  |  | 2006-04-11  Kenneth Zadeck 
 | 
      
         | 3749 |  |  |  
 | 
      
         | 3750 |  |  |         * sched-ebb.c (schedule_ebbs): Removed code to update dataflow
 | 
      
         | 3751 |  |  |         after scheduling and removed unused parm from
 | 
      
         | 3752 |  |  |         reposition_prologue_and_epilogue_notes.
 | 
      
         | 3753 |  |  |         * sched-rgn.c (schedule_insns): Ditto.
 | 
      
         | 3754 |  |  |         (rest_of_handle_sched): Added temp hack to rebuild flow based dataflow
 | 
      
         | 3755 |  |  |         until flow is permanently removed.
 | 
      
         | 3756 |  |  |         * haifa-sched.c (init_glat): Modified to create glat from df info.
 | 
      
         | 3757 |  |  |         (attach_life_info, attach_life_info1, check_reg_live): Removed.
 | 
      
         | 3758 |  |  |         (free_glat): Now cleans up df.
 | 
      
         | 3759 |  |  |         * modulo-sched.c (compute_jump_reg_dependencies): Removed df parm.
 | 
      
         | 3760 |  |  |         * ifcvt.c (rest_of_handle_if_conversion): Added code to clean up
 | 
      
         | 3761 |  |  |         flow based reg_deaths after first call to ifconvert.
 | 
      
         | 3762 |  |  |         * function.c (reposition_prologue_and_epilogue_notes): Removed
 | 
      
         | 3763 |  |  |         unused parm.
 | 
      
         | 3764 |  |  |         * rtl.h (reposition_prologue_and_epilogue_notes): Ditto.
 | 
      
         | 3765 |  |  |         * sched-int.h (check_reg_live): Removed.
 | 
      
         | 3766 |  |  |  
 | 
      
         | 3767 |  |  | 2006-04-10  Kenneth Zadeck 
 | 
      
         | 3768 |  |  |  
 | 
      
         | 3769 |  |  |         * df-core.c (reset_df_after_reload, clear_df): Added return to
 | 
      
         | 3770 |  |  |         make compatible with pass manager.
 | 
      
         | 3771 |  |  |         * dce.c (rest_of_handle_dce, rest_of_handle_fast_dce,
 | 
      
         | 3772 |  |  |         rest_of_handle_dse): Ditto.
 | 
      
         | 3773 |  |  |  
 | 
      
         | 3774 |  |  | 2006-04-09 Kenneth Zadeck 
 | 
      
         | 3775 |  |  |  
 | 
      
         | 3776 |  |  |         * regrename.c (merge_overlapping_regs, regrename_optimize):
 | 
      
         | 3777 |  |  |         Threaded private instance of df.
 | 
      
         | 3778 |  |  |         (regrename_optimize): Created private instance of df, removed
 | 
      
         | 3779 |  |  |         all references or flow.
 | 
      
         | 3780 |  |  |         (copyprop_hardreg_forward): Removed all references to flow.
 | 
      
         | 3781 |  |  |         (gate_handle_regrename): Split reg rename and cprop into separate
 | 
      
         | 3782 |  |  |         passes.
 | 
      
         | 3783 |  |  |         (gate_handle_cprop): New function.
 | 
      
         | 3784 |  |  |         (pass_cprop): New pass structure.
 | 
      
         | 3785 |  |  |         * tree-pass.h (pass_cprop): New pass structure.
 | 
      
         | 3786 |  |  |         * passes.c (init_optimization_passes): Added cprop pass and
 | 
      
         | 3787 |  |  |         moved clear_df pass closer to beginning.
 | 
      
         | 3788 |  |  |  
 | 
      
         | 3789 |  |  | 2006-04-08  Kenneth Zadeck 
 | 
      
         | 3790 |  |  |  
 | 
      
         | 3791 |  |  |         * tree-pass.h (pass_split_after_reload, pass_branch_target_load_optimize1
 | 
      
         | 3792 |  |  |         pass_branch_target_load_optimize2): Added.
 | 
      
         | 3793 |  |  |         (pass_branch_target_load_optimize): Deleted.
 | 
      
         | 3794 |  |  |         * flow.c (rest_of_handle_flow2): Split the calls to split_all_insns and
 | 
      
         | 3795 |  |  |         branch_target_load_optimize into their own passes.
 | 
      
         | 3796 |  |  |         * passes.c (init_optimization_passes): Ditto.
 | 
      
         | 3797 |  |  |         (init_optimization_passes): Moved clear_df pass to before
 | 
      
         | 3798 |  |  |         second branch_target_load_optimize pass.
 | 
      
         | 3799 |  |  |         * bt-load (compute_defs_uses_and_gen, build_btr_def_use_webs,
 | 
      
         | 3800 |  |  |         migrate_btr_defs): Threaded private copy of df into these functions.
 | 
      
         | 3801 |  |  |         (branch_target_load_optimize): Made private and add local
 | 
      
         | 3802 |  |  |         instance of df.  Removed all references to flow.
 | 
      
         | 3803 |  |  |         (rest_of_handle_branch_target_load_optimize1): New function.
 | 
      
         | 3804 |  |  |         (rest_of_handle_branch_target_load_optimize): Renamed to
 | 
      
         | 3805 |  |  |         rest_of_handle_branch_target_load_optimize2.
 | 
      
         | 3806 |  |  |         rtl.h (branch_target_load_optimize): Removed.
 | 
      
         | 3807 |  |  |  
 | 
      
         | 3808 |  |  | 2006-04-08  Kenneth Zadeck 
 | 
      
         | 3809 |  |  |  
 | 
      
         | 3810 |  |  |         * sched-ebb.c (init_ready_list, can_schedule_ready_p, new_ready,
 | 
      
         | 3811 |  |  |         compute_jump_reg_dependencies, schedule_ebb, sched_analyze,
 | 
      
         | 3812 |  |  |         schedule_block): Changed to pass instance of df.
 | 
      
         | 3813 |  |  |         (compute_jump_reg_dependencies): Changed to use local instance
 | 
      
         | 3814 |  |  |         of dataflow.
 | 
      
         | 3815 |  |  |         * ddg.c (build_intra_loop_deps, sched_analyze,
 | 
      
         | 3816 |  |  |         build_intra_loop_deps): Changed to pass instance of df.
 | 
      
         | 3817 |  |  |         * ddg.h: added forward reference to struct df.
 | 
      
         | 3818 |  |  |         * haifa-sched.c (schedule_insns, schedule_insn,
 | 
      
         | 3819 |  |  |         schedule_block): Changed to pass instance of df.
 | 
      
         | 3820 |  |  |         * modulo-sched (compute_jump_reg_dependencies): Ditto.
 | 
      
         | 3821 |  |  |         (sms_schedule): Added call to do dce when stated.
 | 
      
         | 3822 |  |  |         * sched-deps.c (sched_analyze_insn, sched_analyze):
 | 
      
         | 3823 |  |  |         Changed to pass instance of df.
 | 
      
         | 3824 |  |  |         * rtl.h (schedule_insns, schedule_ebbs): Ditto.
 | 
      
         | 3825 |  |  |         * sched-int.h (init_ready_list, can_schedule_ready_p, new_ready,
 | 
      
         | 3826 |  |  |         compute_jump_reg_dependencies, sched_analyze, schedule_block):
 | 
      
         | 3827 |  |  |         Ditto.
 | 
      
         | 3828 |  |  |         * sched-rgn.c (check_live_1, update_live_1, check_live,
 | 
      
         | 3829 |  |  |         update_live, init_ready_list, can_schedule_ready_p, new_ready,
 | 
      
         | 3830 |  |  |         compute_jump_reg_dependencies, compute_block_backward_dependences,
 | 
      
         | 3831 |  |  |         schedule_region, schedule_insns): Ditto.
 | 
      
         | 3832 |  |  |         (schedule_insns): Removed call to update_life_info when finished.
 | 
      
         | 3833 |  |  |         (rest_of_handle_sched, rest_of_handle_sched2): Creates local
 | 
      
         | 3834 |  |  |         instance of df.
 | 
      
         | 3835 |  |  |         * passes.c (init_optimization_passes): moved clear_df pass
 | 
      
         | 3836 |  |  |         earlier.
 | 
      
         | 3837 |  |  |         * Makefile.in (df-core.o): Added except.h and dce.h
 | 
      
         | 3838 |  |  |         (modulo-sched.o): Added DF_H.
 | 
      
         | 3839 |  |  |         * recog.c (split_all_insns): Removed old code that was used to
 | 
      
         | 3840 |  |  |         update dataflow.
 | 
      
         | 3841 |  |  |         * reg-stack.c (rest_of_handle_stack_regs): Removed ifdefed out code.
 | 
      
         | 3842 |  |  |  
 | 
      
         | 3843 |  |  | 2006-04-07  Kenneth Zadeck 
 | 
      
         | 3844 |  |  |  
 | 
      
         | 3845 |  |  |         * recog.c (split_all_insns): Removed parameter and code to
 | 
      
         | 3846 |  |  |         update dataflow.
 | 
      
         | 3847 |  |  |         * sched-rgn.c (rest_of_handle_sched2): Removed parm to
 | 
      
         | 3848 |  |  |         split_all_insns.
 | 
      
         | 3849 |  |  |         * flow.c (rest_of_handle_flow2): Ditto.
 | 
      
         | 3850 |  |  |         (rest_of_handle_split_all_insns): Added call to update old
 | 
      
         | 3851 |  |  |         dataflow after this pass.
 | 
      
         | 3852 |  |  |         (rest_of_handle_split_after_reload,
 | 
      
         | 3853 |  |  |         rest_of_handle_split_before_regstack): New function.
 | 
      
         | 3854 |  |  |         (pass_split_after_reload): New structure.
 | 
      
         | 3855 |  |  |         * rtl.h (split_all_insns): Removed param.
 | 
      
         | 3856 |  |  |         * bb-reorder.c (rest_of_handle_reorder_blocks): Removed
 | 
      
         | 3857 |  |  |         references to flow.
 | 
      
         | 3858 |  |  |         * reg-stack.c (subst_stack_regs_pat): Removed unnecessary
 | 
      
         | 3859 |  |  |         assertion.
 | 
      
         | 3860 |  |  |  
 | 
      
         | 3861 |  |  | 2006-04-07  Daniel Berlin  
 | 
      
         | 3862 |  |  |             Kenneth Zadeck 
 | 
      
         | 3863 |  |  |  
 | 
      
         | 3864 |  |  |         * regoc.c (dbr_schedule): Added parm to call to df_lr_add_problem.
 | 
      
         | 3865 |  |  |         * ifcvt.c (if_convert): Ditto.
 | 
      
         | 3866 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 3867 |  |  |         * reg-stack.c (reg_to_stack): Ditto.
 | 
      
         | 3868 |  |  |         * global.c (global_alloc, rest_of_handle_global_alloc): Ditto.
 | 
      
         | 3869 |  |  |         (rest_of_handle_global_alloc): Removed call to df_set_state.
 | 
      
         | 3870 |  |  |         * basic_block.h (clear_reg_deaths): New function.
 | 
      
         | 3871 |  |  |         * flow.c: (clear_reg_deaths): New function.
 | 
      
         | 3872 |  |  |         (rest_of_handle_life): Added parm to call to df_lr_add_problem and
 | 
      
         | 3873 |  |  |         df_ur_add_problem.
 | 
      
         | 3874 |  |  |         * df-scan.c (df_scan_free_internal): Added code to clear new
 | 
      
         | 3875 |  |  |         bit vectors.
 | 
      
         | 3876 |  |  |         (df_scan_alloc): Added extra parameter and code to initialize
 | 
      
         | 3877 |  |  |         new bit vectors.
 | 
      
         | 3878 |  |  |         (df_scan_dump): Added code to dump new bit vectors.
 | 
      
         | 3879 |  |  |         (df_problem problem_SCAN): Added extra field.
 | 
      
         | 3880 |  |  |         (df_scan_add_problem): Added flags parameter.
 | 
      
         | 3881 |  |  |         (df_rescan_blocks): Added code to remove deleted blocks from
 | 
      
         | 3882 |  |  |         bitmap and extra parm to call to df_scan_alloc.
 | 
      
         | 3883 |  |  |         (df_insn_create_insn_record): Removed return value.
 | 
      
         | 3884 |  |  |         (df_set_state): Removed function.
 | 
      
         | 3885 |  |  |         (df_ref_record, df_bb_refs_record, df_record_entry_block_defs,
 | 
      
         | 3886 |  |  |         df_record_exit_block_uses): Changed the way flags are processed.
 | 
      
         | 3887 |  |  |         (df_bb_refs_record, df_refs_record, df_record_exit_block_uses):
 | 
      
         | 3888 |  |  |         Restructured scanning to fixed hard regs so bitmaps could be
 | 
      
         | 3889 |  |  |         recorded for later use.
 | 
      
         | 3890 |  |  |         (df_has_eh_preds): Now public.
 | 
      
         | 3891 |  |  |         * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
 | 
      
         | 3892 |  |  |         df_delete_basic_block): New function.
 | 
      
         | 3893 |  |  |         (df_init): Changed location of flags.
 | 
      
         | 3894 |  |  |         (df_add_problem): Added flags parameter and the way flags are
 | 
      
         | 3895 |  |  |         processed.
 | 
      
         | 3896 |  |  |         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
 | 
      
         | 3897 |  |  |         debug_df_chain): Improved debugging output.
 | 
      
         | 3898 |  |  |         (clear_df): Added call to clear_reg_deaths.
 | 
      
         | 3899 |  |  |         * df.h: Some reordering to remove forward references.
 | 
      
         | 3900 |  |  |         (dataflow.flags): New field.
 | 
      
         | 3901 |  |  |         (df.flag): Deleted field.
 | 
      
         | 3902 |  |  |         (df_alloc_function): Added additional bitmap parameter.
 | 
      
         | 3903 |  |  |         (df_dependent_problem_function): New type.
 | 
      
         | 3904 |  |  |         (df_problem.changeable_flags): New field.
 | 
      
         | 3905 |  |  |         (df_ref_flags.DF_SCAN_INITIAL,
 | 
      
         | 3906 |  |  |         DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
 | 
      
         | 3907 |  |  |         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
 | 
      
         | 3908 |  |  |         parameter.
 | 
      
         | 3909 |  |  |         (df_add_problem, df_ru_add_problem, df_rd_add_problem,
 | 
      
         | 3910 |  |  |         df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
 | 
      
         | 3911 |  |  |         df_ri_add_problem, df_scan_add_problem): Added flags parameter.
 | 
      
         | 3912 |  |  |         (df_set_state): Removed function.
 | 
      
         | 3913 |  |  |         (df_set_flags, df_clear_flags, df_delete_basic_block, df_has_eh_preds) New functions.
 | 
      
         | 3914 |  |  |         * df-problems.c (df_get_dependent_problem): Deleted function.
 | 
      
         | 3915 |  |  |         (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
 | 
      
         | 3916 |  |  |         df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
 | 
      
         | 3917 |  |  |         parameter.
 | 
      
         | 3918 |  |  |         (df_ru_alloc, df_rd_alloc): Now resets all blocks.
 | 
      
         | 3919 |  |  |         (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
 | 
      
         | 3920 |  |  |         df_chains_dump): Fixed crash if problem was never run.
 | 
      
         | 3921 |  |  |         (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
 | 
      
         | 3922 |  |  |         df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
 | 
      
         | 3923 |  |  |         df_ri_add_problem): Processes flags in uniform manner.
 | 
      
         | 3924 |  |  |         (df_lr_bb_local_compute): Fixed case to account for return value
 | 
      
         | 3925 |  |  |         correctly.
 | 
      
         | 3926 |  |  |         (df_lr_bb_local_compute): Changed processing of exit block.
 | 
      
         | 3927 |  |  |         (df_lr_transfer_function): Added hook to call dce.
 | 
      
         | 3928 |  |  |         (df_lr_free): Added lr problem data.
 | 
      
         | 3929 |  |  |         (df_set_notes_for_mw, df_reg_lifetime): Removed function.
 | 
      
         | 3930 |  |  |         (df_lr_simulate_artificial_refs_at_end, df_lr_simulate_one_insn,
 | 
      
         | 3931 |  |  |         df_kill_notes, df_set_unused_notes_for_mw, df_set_dead_notes_for_mw):
 | 
      
         | 3932 |  |  |         New function.
 | 
      
         | 3933 |  |  |         (df_ri_alloc, df_ri_bb_compute, df_create_unused_note,
 | 
      
         | 3934 |  |  |         df_ri_bb_compute, df_ri_compute, df_ri_free, df_ri_add_problem):
 | 
      
         | 3935 |  |  |         Added functionality to compute register information.
 | 
      
         | 3936 |  |  |         dce.c (deletable_insn_p): Cannot delete PREFETCHes.
 | 
      
         | 3937 |  |  |         (delete_unmarked_insns): Also delete noop moves as well as support for
 | 
      
         | 3938 |  |  |         calling dce from df.
 | 
      
         | 3939 |  |  |         (prescan_insns_for_dce, rest_of_handle_dce, end_fast_dce,
 | 
      
         | 3940 |  |  |         dce_process_block, rest_of_handle_fast_dce,
 | 
      
         | 3941 |  |  |         rest_of_handle_dse): Restructured to handle being directly called from
 | 
      
         | 3942 |  |  |         df.
 | 
      
         | 3943 |  |  |  
 | 
      
         | 3944 |  |  |  
 | 
      
         | 3945 |  |  | 2006-03-14  Kenneth Zadeck 
 | 
      
         | 3946 |  |  |  
 | 
      
         | 3947 |  |  |         * tree-pass.h: Added pass to clear other dataflow infomation out.
 | 
      
         | 3948 |  |  |         * final.c (rest_of_handle_final, rest_of_clean_state): Cleared out
 | 
      
         | 3949 |  |  |         references to df.
 | 
      
         | 3950 |  |  |         (rest_of_clean_state) Added regstack_completed.
 | 
      
         | 3951 |  |  |         * reorg.c (fill_simple_delay_slots, fill_slots_from_thread,
 | 
      
         | 3952 |  |  |         fill_eager_delay_slots, make_return_insns): Added df parameter to function.
 | 
      
         | 3953 |  |  |         (make_return_insns, dbr_schedule) Added df parameter to calls.
 | 
      
         | 3954 |  |  |         * flow.c (update_life_info): Added glue code to df calls.
 | 
      
         | 3955 |  |  |         * df-scan.c (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
 | 
      
         | 3956 |  |  |         code to properly handle multiword hard registers.
 | 
      
         | 3957 |  |  |         (df_ref_create_structure, df_ref_record): Added code to properly handle subregs.
 | 
      
         | 3958 |  |  |         (df_ref_create_structure): Changed switching structure.
 | 
      
         | 3959 |  |  |         (df_bb_refs_record): Fixed case where duplicate artificial refs
 | 
      
         | 3960 |  |  |         were created.
 | 
      
         | 3961 |  |  |         (df_record_entry_block_defs): Added code to make stack pointer
 | 
      
         | 3962 |  |  |         live in entry block.  Refined cases where frame pointer is needed.
 | 
      
         | 3963 |  |  |         * df-core.c (df_mvs_dump, clear_df): New function.
 | 
      
         | 3964 |  |  |         (pass_clear_df): New pass structure.
 | 
      
         | 3965 |  |  |         (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
 | 
      
         | 3966 |  |  |         debug_df_chain): Improved debugging output.
 | 
      
         | 3967 |  |  |         * df.h: Some reordering to remove forward reference.
 | 
      
         | 3968 |  |  |         (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL): New fields.
 | 
      
         | 3969 |  |  |         (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE): Removed.
 | 
      
         | 3970 |  |  |         (df_mw_hardreg): New struct.
 | 
      
         | 3971 |  |  |         (DF_INSN_UID_MWS): New macro.
 | 
      
         | 3972 |  |  |         (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
 | 
      
         | 3973 |  |  |         parameter.
 | 
      
         | 3974 |  |  |         * rtl.h (regstack_completed): New global var.
 | 
      
         | 3975 |  |  |         * resource.c (mark_target_live_regs): Added passed in instance of
 | 
      
         | 3976 |  |  |         df.
 | 
      
         | 3977 |  |  |         * resource.h (mark_target_live_regs): Ditto.
 | 
      
         | 3978 |  |  |         * df-problems.c (df_chain_dump): Removed df parameter.
 | 
      
         | 3979 |  |  |         (df_ru_bb_local_compute_process_def,
 | 
      
         | 3980 |  |  |         df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
 | 
      
         | 3981 |  |  |         df_lr_bb_local_compute, df_chain_create_bb): Made subreg aware.
 | 
      
         | 3982 |  |  |         (df_ru_bb_local_compute, df_rd_bb_local_compute,
 | 
      
         | 3983 |  |  |         df_lr_bb_local_compute, df_lr_bb_local_compute,
 | 
      
         | 3984 |  |  |         df_chain_create_bb): Cleanup to use proper macros.
 | 
      
         | 3985 |  |  |         (df_ur_local_finalize, df_ur_local_finalize): Removed unnecessary
 | 
      
         | 3986 |  |  |         code to fixup bitvectors.
 | 
      
         | 3987 |  |  |         (df_ri_alloc): Cleared lifetime.
 | 
      
         | 3988 |  |  |         (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
 | 
      
         | 3989 |  |  |         df_create_unused_note): New function.
 | 
      
         | 3990 |  |  |         (df_ri_bb_compute, df_ri_compute): Added code to create/update
 | 
      
         | 3991 |  |  |         REG_DEAD and REG_UNUSED notes.
 | 
      
         | 3992 |  |  |         * reg-stack.c (regstack_completed): New variable.
 | 
      
         | 3993 |  |  |         (reg_to_stack): Modified to use it's own instance of df.
 | 
      
         | 3994 |  |  |         (rest_of_handle_stack_regs): Removed most cleanup code.
 | 
      
         | 3995 |  |  |         * Makefile.in (reorg.o, RESOURCE_H): Added dependancy to df.h.
 | 
      
         | 3996 |  |  |         (final.o): Removed dependency to df.h
 | 
      
         | 3997 |  |  |         * passes.c (pass_magic_life): Removed.
 | 
      
         | 3998 |  |  |         (pass_clear_df): Added.
 | 
      
         | 3999 |  |  |         * dce.c (prescan_insns_for_dce, end_fast_dce): Now works if no instance of
 | 
      
         | 4000 |  |  |         df is available.
 | 
      
         | 4001 |  |  |         (dce_process_block): Made subreg aware.
 | 
      
         | 4002 |  |  |         (rest_of_handle_fast_dce): Reset bitvectors when iterating.
 | 
      
         | 4003 |  |  |         (prescan_insns_for_dse): Removed useless code.
 | 
      
         | 4004 |  |  |  
 | 
      
         | 4005 |  |  | 2006-02-06  Daniel Berlin  
 | 
      
         | 4006 |  |  |  
 | 
      
         | 4007 |  |  |         * doc/rtl.texi: Document REG_LIBCALL_ID.
 | 
      
         | 4008 |  |  |         * optabs.c (libcall_id): New variable.
 | 
      
         | 4009 |  |  |         (emit_no_conflict_block): Use it to emit
 | 
      
         | 4010 |  |  |         REG_LIBCALL_ID.
 | 
      
         | 4011 |  |  |         (emit_libcall_block): Ditto.
 | 
      
         | 4012 |  |  |         * combine.c (distribute_notes): Deal with
 | 
      
         | 4013 |  |  |         REG_LIBCALL_ID.
 | 
      
         | 4014 |  |  |         * reg-notes.def (LIBCALL_ID): New note.
 | 
      
         | 4015 |  |  |         * dce.c (marked_libcalls): New variable.
 | 
      
         | 4016 |  |  |         (in_libcall): Removed.
 | 
      
         | 4017 |  |  |         (mark_insn): Mark which libcalls we need to fully mark.
 | 
      
         | 4018 |  |  |         (mark_libcall_insns): New function.
 | 
      
         | 4019 |  |  |         (end_dce): Free marked_libcalls.
 | 
      
         | 4020 |  |  |         (init_dce): Allocate marked_libcalls.
 | 
      
         | 4021 |  |  |         Call mark_libcall_insns.
 | 
      
         | 4022 |  |  |  
 | 
      
         | 4023 |  |  | 2006-01-17  Kenneth Zadeck 
 | 
      
         | 4024 |  |  |         * df-core.c (df_iterative_dataflow): Added debugging assert.
 | 
      
         | 4025 |  |  |         (df_insn_uid_debug): New debugging function.
 | 
      
         | 4026 |  |  |         (df_insn_debug): Changed to used df_insn_uid_debug.
 | 
      
         | 4027 |  |  |         (df_analyze_problem): Made public.
 | 
      
         | 4028 |  |  |         * df.h (df_analyze_problem): Ditto.
 | 
      
         | 4029 |  |  |         * cfgcleanup.c (cleanup_cfg): Now calls run_fsst_dce.
 | 
      
         | 4030 |  |  |         * flow.c (update_life_info): Ditto.
 | 
      
         | 4031 |  |  |         * dce.c (init_dce, mark_insn,
 | 
      
         | 4032 |  |  |         mark_nonreg_stores, prescan_insns_for_dce): Added parameter so
 | 
      
         | 4033 |  |  |         that they could be called from both handle_rest_of_dce and
 | 
      
         | 4034 |  |  |         handle_rest_of_fast_dce.
 | 
      
         | 4035 |  |  |         (marked_insn_p): Added code to be tolerant of artifical defs,
 | 
      
         | 4036 |  |  |         which do not have insns.
 | 
      
         | 4037 |  |  |         (mark_nonreg_stores_2): New function.
 | 
      
         | 4038 |  |  |         (mark_artificial_uses, mark_reg_dependencies, store_base_local,
 | 
      
         | 4039 |  |  |         mark_escaping_stores, mark_dependent_stores,
 | 
      
         | 4040 |  |  |         prescan_insns_for_dse): Added parameter to mark_insn.
 | 
      
         | 4041 |  |  |         (rest_of_handle_dce): Added parameter to prescan_insns_for_dce.
 | 
      
         | 4042 |  |  |         (record_stores): Added parameter to mark_non_reg_stores.
 | 
      
         | 4043 |  |  |         (dce_process_block, rest_of_handle_fast_dce, gate_fast_dce,
 | 
      
         | 4044 |  |  |         run_fast_dce): New functions to do dce faster.
 | 
      
         | 4045 |  |  |         (rest_of_handle_dse) Added parameter to init_dce.
 | 
      
         | 4046 |  |  |         * dce.h (run_fast_dce): Added declaration.
 | 
      
         | 4047 |  |  |  
 | 
      
         | 4048 |  |  | 2006-01-17  Kenneth Zadeck 
 | 
      
         | 4049 |  |  |  
 | 
      
         | 4050 |  |  |         * df-scan.c (df_hard_reg_init): Moved declaration of i outside macro.
 | 
      
         | 4051 |  |  |  
 | 
      
         | 4052 |  |  | 2006-01-17  Ian Lance Taylor 
 | 
      
         | 4053 |  |  |  
 | 
      
         | 4054 |  |  |         * combine.c (combine_instructions): Pass instruction
 | 
      
         | 4055 |  |  |         to note_stores and set_nonzero_bits_and_sign_copies.
 | 
      
         | 4056 |  |  |         (set_nonzero_bits_and_sign_copies): We can't assume
 | 
      
         | 4057 |  |  |         anything about non-zero bits for registers initialized with
 | 
      
         | 4058 |  |  |         themselves if the register is not live on entry to the block.
 | 
      
         | 4059 |  |  |  
 | 
      
         | 4060 |  |  |  
 | 
      
         | 4061 |  |  | 2005-01-17  Kenneth Zadeck 
 | 
      
         | 4062 |  |  |  
 | 
      
         | 4063 |  |  |         PR dataflow/25799
 | 
      
         | 4064 |  |  |         * df-problems.c (df_ru_confluence_n, df_rd_confluence_n):
 | 
      
         | 4065 |  |  |         Corrected confluence operator to remove bits from op2 before oring
 | 
      
         | 4066 |  |  |         with op1 rather than removing bits from op1.
 | 
      
         | 4067 |  |  |         * (df_ru_transfer_function): Corrected test on wrong bitmap which
 | 
      
         | 4068 |  |  |         caused infinite loop.
 | 
      
         | 4069 |  |  |  
 | 
      
         | 4070 |  |  |  
 | 
      
         | 4071 |  |  | 2005-01-17  Kenneth Zadeck 
 | 
      
         | 4072 |  |  |  
 | 
      
         | 4073 |  |  |         * df-scan.c (df_scan_free_bb_info): Added basic block parameter to
 | 
      
         | 4074 |  |  |         be able to clean out basic block when not necessary.
 | 
      
         | 4075 |  |  |         (df_scan_free): Fixed to properly delete information if df is
 | 
      
         | 4076 |  |  |         unused before calling df_finish.
 | 
      
         | 4077 |  |  |         (df_scan_alloc, df_rescan_blocks, df_reg_chain_unlink,
 | 
      
         | 4078 |  |  |         df_insn_create_insn_record, df_bb_refs_record): Fixed formatting
 | 
      
         | 4079 |  |  |         or comment typos.
 | 
      
         | 4080 |  |  |         (df_bb_refs_delete): New function.
 | 
      
         | 4081 |  |  |         (df_refs_delete): Moved per block code to df_bb_refs_delete.
 | 
      
         | 4082 |  |  |         * df-core.c (df_set_blocks): Added code to properly clean out
 | 
      
         | 4083 |  |  |         unused blocks if they are not part of the blocks to consider.
 | 
      
         | 4084 |  |  |         (df_compact_blocks): Added basic block parameter to free_bb_fun to
 | 
      
         | 4085 |  |  |         be able to clean out basic block when not necessary
 | 
      
         | 4086 |  |  |         * df.h (df_free_bb_function): Ditto.
 | 
      
         | 4087 |  |  |         (df_bb_refs_delete): New function.
 | 
      
         | 4088 |  |  |         * df-problems.c (df_ru_free_bb_info, df_rd_set_bb_info,
 | 
      
         | 4089 |  |  |         df_lr_set_bb_info, df_ur_free_bb_info, df_urec_free_bb_info):Added
 | 
      
         | 4090 |  |  |         basic block parameter to be able to clean out basic block when not
 | 
      
         | 4091 |  |  |         necessary.
 | 
      
         | 4092 |  |  |         (df_ru_alloc, df_rd_alloc): Fixed dyslexic overflow test.
 | 
      
         | 4093 |  |  |         (df_ru_free, df_rd_free, df_lr_free, df_ur_free, df_urec_free):
 | 
      
         | 4094 |  |  |         Fixed to properly delete information if df is unused before
 | 
      
         | 4095 |  |  |         calling df_finish.
 | 
      
         | 4096 |  |  |  
 | 
      
         | 4097 |  |  | 2006-01-06  Daniel Berlin  
 | 
      
         | 4098 |  |  |             Kenneth Zadeck 
 | 
      
         | 4099 |  |  |  
 | 
      
         | 4100 |  |  |         * df-scan.c (df_reg_use_gen, df_reg_def_gen): Removed.
 | 
      
         | 4101 |  |  |         (df_insn_contains_asm_1): New function.
 | 
      
         | 4102 |  |  |         (df_insn_contains_asm): Rewritten to use for_each_rtx.
 | 
      
         | 4103 |  |  |         (df_insn_refs_record): Fixed call to df_insn_contains_asm and
 | 
      
         | 4104 |  |  |         the way calls are processed.
 | 
      
         | 4105 |  |  |         (df_insn_refs_record, df_bb_refs_record): Changed calls to not
 | 
      
         | 4106 |  |  |         need df_reg_use_gen or df_reg_def_gen.
 | 
      
         | 4107 |  |  |         * loop-invariant.c (free_inv_motion_data): Removed duplicated code typo.
 | 
      
         | 4108 |  |  |  
 | 
      
         | 4109 |  |  | 2005-12-30  Kenneth Zadeck 
 | 
      
         | 4110 |  |  |  
 | 
      
         | 4111 |  |  |         * df-core.c (df_find_def, df_find_use):  Added subreg aware code.
 | 
      
         | 4112 |  |  |         (df_reg_defined, df_reg_used): New function.
 | 
      
         | 4113 |  |  |         * df.h (df_reg_defined, df_reg_used): New function.
 | 
      
         | 4114 |  |  |         * loop-invariant.c (struct invariant, hash_invariant_expr,
 | 
      
         | 4115 |  |  |         eq_invariant_expr, find_or_insert_inv, find_or_insert_inv,
 | 
      
         | 4116 |  |  |         find_identical_invariants, merge_identical_invariants,
 | 
      
         | 4117 |  |  |         find_defs, create_new_invariant, check_dependencies,
 | 
      
         | 4118 |  |  |         find_invariant_insn, find_invariants, get_inv_cost,
 | 
      
         | 4119 |  |  |         best_gain_for_invariant, set_move_mark, move_invariants,
 | 
      
         | 4120 |  |  |         free_inv_motion_data): Functions added from mainline patch.
 | 
      
         | 4121 |  |  |         (invariant_for_use, hash_invariant_expr_1, invariant_expr_equal_p,
 | 
      
         | 4122 |  |  |         check_dependencies, create_new_invariant, find_invariant_insn
 | 
      
         | 4123 |  |  |         move_invariant_reg): Functions modified from mainline patch to be
 | 
      
         | 4124 |  |  |         consistent with latest df.
 | 
      
         | 4125 |  |  |  
 | 
      
         | 4126 |  |  | 2005-12-22  Paolo Bonzini  
 | 
      
         | 4127 |  |  |  
 | 
      
         | 4128 |  |  |         * df-scan.c (df_ref_unlink): Fix thinko when REF == CHAIN.
 | 
      
         | 4129 |  |  |  
 | 
      
         | 4130 |  |  | 2005-12-22  Danny Berlin 
 | 
      
         | 4131 |  |  |             Richard Sandiford  
 | 
      
         | 4132 |  |  |             Kenneth Zadeck 
 | 
      
         | 4133 |  |  |  
 | 
      
         | 4134 |  |  |         * tree-pass.h: Added passes for new dce and dse.
 | 
      
         | 4135 |  |  |         * flow.c (update_life_info, propagate_block): Added hooks to
 | 
      
         | 4136 |  |  |         call new dead code elimination.
 | 
      
         | 4137 |  |  |         * common.opt (flag_flow_dce, flag_new_dce): Ditto.
 | 
      
         | 4138 |  |  |         * passes.c (init_optimization_passes): Ditto.
 | 
      
         | 4139 |  |  |         * cfgcleanup.c (cleanup_cfg): Ditto.
 | 
      
         | 4140 |  |  |         * timevar.def: New time vars for dce and dse.
 | 
      
         | 4141 |  |  |         (propagate_block_delete_insn): Added debugging.
 | 
      
         | 4142 |  |  |         * dce.c: New File containing dead code elimination and dead
 | 
      
         | 4143 |  |  |         store elimination based on df.
 | 
      
         | 4144 |  |  |  
 | 
      
         | 4145 |  |  | 2005-12-19  Kenneth Zadeck 
 | 
      
         | 4146 |  |  |  
 | 
      
         | 4147 |  |  |         * flow.c (update_life_info, count_or_remove_death_notes): Fixed
 | 
      
         | 4148 |  |  |         latent bug that could happen if update_life_info was called with a
 | 
      
         | 4149 |  |  |         blocks parameter and the call to cleanup_cfg actually deleted one
 | 
      
         | 4150 |  |  |         of those blocks.
 | 
      
         | 4151 |  |  |         * loop-invariant.c (move_loop_invariants): Fixed df
 | 
      
         | 4152 |  |  |         initialization.
 | 
      
         | 4153 |  |  |         * struct-equiv.c (struct_equiv_init): Made dataflow compatible with
 | 
      
         | 4154 |  |  |         df.
 | 
      
         | 4155 |  |  |  
 | 
      
         | 4156 |  |  |  
 | 
      
         | 4157 |  |  | 2005-12-18  Daniel Berlin  
 | 
      
         | 4158 |  |  |             Kenneth Zadeck 
 | 
      
         | 4159 |  |  |  
 | 
      
         | 4160 |  |  |         * fwprop.c (local_ref_killed_between_p): New Function.
 | 
      
         | 4161 |  |  |         (use_killed_between, varying_mem_p, all_uses_available_at,
 | 
      
         | 4162 |  |  |         update_df, subst, forward_propagate_subreg,
 | 
      
         | 4163 |  |  |         forward_propagate_and_simplify, forward_propagate_into, fwprop,
 | 
      
         | 4164 |  |  |         fwprop_addr): Changes to support modifications to df datastructures.
 | 
      
         | 4165 |  |  |         * ddg.c (add_deps_for_def, add_deps_for_use, build_inter_loop_deps):
 | 
      
         | 4166 |  |  |         Ditto.
 | 
      
         | 4167 |  |  |         * flow.c (verify_local_live_at_start, update_life_info,
 | 
      
         | 4168 |  |  |         update_life_info, initialize_uninitialized_subregs,
 | 
      
         | 4169 |  |  |         propagate_one_insn, init_propagate_block_info,
 | 
      
         | 4170 |  |  |         init_propagate_block_info, regno_clobbered_at_setjmp,
 | 
      
         | 4171 |  |  |         rest_of_handle_life): Ditto.
 | 
      
         | 4172 |  |  |         * modulo-sched.c (sms_schedule): Ditto.
 | 
      
         | 4173 |  |  |         * web.c (union_defs, entry_register, web_main): Ditto.
 | 
      
         | 4174 |  |  |         * global.c (global_alloc, global_conflicts, mark_elimination,
 | 
      
         | 4175 |  |  |         build_insn_chain, rest_of_handle_global_alloc): Ditto.
 | 
      
         | 4176 |  |  |         * ifcvt.c (find_if_case_1, if_convert): Ditto.
 | 
      
         | 4177 |  |  |         * loop_invariant.c (find_defs, record_use, find_invariant_insn,
 | 
      
         | 4178 |  |  |         find_invariants_to_move, move_invariant_reg, move_invariant_reg,
 | 
      
         | 4179 |  |  |         free_inv_motion_data, move_loop_invariants):
 | 
      
         | 4180 |  |  |         * bb-reorder.c (rest_of_handle_reorder_blocks): Ditto.
 | 
      
         | 4181 |  |  |         * reg-stack.c (reg_to_stack): Ditto.
 | 
      
         | 4182 |  |  |         * postreload.c (reload_combine): Changed set reference to
 | 
      
         | 4183 |  |  |         reflect different dataflow problem.
 | 
      
         | 4184 |  |  |         * reload.c (push_reload, find_dummy_reload): Ditto.
 | 
      
         | 4185 |  |  |         * postreload.c (rest_of_handle_postreload): Fixed typo in comment.
 | 
      
         | 4186 |  |  |         * tree-pass.h: Added pass_reset_df_after_reload.
 | 
      
         | 4187 |  |  |         * df.c: Removed, rewritten as df-core.c, df-problems.c and df-scan.c.
 | 
      
         | 4188 |  |  |         * df-scan.c: The scanning fuctions, once in df.c, completely
 | 
      
         | 4189 |  |  |         rewritten so that they now fully model the functionality of
 | 
      
         | 4190 |  |  |         register usage at the backend.
 | 
      
         | 4191 |  |  |         * cfgrtl.c (dump_regset_in, dump_regset_out): New dataflow
 | 
      
         | 4192 |  |  |         * print functions.
 | 
      
         | 4193 |  |  |         (rtl_dump_bb, print_rtl_with_bb): Changed to use
 | 
      
         | 4194 |  |  |         dump_regset_in, dump_regset_out).
 | 
      
         | 4195 |  |  |         * sched_deps (sched_analyze_1): Changed to used renamed
 | 
      
         | 4196 |  |  |         df_read_modify_subreg_p (was read_modify_subreg_p).
 | 
      
         | 4197 |  |  |         (df_scan_free_internal, df_scan_get_bb_info,
 | 
      
         | 4198 |  |  |         df_scan_set_bb_info, df_scan_free_bb_info, df_scan_alloc,
 | 
      
         | 4199 |  |  |         df_scan_free, df_scan_dump, df_scan_add_problem,
 | 
      
         | 4200 |  |  |         df_grow_reg_info, df_grow_ref_info, df_grow_insn_info,
 | 
      
         | 4201 |  |  |         df_rescan_blocks, df_ref_create, df_get_artificial_defs,
 | 
      
         | 4202 |  |  |         df_get_artificial_uses, df_reg_chain_create, df_ref_unlink,
 | 
      
         | 4203 |  |  |         df_reg_chain_unlink, df_ref_remove,
 | 
      
         | 4204 |  |  |         df_insn_create_insn_record, df_insn_refs_delete,
 | 
      
         | 4205 |  |  |         df_refs_delete, df_reorganize_refs, df_reg_use_gen,
 | 
      
         | 4206 |  |  |         df_reg_def_gen, df_set_state, df_ref_create_structure,
 | 
      
         | 4207 |  |  |         df_ref_record, df_read_modify_subreg_p, df_def_record_1,
 | 
      
         | 4208 |  |  |         df_defs_record, df_uses_record, df_insn_contains_asm,
 | 
      
         | 4209 |  |  |         df_insn_refs_record, df_bb_refs_record, df_refs_record,
 | 
      
         | 4210 |  |  |         df_mark_reg, df_record_exit_block_uses, df_hard_reg_init): New functions.
 | 
      
         | 4211 |  |  |         * df-core.c: The core dataflow solver and glue routines for
 | 
      
         | 4212 |  |  |         rtl dataflow.
 | 
      
         | 4213 |  |  |         (df_init, df_add_problem, df_set_blocks, df_finish,
 | 
      
         | 4214 |  |  |         df_hybrid_search_forward, df_hybrid_search_backward,
 | 
      
         | 4215 |  |  |         df_iterative_dataflow, df_prune_to_subcfg,
 | 
      
         | 4216 |  |  |         df_analyze_problem, df_analyze, df_get_bb_info,
 | 
      
         | 4217 |  |  |         df_set_bb_info, df_analyze_simple_change_some_blocks,
 | 
      
         | 4218 |  |  |         df_analyze_simple_change_one_block, df_compact_blocks,
 | 
      
         | 4219 |  |  |         df_bb_replace, df_bb_regno_last_use_find,
 | 
      
         | 4220 |  |  |         df_bb_regno_first_def_find, df_bb_regno_last_def_find,
 | 
      
         | 4221 |  |  |         df_insn_regno_def_p, df_find_def, df_find_use, df_dump,
 | 
      
         | 4222 |  |  |         df_refs_chain_dump, df_regs_chain_dump, df_insn_debug,
 | 
      
         | 4223 |  |  |         df_insn_debug_regno, df_regno_debug, df_ref_debug,
 | 
      
         | 4224 |  |  |         debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref
 | 
      
         | 4225 |  |  |         debug_df_defno, debug_df_useno, reset_df_after_reload): New functions.
 | 
      
         | 4226 |  |  |         * df-problems.c: Seven concrete dataflow problems that use the scanning
 | 
      
         | 4227 |  |  |         in df-scan.c and are solved by the engine in df-core.c.
 | 
      
         | 4228 |  |  |         (df_get_dependent_problem, df_chain_create,
 | 
      
         | 4229 |  |  |         df_chain_unlink, df_chain_copy, df_get_live_in,
 | 
      
         | 4230 |  |  |         df_get_live_out, df_grow_bb_info, df_chain_dump,
 | 
      
         | 4231 |  |  |         df_print_bb_index, df_ref_bitmap, df_set_seen,
 | 
      
         | 4232 |  |  |         df_unset_seen, df_ru_get_bb_info, df_ru_set_bb_info,
 | 
      
         | 4233 |  |  |         df_ru_free_bb_info, df_ru_alloc,
 | 
      
         | 4234 |  |  |         df_ru_bb_local_compute_process_def,
 | 
      
         | 4235 |  |  |         df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
 | 
      
         | 4236 |  |  |         df_ru_local_compute, df_ru_init_solution,
 | 
      
         | 4237 |  |  |         df_ru_confluence_n, df_ru_transfer_function, df_ru_free,
 | 
      
         | 4238 |  |  |         df_ru_dump, df_ru_add_problem, df_rd_get_bb_info,
 | 
      
         | 4239 |  |  |         df_rd_set_bb_info, df_rd_free_bb_info, df_rd_alloc,
 | 
      
         | 4240 |  |  |         df_rd_bb_local_compute_process_def, df_rd_bb_local_compute,
 | 
      
         | 4241 |  |  |         df_rd_local_compute, df_rd_init_solution,
 | 
      
         | 4242 |  |  |         df_rd_confluence_n, df_rd_transfer_function, df_rd_free,
 | 
      
         | 4243 |  |  |         df_rd_dump, df_rd_add_problem, df_lr_get_bb_info,
 | 
      
         | 4244 |  |  |         df_lr_set_bb_info, df_lr_free_bb_info, df_lr_alloc,
 | 
      
         | 4245 |  |  |         df_lr_bb_local_compute, df_lr_local_compute, df_lr_init,
 | 
      
         | 4246 |  |  |         df_lr_confluence_0, df_lr_confluence_n,
 | 
      
         | 4247 |  |  |         df_lr_transfer_function, df_lr_free, df_lr_dump,
 | 
      
         | 4248 |  |  |         df_lr_add_problem, df_ur_get_bb_info, df_ur_set_bb_info,
 | 
      
         | 4249 |  |  |         df_ur_free_bb_info, df_ur_alloc, df_ur_bb_local_compute,
 | 
      
         | 4250 |  |  |         df_ur_local_compute, df_ur_init, df_ur_local_finalize,
 | 
      
         | 4251 |  |  |         df_ur_confluence_n, df_ur_transfer_function, df_ur_free,
 | 
      
         | 4252 |  |  |         df_ur_dump, df_ur_add_problem, df_urec_get_bb_info,
 | 
      
         | 4253 |  |  |         df_urec_set_bb_info, df_urec_free_bb_info, df_urec_alloc,
 | 
      
         | 4254 |  |  |         df_urec_mark_reg_change, df_urec_check_earlyclobber,
 | 
      
         | 4255 |  |  |         df_urec_mark_reg_use_for_earlyclobber,
 | 
      
         | 4256 |  |  |         df_urec_mark_reg_use_for_earlyclobber_1,
 | 
      
         | 4257 |  |  |         df_urec_bb_local_compute, df_urec_local_compute,
 | 
      
         | 4258 |  |  |         df_urec_init, df_urec_local_finalize, df_urec_confluence_n,
 | 
      
         | 4259 |  |  |         df_urec_transfer_function, df_urec_free, df_urec_dump,
 | 
      
         | 4260 |  |  |         df_urec_add_problem, df_chain_alloc,
 | 
      
         | 4261 |  |  |         df_chain_create_bb_process_use, df_chain_create_bb,
 | 
      
         | 4262 |  |  |         df_chain_finalize, df_chain_free, df_chains_dump,
 | 
      
         | 4263 |  |  |         df_chain_add_problem, df_ri_alloc, df_ri_bb_compute,
 | 
      
         | 4264 |  |  |         df_ri_compute, df_ri_free, df_ri_dump, df_ri_add_problem,
 | 
      
         | 4265 |  |  |         df_reg_lifetime) New functions.
 | 
      
         | 4266 |  |  |         df.h: Complete rewrite to support new df-problems.c, df-scan.c and
 | 
      
         | 4267 |  |  |         df-core.c.
 | 
      
         | 4268 |  |  |  
 | 
      
         | 4269 |  |  | 2005-12-14  Kenneth Zadeck 
 | 
      
         | 4270 |  |  |  
 | 
      
         | 4271 |  |  |         * bitmap.c (bitmap_clear_range): Removed extra debugging.
 | 
      
         | 4272 |  |  |  
 | 
      
         | 4273 |  |  | 2005-12-12  Paolo Bonzini  
 | 
      
         | 4274 |  |  |  
 | 
      
         | 4275 |  |  |         * rtl.h (find_occurrence): Declare.
 | 
      
         | 4276 |  |  |         * rtlanal.c (find_occurrence): New.
 | 
      
         | 4277 |  |  |         (loc_mentioned_in_p): Accept a NULL value for IN.
 | 
      
         | 4278 |  |  |         (commutative_operand_precedence): Remove useless code looking
 | 
      
         | 4279 |  |  |         for constant RTX_EXTRA rtxen.
 | 
      
         | 4280 |  |  |         * common.opt (-fforward-propagate): New.
 | 
      
         | 4281 |  |  |         * tree-pass.h: Add forward propagation passes.
 | 
      
         | 4282 |  |  |         * passes.c: Ditto.
 | 
      
         | 4283 |  |  |         * timevar.def: Add forward propagation timevar.
 | 
      
         | 4284 |  |  |         * fwprop.c: New file.
 | 
      
         | 4285 |  |  |         * Makefile.in: Add fwprop.o dependencies.
 | 
      
         | 4286 |  |  |  
 | 
      
         | 4287 |  |  | 2005-11-28  Paolo Bonzini  
 | 
      
         | 4288 |  |  |  
 | 
      
         | 4289 |  |  |         * config/sh/sh.c (sh_output_mi_thunk): Use df_finish.
 | 
      
         | 4290 |  |  |  
 | 
      
         | 4291 |  |  | 2005-11-17  Paolo Bonzini  
 | 
      
         | 4292 |  |  |  
 | 
      
         | 4293 |  |  |         * df.h (struct df_reach): Add size field.
 | 
      
         | 4294 |  |  |         * df.c (df_realloc_reach_bitmaps, df_renumber_refs): New.
 | 
      
         | 4295 |  |  |         (df_reg_use_chain_create, df_reg_def_chain_create): Use them.
 | 
      
         | 4296 |  |  |         Fix GNU coding standards compliancy.
 | 
      
         | 4297 |  |  |  
 | 
      
         | 4298 |  |  | 2005-11-11  Richard Earnshaw  
 | 
      
         | 4299 |  |  |  
 | 
      
         | 4300 |  |  |         * df.c (df_chain_create): Move declaration of bb outside define
 | 
      
         | 4301 |  |  |         for ENABLE_CHECKING.
 | 
      
         | 4302 |  |  |  
 | 
      
         | 4303 |  |  | 2005-11-08  Paolo Bonzini  
 | 
      
         | 4304 |  |  |  
 | 
      
         | 4305 |  |  |         * df.c (df_local_ref_killed_between_p): Reinstate.
 | 
      
         | 4306 |  |  |  
 | 
      
         | 4307 |  |  | 2005-11-08  Daniel Berlin  
 | 
      
         | 4308 |  |  |             Kenneth Zadeck 
 | 
      
         | 4309 |  |  |  
 | 
      
         | 4310 |  |  |         * bitmap.c (bitmap_element_free, bitmap_element_link, bitmap_and,
 | 
      
         | 4311 |  |  |         bitmap_and_compl, bitmap_ior, bitmap_ior_into, bitmap_xor,
 | 
      
         | 4312 |  |  |         bitmap_xor_into): Fixed latent performance issue where current
 | 
      
         | 4313 |  |  |         was being properly kept up to date.
 | 
      
         | 4314 |  |  |         (bitmap_clear_range, bitmap_compl_and_into): New functions to support
 | 
      
         | 4315 |  |  |         dataflow analysis.
 | 
      
         | 4316 |  |  |         * df.c (df_rd_confluence_n, df_alloc_reach_bitmaps, df_free_reach_bitmaps,
 | 
      
         | 4317 |  |  |         df_clear_reach_bitmaps, df_ru_confluence_n, df_lr_confluence_0,
 | 
      
         | 4318 |  |  |         df_lr_confluence_n, df_init, df_dump): Changed the way EH_USES is processed.
 | 
      
         | 4319 |  |  |         (df_bitmaps_alloc, df_bitmaps_free,
 | 
      
         | 4320 |  |  |         df_bb_reg_def_chain_create, df_bb_reg_def_chain_create,
 | 
      
         | 4321 |  |  |         df_reg_use_chain_create, df_rd_transfer_function,
 | 
      
         | 4322 |  |  |         df_alloc_reach_bitmaps, df_ref_bitmap, df_bb_rd_local_compute,
 | 
      
         | 4323 |  |  |         df_rd_local_compute, df_bb_ru_local_compute, df_analyze,
 | 
      
         | 4324 |  |  |         df_analyze_subcfg, df_analyze_simple_change_some_blocks): Fixed
 | 
      
         | 4325 |  |  |         performance problems by grouping all defs and uses
 | 
      
         | 4326 |  |  |         for the same pseudo into contigious ranges.
 | 
      
         | 4327 |  |  |         (df_bb_du_chain_create, df_bb_ud_chain_create): Combined in
 | 
      
         | 4328 |  |  |         new function df_bb_chain_create.
 | 
      
         | 4329 |  |  |         (df_chain_create, df_alloc_reach_bitmaps, df_free_reach_bitmaps,
 | 
      
         | 4330 |  |  |         df_clear_reach_bitmaps, df_ref_bitmap): New function.
 | 
      
         | 4331 |  |  |         (df_rd_init, df_rd_confluence_n, df_rd_transfer_function,
 | 
      
         | 4332 |  |  |         df_rd_set_dflow, df_ru_transfer_function, df_ru_confluence_n,
 | 
      
         | 4333 |  |  |         df_ru_transfer_function, df_ru_set_dflow, df_lr_transfer_function,
 | 
      
         | 4334 |  |  |         df_lr_set_dflow, df_lr_confluence_n, df_ur_transfer_function,
 | 
      
         | 4335 |  |  |         df_ur_set_dflow, df_ur_init, df_ur_transfer_function, df_ur_set_dflow
 | 
      
         | 4336 |  |  |         df_ur_confluence_n, hybrid_search_forward, hybrid_search_backward
 | 
      
         | 4337 |  |  |         iterative_dataflow): Changed interface for dataflow callback
 | 
      
         | 4338 |  |  |         functions to hide where the source of bitmaps.
 | 
      
         | 4339 |  |  |         (df_rd_set_bitmaps, df_ru_set_bitmaps, df_lr_set_bitmaps,
 | 
      
         | 4340 |  |  |         df_ur_set_bitmaps, df_bitmap_ior_edge): Removed as part of
 | 
      
         | 4341 |  |  |         changing dataflow callback interface.
 | 
      
         | 4342 |  |  |         (df_free, df_ref_create, df_ref_record_1,
 | 
      
         | 4343 |  |  |         df_record_exit_block_uses, df_refs_record, df_exit_lr_local_compute,
 | 
      
         | 4344 |  |  |         df_insn_move_before, df_local_ref_killed_between_p,
 | 
      
         | 4345 |  |  |         df_bb_regno_last_def_find, df_chain_dump, df_dump):
 | 
      
         | 4346 |  |  |         Added chains that go to artifical uses in exit block.
 | 
      
         | 4347 |  |  |         (df_exit_bb_reg_use_chain_create, df_exit_bb_chain_create):
 | 
      
         | 4348 |  |  |         New functions to support artifical uses in exit block.
 | 
      
         | 4349 |  |  |         (df_insn_refs_record): Added new DF_REF_CLOBBER ref type to
 | 
      
         | 4350 |  |  |         avoid creation of artifical chains for clobbers at call sites.
 | 
      
         | 4351 |  |  |  
 | 
      
         | 4352 |  |  | 2005-11-03  Paolo Bonzini  
 | 
      
         | 4353 |  |  |             Steven Bosscher  
 | 
      
         | 4354 |  |  |  
 | 
      
         | 4355 |  |  |         * df.c (df_free): Fix call to df_bitmaps_free.
 | 
      
         | 4356 |  |  |         (df_bb_regno_last_def_find): Make it return what it is supposed
 | 
      
         | 4357 |  |  |         to return.
 | 
      
         | 4358 |  |  |         (df_local_ref_killed_between_p): New.
 | 
      
         | 4359 |  |  |  
 | 
      
         | 4360 |  |  | 2005-11-01  Daniel Berlin  
 | 
      
         | 4361 |  |  |             Kenneth Zadeck 
 | 
      
         | 4362 |  |  |  
 | 
      
         | 4363 |  |  |         * flow.c (update_life_info): Added debugging.
 | 
      
         | 4364 |  |  |         (init_propagate_block_info): Fixed typo.
 | 
      
         | 4365 |  |  |         * df.c (df_refs_unlink, df_ref_record_1, df_ref_record,
 | 
      
         | 4366 |  |  |         read_modify_subreg_p, df_def_record_1, df_insn_refs_record):
 | 
      
         | 4367 |  |  |         Fixed control of when regs_ever_live is modified.
 | 
      
         | 4368 |  |  |         * combine.c: Documentation rot.
 | 
      
         | 4369 |  |  |         * reload1.c: Used wrong type of comment.
 | 
      
         | 4370 |  |  |  
 | 
      
         | 4371 |  |  | 2005-10-31  Jan Hubicka  
 | 
      
         | 4372 |  |  |  
 | 
      
         | 4373 |  |  |         * reg-stack.c (subst_stack_regs_pat): Expect USEs to be ignored for
 | 
      
         | 4374 |  |  |         liveness.
 | 
      
         | 4375 |  |  |         (change_stack): Initialize partially dead registers.
 | 
      
         | 4376 |  |  |         (convert_regs_1): Handle dead return values.
 | 
      
         | 4377 |  |  |         (reg_to_stack): Switch to partial liveness.
 | 
      
         | 4378 |  |  |         (propagate_stack): Push in partially live stuff.
 | 
      
         | 4379 |  |  |  
 | 
      
         | 4380 |  |  | 2005-10-25  Daniel Berlin  
 | 
      
         | 4381 |  |  |             Kenneth Zadeck 
 | 
      
         | 4382 |  |  |  
 | 
      
         | 4383 |  |  |         * cfgrtl.c (print_rtl_with_bb): Fixed problem with debugging
 | 
      
         | 4384 |  |  |         output of bitmaps.
 | 
      
         | 4385 |  |  |         * df.c (mark_reg_change): Fixed problem computing sizes of hard regs.
 | 
      
         | 4386 |  |  |         * reload1.c (reload): Fixed over agressive updating of bitmaps.
 | 
      
         | 4387 |  |  |         * sched-rgn.c (schedule_insns): Cleaned away some useless verification
 | 
      
         | 4388 |  |  |         code.
 | 
      
         | 4389 |  |  |         (rest_of_handle_sched2): Removed debugging.
 | 
      
         | 4390 |  |  |  
 | 
      
         | 4391 |  |  |  
 | 
      
         | 4392 |  |  | 2005-10-24  Kenneth Zadeck 
 | 
      
         | 4393 |  |  |  
 | 
      
         | 4394 |  |  |         * sched-rgn.c (check_live_1, update_live_1, rest_of_handle_sched):
 | 
      
         | 4395 |  |  |         Converted to use partially available liveness.
 | 
      
         | 4396 |  |  |         (init_regions, schedule_insns, rest_of_handle_sched):
 | 
      
         | 4397 |  |  |         Removed assertion checking based on death notes.
 | 
      
         | 4398 |  |  |  
 | 
      
         | 4399 |  |  |  
 | 
      
         | 4400 |  |  | 2005-10-23  Daniel Berlin  
 | 
      
         | 4401 |  |  |             Kenneth Zadeck 
 | 
      
         | 4402 |  |  |  
 | 
      
         | 4403 |  |  |         * df.c (df_bitmaps_alloc, df_lr_local_compute, df_compute_all_blocks):
 | 
      
         | 4404 |  |  |         Removed df->all_blocks.
 | 
      
         | 4405 |  |  |         (df_lr_local_compute): Added flag to indicate that
 | 
      
         | 4406 |  |  |         blocks was really the whole function.
 | 
      
         | 4407 |  |  |         (df_ref_record): Fixed missing case for memory refs.
 | 
      
         | 4408 |  |  |         (df_insn_refs_record): Fixed regs ever live processing.
 | 
      
         | 4409 |  |  |         (df_bb_refs_record): Removed debugging code.
 | 
      
         | 4410 |  |  |         (df_bb_lr_local_compute, notice_stack_pointer_modification,
 | 
      
         | 4411 |  |  |         df_bb_lr_local_compute): Moved stack pointer modification
 | 
      
         | 4412 |  |  |         detection code back to flow.c.
 | 
      
         | 4413 |  |  |         (df_bb_lr_local_compute, hybrid_search_forward,
 | 
      
         | 4414 |  |  |         hybrid_search_backward): Formatting cleanup.
 | 
      
         | 4415 |  |  |         (df_compute_all_blocks, notice_stack_pointer_modification):
 | 
      
         | 4416 |  |  |         Removed.
 | 
      
         | 4417 |  |  |         (df_analyze):  Changed the definition of whole program to be all
 | 
      
         | 4418 |  |  |         reachable blocks rather than all blocks.
 | 
      
         | 4419 |  |  |         (df_analyze_subcfg, df_analyze_simple_change_some_blocks): Added
 | 
      
         | 4420 |  |  |         parameter to df_lr_local_compute.
 | 
      
         | 4421 |  |  |         (df_rtx_reg_replace): Fixed way it decided it was processing
 | 
      
         | 4422 |  |  |         entire function.
 | 
      
         | 4423 |  |  |         * df.h: Removed all_blocks from struct df definition.
 | 
      
         | 4424 |  |  |         * flow.c (notice_stack_pointer_modification_1,
 | 
      
         | 4425 |  |  |         notice_stack_pointer_modification): Added back.
 | 
      
         | 4426 |  |  |         (life_analysis): Added back call to
 | 
      
         | 4427 |  |  |         notice_stack_pointer_modification.
 | 
      
         | 4428 |  |  |         (struct tree_opt_pass pass_life, rest_of_handle_flow2):
 | 
      
         | 4429 |  |  |         Added debugging.
 | 
      
         | 4430 |  |  |         * gcse.c (gcse_main, bypass_jumps): Additional places where we had missed
 | 
      
         | 4431 |  |  |         in renumbering entry and exit blocks.
 | 
      
         | 4432 |  |  |         * global.c (global_alloc): Additional debugging code.
 | 
      
         | 4433 |  |  |  
 | 
      
         | 4434 |  |  |  
 | 
      
         | 4435 |  |  | 2005-10-19  Daniel Berlin  
 | 
      
         | 4436 |  |  |  
 | 
      
         | 4437 |  |  |         * df.c (df_lr_local_compute): Fix thinko regarding pseudos and call
 | 
      
         | 4438 |  |  |         defs.
 | 
      
         | 4439 |  |  |  
 | 
      
         | 4440 |  |  | 2005-10-19  Kenneth Zadeck 
 | 
      
         | 4441 |  |  |  
 | 
      
         | 4442 |  |  |         * df.c (df_bitmap_ior_edge, df_lr_confluence_0
 | 
      
         | 4443 |  |  |         df_lr_confluence_n, df_ur_confluence_n, df_ur_set_bitmaps): New
 | 
      
         | 4444 |  |  |         functions.
 | 
      
         | 4445 |  |  |         (df_exit_lr_local_compute, dataflow_set_a_op_b): Removed
 | 
      
         | 4446 |  |  |         functions.
 | 
      
         | 4447 |  |  |         (df_ur_set_bitmaps, mark_reg_change, df_ur_local_finalize,
 | 
      
         | 4448 |  |  |         mark_reg_use_for_earlyclobber, df_ur_local_compute,
 | 
      
         | 4449 |  |  |         df_bb_reg_live_start, df_bb_reg_live_end, df_bb_reg_live_start_p,
 | 
      
         | 4450 |  |  |         df_bb_reg_live_end_p): Renamed "reaching registers"
 | 
      
         | 4451 |  |  |         problem (rr) to "uninitialized registers" problem.
 | 
      
         | 4452 |  |  |         (df_free): Changed variables freed.
 | 
      
         | 4453 |  |  |         (df_ref_record): Added more sophisticated hard register scan.
 | 
      
         | 4454 |  |  |         (df_insn_refs_record): Changed way invalidated_by_call is
 | 
      
         | 4455 |  |  |         processed.
 | 
      
         | 4456 |  |  |         (df_bb_refs_record, df_exit_lr_local_compute,
 | 
      
         | 4457 |  |  |         df_bb_lr_local_compute): Removed bad way to simulate edge functions.
 | 
      
         | 4458 |  |  |         There are now real confluence functions.
 | 
      
         | 4459 |  |  |         (notice_stack_pointer_modification): Disabled.
 | 
      
         | 4460 |  |  |         (df_bb_lr_local_compute): Disabled call to
 | 
      
         | 4461 |  |  |         notice_stack_pointer_modification. Added code to properly handle hard
 | 
      
         | 4462 |  |  |         regs at call site.
 | 
      
         | 4463 |  |  |         (df_lr_local_compute): Added more hard reg processing.
 | 
      
         | 4464 |  |  |         Changed order exit block is processed.
 | 
      
         | 4465 |  |  |         (df_init): Added some invariant hard regs initialization.
 | 
      
         | 4466 |  |  |         (df_refs_process): Removed artifical special case.
 | 
      
         | 4467 |  |  |         (df_print_bb_index, df_dump): Removed parameter to df_dump.
 | 
      
         | 4468 |  |  |         (hybrid_search_forward, hybrid_search_backward): Added
 | 
      
         | 4469 |  |  |         confluence function calls.
 | 
      
         | 4470 |  |  |         (iterative_dataflow): Added hack to initialize in and out sets
 | 
      
         | 4471 |  |  |         with hard registers.  This will be removed later.
 | 
      
         | 4472 |  |  |         * df.h: Removed DF_ARTIFICIAL_DEFS.  Renamed "reaching registers".
 | 
      
         | 4473 |  |  |         problem (rr) to "uninitialized registers" problem. Changed confluence
 | 
      
         | 4474 |  |  |         operator to general confluence functions.
 | 
      
         | 4475 |  |  |         * flow.c (verify_wide_reg, verify_local_live_at_start): Removed
 | 
      
         | 4476 |  |  |         parameter to df_dump.
 | 
      
         | 4477 |  |  |         * reg_stack.c (reg_to_stack): Ditto.
 | 
      
         | 4478 |  |  |         * sched_rgn.c (init_regions, schedule_insns): Ditto.
 | 
      
         | 4479 |  |  |         * web.c (web_main): Ditto.
 | 
      
         | 4480 |  |  |         * flow.c: (update_life_info): Removed DF_ARTIFICIAL_DEFS.
 | 
      
         | 4481 |  |  |         * global.c (global_alloc): Ditto.
 | 
      
         | 4482 |  |  |  
 | 
      
         | 4483 |  |  |  
 | 
      
         | 4484 |  |  | Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
 | 
      
         | 4485 |  |  |  
 | 
      
         | 4486 |  |  | Copying and distribution of this file, with or without modification,
 | 
      
         | 4487 |  |  | are permitted in any medium without royalty provided the copyright
 | 
      
         | 4488 |  |  | notice and this notice are preserved.
 |