* tree-browser.c: Revert trivial patch to minimise diffs.
[official-gcc.git] / gcc / ChangeLog.vec
blobe11c5fb6a14aedb83b8feb3e94b017da5d64a2ac
1 2004-08-23  Ben Elliston  <bje@au.ibm.com>
3         * tree-browser.c: Revert trivial patch to minimise diffs.
4         * ifcvt.c (block_fallthru): Correct logic inversion bug.
6 2004-08-19  Ben Elliston  <bje@au.ibm.com>
8         * Merge with edge-vector-mergepoint-20040819.
10 2004-08-18  Steven Bosscher  <stevenb@suse.de>
12         * tree-ssa-dom.c (record_equivalences_from_incoming_edge):
13         Extract edge flags with one _or_more_ edges.
15 2004-08-18  Ben Elliston  <bje@au.ibm.com>
17         * Merge with edge-vector-mergepoint-20040810.
19 2004-08-18  Ben Elliston  <bje@au.ibm.com>
21         * except.c (emit_to_new_bb_before): Eliminate FOR_EACH_EDGE.
23 2004-08-18  Ben Elliston  <bje@au.ibm.com>
25         * ra-build.c (live_in): Initialise `e' to silence a warning.
26         * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
27         (sbitmap_intersection_of_preds): Likewise.
28         (sbitmap_union_of_preds): Likewise.
29         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Initialise
30         iterator variable `ix' to silence a warning.
31         
32 2004-08-17  Ben Elliston  <bje@au.ibm.com>
34         * dominance.c (calc_idoms): Eliminate use of FOR_EACH_EDGE.
35         * cfghooks.c: (make_forwarder_block): Likewise.
36         * loop-init.c (loop_optimizer_init): Likewise.
37         * cfgcleanup.c (try_forward_edges): Likewise.
38         * gcse.c (bypass_block): Likewise.
39         * function.c (thread_prologue_and_epilogue_insns): Likewise.
41 2004-08-17  Ben Elliston  <bje@au.ibm.com>
43         * cfg.c (remove_edge): Don't use FOR_EACH_EDGE for loops that
44         alter the edge vector.
45         (redirect_edge_succ): Likewise.
46         (redirect_edge_pred): Likewise.
48         * basic-block.h (FOR_EACH_EDGE): Record initial edge count.
49         (END_FOR_EACH_EDGE): Test it.
51         * basic-block.h (FOR_EACH_EDGE): Output filename and function name
52         when throwing an internal error.
54         * cfganal.c (remove_fake_predecessors): Don't use FOR_EACH_EDGE
55         for loops that alter the edge vector.
56         * cfgexpand.c (expand_gimple_tailcall): Likewise.
57         (expand_gimple_basic_block): Likewise.
58         * cfgloopmanip.c (force_nonfallthru_and_redirect): Likewise.
59         (purge_dead_edges): Likewise.
60         * except.c (finish_eh_generation): Likewise.
61         * tree-cfg.c (cleanup_control_expr_graph): Likewise.
62         (thread_jumps): Likewise.
63         (tree_purge_dead_eh_edges): Likewise.
65 2004-08-16  Ben Elliston  <bje@au.ibm.com>
67         * basic-block.h: Include "errors.h".
68         (ENABLE_CHECKING): Define to 0 if not already defined.
69         (FOR_EACH_EDGE): Reimplement.
70         (END_FOR_EACH_EDGE): New.
71         * Update all callers: Eliminate explicit iterator variables, use
72         FOR_EACH_EDGE and END_FOR_EACH_EDGE macros.
74 2004-08-12  Ben Elliston  <bje@au.ibm.com>
76         * basic-block.h (FOR_EACH_PRED_EDGE, FOR_EACH_SUCC_EDGE): Remove.
77         * Update all callers to use FOR_EACH_EDGE instead.
79 2004-08-12  Ben Elliston  <bje@au.ibm.com>
81         * basic-block.h (EDGE_PRED_COUNT, EDGE_SUCC_COUNT): Remove.
82         * Update all callers to use EDGE_COUNT instead.
84 2004-07-31  Steven Bosscher  <stevenb@suse.de>
86         * cfg.c (remove_edge): Use VEC_unordered_remove.
87         (redirect_edge_succ): Likewise.
88         (redirect_edge_pred): Likewise.
89         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
91         * dominance.c (calc_idoms): Initialize ix to -1 when computing
92         post dominance and the block has fake exit edges.
94         * cfgcleanup.c (try_forward_edges): Revert previous commit.
96         * version.c: Add edge-vector-branch special version and merge tag.
98 2004-07-30  Steven Bosscher  <stevenb@suse.de>
100         * cfgexpand.c (expand_block): Decrement the iterator if
101         an edge is removed so that we re-examine the current vector slot.
102         * tree-ssa-dce.c (remove_dead_stmt): Do not remove the first one but
103         the last edge.
105 2004-07-30  Andrew Pinski  <apinski@apple.com>
107         * cfgcleanup.c (try_forward_edges): Go back to the first edge after
108         jump threading.
109         * tree-cfg.c (disband_implicit_edges): Remove unused ix.
110         (thread_jumps): Decrement the iterator if an edge is removed
111         so that we re-examine the current vector slot.
113 2004-07-29  Ben Elliston  <bje@au.ibm.com>
115         * basic-block.h (FALLTHRU_EDGE): Use EDGE_SUCC.
116         (BRANCH_EDGE): Likewise.
117         (EDGE_CRITICAL_P): Use EDGE_{PRED,SUCC}_COUNT.
118         (FOR_EACH_PRED_EDGE, FOR_EACH_SUCC_EDGE): New.
119         (EDGE_PRED_COUNT, EDGE_SUCC_COUNT): Likewise.
120         (EDGE_PRED, EDGE_SUCC): Likewise.
121         * bb-reorder.c, bt-load.c, cfg.c, cfganal.c, cfgbuild.c,
122         cfgcleanup.c, cfgexpand.c, cfghooks.c, cfglayout.c, cfgloop.c,
123         cfgloopanal.c, cfgloopmanip.c, cfgrtl.c, cse.c, df.c, dominance.c,
124         domwalk.c, except.c, final.c, flow.c, function.c, gcse.c,
125         gdbinit.in, global.c, graph.c, ifcvt.c, lcm.c, loop-doloop.c,
126         loop-init.c, loop-invariant.c, loop-iv.c, loop-unroll.c,
127         loop-unswitch.c, modulo-sched.c, predict.c, profile.c, ra-build.c,
128         ra-rewrite.c, ra.c, recog.c, reg-stack.c, regrename.c, reload1.c,
129         sbitmap.c, sched-ebb.c, sched-rgn.c, tracer.c, tree-cfg.c,
130         tree-into-ssa.c, tree-mudflap.c, tree-outof-ssa.c,
131         tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-dce.c,
132         tree-ssa-dom.c, tree-ssa-live.c, tree-ssa-loop-ch.c,
133         tree-ssa-loop-im.c, tree-ssa-loop-niter.c, tree-ssa-phiopt.c,
134         tree-ssa-pre.c, tree-ssa.c, tree-tailcall.c, var-tracking.c,
135         config/frv/frv.c, config/i386/i386.c, config/ia64/ia64.c,
136         config/rs6000/rs6000.c: Update all callers.
138 2004-07-26  Ben Elliston  <bje@au.ibm.com>
140         * bb-reorder.c (connect_traces): Use distinct iterator variables
141         when nesting FOR_EACH_EDGE loops (ix vs. ix2).
143 2004-07-26  Andrew Pinski  <pinskia@physics.uc.edu>
145         * bb-reorder.c (fix_up_fall_thru_edges): Fix up when there is no edge
146         and when only one exists.
147         (fix_crossing_conditional_branches): Likewise.
148         Use EDGE_COUNT.
149         * cfgcleanup.c (outgoing_edges_match): Speedup loop and use FOR_EACH_EDGE.
150         (try_crossjump_bb): Speed up by checking the EDGE_COUNT before loop and
151         remove the check in the loop.
152         * cfghooks.c (delete_basic_block): Do not use FOR_EACH_EDGE when remove
153         all edges but a loop of EDGE_COUNT.
154         (merge_blocks): Likewise.
155         (duplicate_block): Use EDGE_COUNT.
156         * cfgrtl.c (purge_dead_edges): Adjust the iterator
157         when removing an edge.
158         * dominance.c (calc_idoms): Do not initialize ix as
159         it is wrong.
160         * tree-ssa-dce.c (remove_dead_phis): Do not use FOR_EACH_EDGE when remove
161         all edges but a loop of EDGE_COUNT.
162         * tree-ssa-loop-ch.c (duplicate_blocks): Make sure we found the other edge.
164 2004-07-26  Steven Bosscher  <stevenb@suse.de>
166         * cfgcleanup.c (outgoing_edges_match): Test for exactly two edges,
167         not two or less.
168         * tree-cfg.c (cleanup_control_expr_graph): Adjust the iterator
169         when removing an edge.
170         (tree_purge_dead_eh_edges): Likewise.
172 2004-07-22  Andrew Pinski  <pinskia@physics.uc.edu>
174         * cfganal.c (add_noreturn_fake_exit_edges): Use EDGE_COUNT.
175         * cfgcleanup.c (try_optimize_cfg): Likewise.
176         * cfglayout.c (fixup_reorder_chain): Likewise.
177         * ra-build.c (live_in): Likewise.
178         * sched-rgn.c (build_control_flow): Likewise.
179         * tree-ssa-pre.c (compute_antic_aux): Likewise.
181         * cfgloop.c (flow_loop_pre_header_scan): Use EDGE_0 of the pred.
182         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Initialize found.
183         * dominance.c (calc_idoms): Initialize ix.
184         * ra-build.c (live_in): Initialize e.
185         * tree-mudflap.c (mf_build_check_statement_for): Use EDGE_0 of the pred.
186         * tree-ssa-loop-ch.c (duplicate_blocks): Move defintion of ix up.
188 2004-07-22  Ben Elliston  <bje@au.ibm.com>
190         * cfgcleanup.c (outgoing_edges_match): Clean up search of outgoing
191         edges.  Don't test e1 and e2 for non-null values--check the edge
192         counts instead.
193         * tree-ssa-dce.c (remove_dead_stmt): Remove erroneous VEC_pop.
195 2004-07-22  Steven Bosscher  <stevenb@suse.de>
197         * ifcvt.c (find_if_case_1): Use then_bb->pred, not succ. Typo.
199 2004-07-22  Ben Elliston  <bje@au.ibm.com>
201         * cfg.c (redirect_edge_succ): Use FOR_EACH_EDGE for consistency.
202         (redirect_edge_pred): Likewise.
203         * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
204         * tree-ssa-loop-ch.c (duplicate_blocks): Likewise.
206 2004-07-22  Steven Bosscher  <stevenb@suse.de>
208         * var-tracking.c (vt_stack_adjustments): Fix stack push thinko.
210 2004-07-22  Andrew Pinski  <apinski@apple.com>
212         * basic-block.h (FOR_EACH_EDGE): Set e at the begining too.
213         * gcse.c (bypass_block): e2 is the iterator for the edges.
214         * ifcvt.c (find_cond_trap): Use EDGE_COUNT.
215         (block_has_only_trap): Likewise.
216         (find_if_case_2): Set else_edge and not else_succ.
217         Use else_succ when we used to.
218         * sched-rgn.c (find_rgns): Use EDGE_COUNT.
219         * tree-cfg.c (make_ctrl_stmt_edges): Likewise.
220         (make_goto_expr_edges): Likewise.
221         (thread_jumps): Likewise.
222         (execute_warn_function_return): Likewise.
223         * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph):
224         Check the number of edges of e before setting e again.
226 2004-07-22  Ben Elliston  <bje@au.ibm.com>
228         * ifcvt.c (find_if_block): Check else_succ edge count.
229         * gcse.c (remove_reachable_equiv_notes): Assign NULL to `act' if
230         the iterator overruns the end of the vector.
232 2004-07-22  Ben Elliston  <bje@au.ibm.com>
234         * except.c (connect_post_landing_pads): Use EDGE_COUNT.
235         * ifcvt.c (find_if_case_2): Only access edge 0 if the edge count
236         is non-zero.
237         * cfghooks.c (delete_basic_block): Truncate unconditionally as it
238         is now safe to do so.
240 2004-07-21  Ben Elliston  <bje@au.ibm.com>
242         * cfganal.c (remove_fake_predecessors): Decrement the iterator if
243         an edge is removed so that we re-examine the current vector slot.
244         * except.c (finish_eh_generation): Likewise.
245         * cfgexpand.c (expand_block): Likewise.
246         * cfghooks.c (delete_basic_block): Likewise.
247         (merge_blocks): Likewise.
248         * profile.c (compute_branch_probabilities): Use EDGE_COUNT, not
249         a FOR_EACH_EDGE loop with an increment in the loop body.
250         * cfgloopmanip.c (fix_irreducible_loops): Use EDGE_COUNT.
251         * bb-reorder.c (copy_bb_p): Directly test if edge count exceeds 8.
252         * ifcvt.c (merge_if_block): Use EDGE_COUNT for clarity.
254 2004-07-21  Ben Elliston  <bje@au.ibm.com>
256         * cfg.c (clear_edges): Truncate the bb->succ, bb->pred vectors.
257         Likewise for EXIT_BLOCK_PTR->succ and EXIT_BLOCK_PTR->pred.
259 2004-07-20  Ben Elliston  <bje@au.ibm.com>
261         * config/ia64/ia64.c (ia64_expand_prologue): Iterate over edge
262         vector instead of traversing a linked list.
263         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use EDGE_COUNT to
264         count elements rather than testing the basic_block->pred member.
265         * config/frv/frv.c (frv_ifcvt_modify_tests): Use edge accessor.
267 2004-07-20  Ben Elliston  <bje@au.ibm.com>      
269         * Ben to add a large ChangeLog entry soon!