1. 11 Dec, 2003 1 commit
    • basic-block.h (BLOCK_HEAD, BLOCK_END): Remove. · a813c111
      2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
      	(BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
      	(basic_block_def): Rename `head' to `head_' and `end' to `end_'.
      	(BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
      	fields of a basic block.
      	* bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
      	cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
      	cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
      	final.c, flow.c, function.c, gcse.c, global.c, graph.c,
      	haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
      	loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
      	ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
      	regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
      	sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
      	config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
      	accessing the `head' and `end' fields of a basic block directly.
      
      	* gengtype.c: Add missing piece from earlier patch.  Dunno what
      	I was thinking...
      
      From-SVN: r74520
      Steven Bosscher committed
  2. 02 Sep, 2003 1 commit
  3. 19 Aug, 2003 1 commit
    • builtins.c: Fix comment typos. · a98ebe2e
      	* builtins.c: Fix comment typos.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cppfiles.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-page.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* pretty-print.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      
      From-SVN: r70583
      Kazu Hirata committed
  4. 22 Jun, 2003 1 commit
    • caller-save.c: Convert to ISO C90. · d329e058
      	* caller-save.c: Convert to ISO C90.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfglayout.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmainip.c: Likewise.
      	* cfgrtl.c: Likewise.
      
      From-SVN: r68331
      Andreas Jaeger committed
  5. 13 Jun, 2003 1 commit
  6. 07 Jun, 2003 1 commit
  7. 24 Apr, 2003 1 commit
    • re PR c/10308 ([x86] ICE with -O -fgcse or -O2) · 26f74aa3
      	* cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
      	looking for fallthru edge.
      
      	* athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
      	Fix.
      	(athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
      	athlon-fvector): New.
      	(athlon_*): Revisit to match new optimization guide.
      	* i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
      	* i386.md (cvt??2?? patterns): Fix modes.
      	(fistp patterns): Set modes.
      
      	Accidentaly commited with my earlier reload patch:
      	PR c/10308
      	* reload.c (find_reloads_address_1): Reload plus at the place of
      	index register.
      
      From-SVN: r66037
      Jan Hubicka committed
  8. 30 Mar, 2003 1 commit
    • cfgbuild.c (make_edges): Use tablejump_p. · e1233a7d
              * cfgbuild.c (make_edges): Use tablejump_p.
              * cfgcleanup.c (label_is_jump_target_p): Likewise.
              * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
              * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
              (try_redirect_by_replacing_jump): Likewise.
              (redirect_edge_and_branch): Likewise.
              * cse.c (fold_rtx): Likewise.
              * jump.c (delete_related_insns): Likewise.
              * rtlanal.c (get_jump_table_offset): Likewise.
              * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
      
      From-SVN: r65054
      Richard Henderson committed
  9. 15 Mar, 2003 1 commit
    • c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace. · 6a87d634
      	* c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
      	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
      	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
      	(find_sub_basic_blocks): Likewise.
      	* cgraphunit.c (cgraph_expand_functions): Likewise.
      	* dwarf2out.c (prune_unused_types): Likewise.
      	* expr.c (store_field): Likewise.
      	* genextract.c (print_path): Likewise.
      	* haifa-sched.c (schedule_insn): Likewise.
      	* lcm.c (compute_antinout_edge): Likewise.
      	* loop-unroll.c (decide_peel_once_rolling): Likewise.
      	* ra-colorize.c (ra_colorize_free_all): Likewise.
      	* ra-debug.c (dump_igraph): Likewise.
      	(debug_hard_reg_set): Likewise.
      	* reg-stack.c (reg_to_stack): Likewise.
      	* rtlanal.c (refers_to_regno_p): Likewise.
      	* tracer.c (layout_superblocks): Likewise.
      
      	* cp/tree.c (count_functions): Fix whitespace.
      
      	* f/ste.c (ffeste_R810): Fix whitespace.
      
      From-SVN: r64402
      Roger Sayle committed
  10. 06 Feb, 2003 1 commit
    • i386.c (x86_inter_unit_moves): New variable. · 8f62128d
      	* i386.c (x86_inter_unit_moves): New variable.
      	(ix86_secondary_memory_needed): Fix 64bit case, honor
      	TARGET_INTER_UNIT_MOVES
      	* i386.h (x86_inter_unit_moves): Declare.
      	(TARGET_INTER_UNIT_MOVES): New macro.
      	* i386.md (movsi_1): Cleanup constraints; disable
      	when not doing inter-unit moves.
      	(movsi_1_nointernunit): New.
      	(movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
      	(movdi_1_rex64_nointerunit): New.
      	(mivsf_1): disable when not doing inter-unit moves.
      	(movsf_1_nointerunit): New.
      
      	* basic-block.h (inside_basic_block_p):  Declare.
      	* cfgbuild.c (inside_basic_block_p): Make global.
      	* haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
      	* scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
      	update CFG.
      	(fix_basic_block_boundaries, add_missing_bbs): New.
      	(rank): Use profile.
      	(scheudle_ebbs): Rely on CFG; update coments.
      
      From-SVN: r62477
      Jan Hubicka committed
  11. 18 Jan, 2003 1 commit
    • alias.c: Fix comment typos. · 95bd1dd7
      	* alias.c: Fix comment typos.
      	* basic-block.h: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-pretty-print.h: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* convert.c: Likewise.
      	* cpphash.h: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.h: Likewise.
      	* df.h: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dwarf2.h: Likewise.
      
      From-SVN: r61462
      Kazu Hirata committed
  12. 09 Jan, 2003 1 commit
    • Makefile.in (optabs.o): Add dependency on basic-block.h. · 4a69cf79
      	* Makefile.in (optabs.o): Add dependency on basic-block.h.
      	* basic-block.h (control_flow_insn_p): Fuction was exported.
      	* cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
      	* optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
      	notes only when the region is contained in a single basic block.
      
      From-SVN: r61101
      Josef Zlomek committed
  13. 16 Dec, 2002 1 commit
  14. 11 Oct, 2002 1 commit
    • re PR c/7344 (performance regression on huge case statements) · db655634
      	* calls.c (expand_call): Simplify noreturn call.
      
      	PR c/7344
      	* cfgbuild.c (make_edges): Create edge cache when we do have
      	large jumptable.
      	(do_tablejump): Note size of maximal jumptable.
      	* function.c (prepare_function_start): Zero out size.
      	* function.h (function): Add max_jumptable_ents.
      
      	* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
      
      From-SVN: r58063
      Jan Hubicka committed
  15. 05 Aug, 2002 1 commit
    • Index: ChangeLog · b3426eb9
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* attribs.c: Don't include obstack.h.
      	* builtins.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* loop.c: Likewise.
      	* stmt.c: Likewise.
      
      Index: cp/ChangeLog
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* class.c: Don't include obstack.h.
      	(popclass):
      	* decl2.c: Delete bogus comment.
      	* error.c: Don't include obstack.h.
      	* except.c: Likewise.
      	(dump_type): Correct comment.
      	* method.c: Don't include obstack.h.
      	* tree.c: Likewise.
      
      Index: java/ChangeLog
      2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
      
      	* mangle_name.c: Don't include obstack.h twice.
      	* xref.c: Don't include obstack.h.
      
      From-SVN: r56055
      Geoffrey Keating committed
  16. 19 Jul, 2002 1 commit
    • rtl.def (CODE_LABEL): Remove slot 8. · 0dc36574
      	* rtl.def (CODE_LABEL): Remove slot 8.
      	* rtl.h (struct rtx_def): Document new uses of jump and call fields.
      	(LABEL_ALTERNATE_NAME): Delete.
      	(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
      	* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
      
      	* final.c (output_alternate_entry_point): New.
      	(final_scan_insn): Use it instead of
      	ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
      	of a case label being an alternate entry point.
      
      	* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
      	* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
      	Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
      	(field deleted).
      	* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
      
      	* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
      	LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
      	* doc/tm.texi: Delete documentation of
      	ASM_OUTPUT_ALTERNATE_LABEL_NAME.
      
      From-SVN: r55597
      Zack Weinberg committed
  17. 12 Jun, 2002 1 commit
    • i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether… · 495333a6
      i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to decide whether emit the short opcode.
      
      
      	* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
      	decide whether emit the short opcode.
      	* i386.h (x86_shift1): Declare.
      	(TARGET_SHIFT1): New macro.
      	* i386.c (x86_shift1): New global variable.
      
      	* toplev.c (rest_of_compilation): Call find_basic_block pre-loop unconditionally;
      	make loop to rebuild CFG; kill unnecesary find_basic_block calls;
      	kill compute_bb_for_insn call.
      	* cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
      	* haifa-sched.c (sched_init): Likewise.
      	* ssa-ccp.c (ssa_const_prop): Likewise.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      
      From-SVN: r54552
      Jan Hubicka committed
  18. 11 Jun, 2002 1 commit
  19. 10 Jun, 2002 1 commit
    • cfgrtl.c (create_basic_block_structure): Remove index argument and use last_basic_block++ instead. · 852c6ec7
      2002-06-10  Roger Sayle  <roger@eyesopen.com>
      	    Andreas Jaeger <aj@suse.de>
      
      	* cfgrtl.c (create_basic_block_structure):  Remove index argument
      	and use last_basic_block++ instead.  (create_basic_block): Update.
      	* cfgbuild.c (find_basic_blocks_1): Likewise.
      
      	* cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
      	* haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* ssa-ccp.c (ssa_const_prop): Likewise.
      	* ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
      	* toplev.c (rest_of_compilation): Likewise.
      	* config/ia64/ia64.c (ia64_reorg): Likewise.
      
      Co-Authored-By: Andreas Jaeger <aj@suse.de>
      
      From-SVN: r54477
      Roger Sayle committed
  20. 02 Jun, 2002 1 commit
    • loop.c (emit_prefetch_instructions): Properly place the address computation. · ba4f7968
      
      	* loop.c (emit_prefetch_instructions): Properly place the address computation.
      
      
      	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
      	(set_block_for_insn): Turn into macro.
      	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
      	* cfglayout.c (insn_scopes): Kill.
      	(scope_to_insns_initialize): Do not use insn_scopes.
      	(scope_to_insns_finalize): Likewise.
      	(duplicate_insn_chain): Likewise.
      	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
      	* cfgrtl.c (basic_block_for_insn): Kill.
      	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
      	(create_basic_block_structure): Use reorder_insns.
      	(compute_bb_for_insn): Do not use basic_block_for_insn.
      	(merge_blocks_nomove): Likewise.
      	(update_bb_for_insn): Likewise.
      	(verify_flow_info): Likewise.
      	(set_block_for_insn): Kill.
      	* combine.c (try_combine): Update gen_rtx_INSN call.
      	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
      	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
      	scopes and BBs.
      	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
      	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
      	Clear BB.
      	(emit_insns_after): Simplify.
      	(emit_copy_of_insn_after): Copy scope.
      	* final.c (final_start_function): Lower scopes.
      	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
      	* integrate.c (copy_insn_list): Cope scopes.
      	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
      	* loop.c (loop_optimize): Do not care block notes.
      	* print-rtl.c (print_rtx): Print BB.
      	* recog.c (apply_change_group): Simplify.
      	* rtl.c (copy_rtx): Handle 'B'.
      	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
      	* rtl.h (Field accessors): Update indexes.
      	* sched-ebb.c (schedule_ebbs): Do not lower notes.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* toplev.c (rest_of_compilation): Lower notes.
      	* unroll.c (unroll_loop): Do not care scoping notes.
      	(copy_loop_body): Copy scopes.
      
      From-SVN: r54188
      Jan Hubicka committed
  21. 28 May, 2002 1 commit
    • basic-block.h (last_basic_block): Declare. · bf77398c
      	* basic-block.h (last_basic_block): Declare.
      	(expunge_block_nocompact): Declaration removed.
      	(compact_blocks): Declare.
      	* cfg.c (last_basic_block): New variable.
      	(expunge_block_nocompact): Removed.
      	(expunge_block): Do not compact basic blocks.
      	(compact_blocks): New.
      	* cfganal.c (flow_call_edges_add): Use the fact that bb indices no
      	longer change.
      	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
      	last_basic_block.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
      	real positions of blocks.
      	(delete_unreachable_blocks): Simplified -- quadratic behavior now
      	cannot occur.
      	(cleanup_cfg): Compact blocks.
      	* cfgrtl.c (create_basic_block): Insert basic blocks to the end of
      	basic_block_info varray.
      	(flow_delete_block): Comment update.
      	(back_edge_of_syntactic_loop_p): Modify position check code.
      	(verify_flow_info): Update checking.
      	* flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
      	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
      	(find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
      	indices no longer change.
      	* lcm.c (optimize_mode_switching): Replace n_basic_blocks with
      	last_basic_block.
      	* predict.c (estimate_bb_frequencies): Remove unneccessary code.
      	* profile.c (branch_prob): Compact blocks.
      	* sched-rgn.c (find_rgns): Replace n_basic_blocks with
      	last_basic_block.
      
      From-SVN: r53957
      Zdenek Dvorak committed
  22. 27 May, 2002 1 commit
    • basic-block.h (last_basic_block): Defined as synonym for n_basic_blocks. · d55bc081
      	* basic-block.h (last_basic_block): Defined as synonym for
      	n_basic_blocks.
      	* cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
      	flow_depth_first_order_compute, flow_preorder_transversal_compute,
      	flow_dfs_compute_reverse_init): Replaced relevant occurences of
      	n_basic_blocks with last_basic_block.
      	* cfgbuild.c (make_edges): Likewise.
      	* cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
      	* cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
      	* combine.c (combine_instructions): Likewise.
      	* df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
      	iterative_dataflow_bitmap): Likewise.
      	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
      	calc_idoms, idoms_to_doms): Likewise.
      	* flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
      	Likewise.
      	* gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
      	compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
      	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
      	one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
      	delete_null_pointer_checks, compute_code_hoist_vbeinout,
      	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
      	compute_store_table, build_store_vectors): Likewise.
      	* haifa-sched.c (sched_init): Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
      	pre_edge_lcm, compute_available, compute_nearerout,
      	compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
      	Likewise.
      	* predict.c (estimate_probability, process_note_prediction,
      	note_prediction_to_br_prob): Likewise.
      	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
      	* recog.c (split_all_insns, peephole2_optimize): Likewise.
      	* regrename.c (copyprop_hardreg_forward): Likewise.
      	* resource.c (init_resource_info): Likewise.
      	* sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
      	init_regions, schedule_insns): Likewise.
      	* ssa-ccp.c (ssa_const_prop): Likewise.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      	* ssa.c (compute_dominance_frontiers,
      	compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
      
      	* df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
      	* gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
      	sizes consistently.
      
      From-SVN: r53924
      Zdenek Dvorak committed
  23. 23 May, 2002 1 commit
    • bb-reorder.c (make_reorder_chain, [...]): Use FOR_EACH_BB macros to iterate over basic block chain. · e0082a72
      	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
      	Use FOR_EACH_BB macros to iterate over basic block chain.
      	* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
      	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
      	Likewise.
      	* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
      	find_unreachable_blocks, create_edge_list, verify_edge_list,
      	remove_fake_edges, add_noreturn_fake_exit_edges,
      	flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
      	Likewise.
      	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
      	find_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
      	Likewise.
      	* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
      	Likewise.
      	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
      	Likewise.
      	* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
      	commit_edge_insertions, commit_edge_insertions_watch_calls,
      	print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
      	* combine.c (combine_instructions, reg_dead_at_p): Likewise.
      	* conflict.c (conflict_graph_compute): Likewise.
      	* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
      	df_modified_p, df_refs_unlink, df_dump): Likewise.
      	* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* flow.c (update_life_info, update_life_info_in_dirty_blocks,
      	delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
      	count_or_remove_death_notes): Likewise.
      	* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
      	compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
      	classic_gcse, compute_transp, cprop, compute_pre_data,
      	compute_transpout, invalidate_nonnull_info,
      	delete_null_pointer_checks_1, delete_null_pointer_checks,
      	compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
      	compute_store_table, build_store_vectors, store_motion): Likewise.
      	* global.c (global_conflicts, mark_elimination): Likewise.
      	* graph.c (print_rtl_graph_with_bb): Likewise.
      	* haifa-sched.c (sched_init): Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
      	compute_available, compute_nearerout, compute_rev_insert_delete,
      	optimize_mode_switching): Likewise.
      	* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
      	* predict.c (estimate_probability, note_prediction_to_br_prob,
      	propagate_freq, counts_to_freqs, expensive_function_p,
      	estimate_bb_frequencies): Likewise.
      	* profile.c (instrument_edges, get_exec_counts,
      	compute_branch_probabilities, compute_checksum, branch_prob,
      	find_spanning_tree): Likewise.
      	* recog.c (split_all_insns, peephole2_optimize): Likewise.
      	* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
      	Likewise.
      	* regclass.c (scan_one_insn, regclass): Likewise.
      	* regmove.c (mark_flags_life_zones, regmove_optimize,
      	record_stack_memrefs): Likewise.
      	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
      	* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
      	* resource.c (find_basic_block): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (is_cfg_nonregular, build_control_flow,
      	find_single_block_region, find_rgns, schedule_insns)
      	* sibcall.c (optimize_sibling_and_tail_recursive_call)
      	* ssa-ccp.c (optimize_unexecutable_edges,
      	ssa_ccp_df_delete_unreachable_insns): Likewise.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      	* ssa.c (find_evaluations, compute_dominance_frontiers_1,
      	rename_block, convert_to_ssa, compute_conservative_reg_partition,
      	compute_coalesced_reg_partition, rename_equivalent_regs,
      	convert_from_ssa): Likewise.
      	* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
      	process_for_unwind_directive): Likewise.
      
      	* df.c (FOR_ALL_BBS): Removed.
      	* gcse.c (struct null_pointer_info): Type of current_block field
      	changed.
      	(struct reg_avail_info): Type of last_bb field changed.
      	* config/ia64/ia64.c (block_num): Removed.
      	(need_copy_state): Type changed.
      	(last_block): New.
      
      From-SVN: r53804
      Zdenek Dvorak committed
  24. 22 May, 2002 1 commit
  25. 21 May, 2002 1 commit
    • bb-reorder.c (make_reorder_chain_1): Modified. · f6366fc7
      	* bb-reorder.c (make_reorder_chain_1): Modified.
      	* cfganal.c (can_fallthru, flow_call_edges_add,
      	flow_preorder_transversal_compute): Modified.
      	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
      	find_sub_basic_blocks): Modified.
      	* cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Modified.
      	* cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
      	fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Modified.
      	* cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Modified.
      	* combine.c (this_basic_block): Type changed to basic_block.
      	(combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
      	nonzero_bits, num_sign_bit_copies, get_last_value_validate,
      	get_last_value, distribute_notes, distribute_links): Modified.
      	* final.c (compute_alignments): Modified.
      	* flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Modified.
      	* function.c (thread_prologue_and_epilogue_insns): Modified.
      	* gcse.c (compute_code_hoist_vbeinout): Modified.
      	* global.c (build_insn_chain): Modified.
      	* ifcvt.c (find_if_block, find_cond_trap): Modified.
      	* predict.c (last_basic_block_p, note_prediction_to_br_prob): Modified.
      	* regmove.c (regmove_optimize): Modified.
      	* resource.c (find_basic_block): Modified.
      	* sched-ebb.c (schedule_ebbs): Modified.
      	* ssa-dce.c (find_control_dependence, find_pdom): Modified.
      
      From-SVN: r53695
      Zdenek Dvorak committed
  26. 19 May, 2002 1 commit
    • basic_block.h (struct basic_block_def): Added prev_bb and next_bb fields. · 918ed612
      	* basic_block.h (struct basic_block_def): Added prev_bb and next_bb
      	fields.
      	(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
      	traversing basic block chain.
      	(create_basic_block_structure, create_basic_block): Declaration changed.
      	(link_block, unlink_block): Declare.
      	* cfg.c (entry_exit_blocks): Initialize new fields.
      	(link_block, unlink_block): New.
      	(expunge_block_nocompact): Unlink basic block.
      	(dump_flow_info): Print prev_bb/next_bb fields.
      	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
      	* cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
      	* cfgrtl.c (create_basic_block_structure, create_basic_block,
      	split_block, force_nonfallthru_and_redirect, split_edge): Modified.
      	(verify_flow_info): Check that list agrees with numbering.
      
      From-SVN: r53642
      Zdenek Dvorak committed
  27. 17 May, 2002 1 commit
  28. 16 May, 2002 1 commit
  29. 30 Mar, 2002 1 commit
  30. 22 Dec, 2001 1 commit
  31. 09 Dec, 2001 1 commit
    • ChangeLog.2, [...]: Fix spelling errors. · d6a7951f
      	* ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
      	cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
      	function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
      	config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
      	config/i370/i370.c, config/i386/i386.c,
      	config/i386/i386-interix.h, config/i386/i386.md,
      	config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
      	config/m32r/m32r-protos.h, config/mcore/mcore.h,
      	config/rs6000/rs6000.h, config/sparc/linux64.h,
      	config/sparc/sparc.c, config/v850/v850-protos.h,
      	config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
      	spelling errors.
      
      From-SVN: r47815
      Joseph Myers committed
  32. 03 Dec, 2001 1 commit
    • gcse.c (delete_null_pointer_checks_1): Do not use delelete_list; call… · 9cd56be1
      gcse.c (delete_null_pointer_checks_1): Do not use delelete_list; call purge_dead_edges after removing.
      
      	* gcse.c (delete_null_pointer_checks_1): Do not use delelete_list;
      	call purge_dead_edges after removing.
      	(delete_null_pointer_checks): Do not handle delete_list.
      
      	* cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
      	(count_basic_blocks): ... here.
      	(find_basic_blocks, find_bb_boundaries): Cleanup.
      
      	* stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
      	overflow for types greater then 2 * HOST_WIDE_INT.
      
      	* reload.c (find_reloads): Update the duplicates after swapingg.
      
      From-SVN: r47551
      Jan Hubicka committed
  33. 02 Dec, 2001 1 commit
  34. 20 Oct, 2001 1 commit
    • basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. · b932f770
      	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
      	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
      	Break out from ...
      	(find_sub_basic_blocks): ... here;
      	(find_many_sub_basic_blocks): New.
      	* recog.c (split_all_insns): Update find_sub_basic_blocks call.
      
      	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
      
      	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
      
      	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.
      
      	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
      	* flow.c (update_life_info): Measure time.
      	* c-decl.c: Include timevar.h
      	(c_expand_body): Measure time.
      	* toplev.c (rest_of_compilation): Measure time of mode switching
      	separately.
      	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependancy.
      
      	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
      	(lang_independent_options): Add asynchronous-unwind-tables
      	(toplev_main): flag_asynchronous_unwind_tables implies
      	flag_unwind_tables.
      	* flags.h (flag_asynchronous_unwind_tables): Declare.
      	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
      	flag_asynchronous_unwind_tables.
      	(output_call_frame_info): Likewise.
      	* invoke.texi (-fasynchronous-unwind-tables): Document.
      	* i386.c (optimization_options): Enable
      	flag_asynchronous_unwind_tables.
      
      	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
      	* i386.md (s* expanders): Destination is QImode.
      
      	* toplev.c (rest_of_compilation): Do not call clear_log_links.
      	* rtl.h (clear_log_links): Kill.
      	* flow.c (clear_log_links): Make static; accept blocks parameter;
      	do no clear life info.
      	(update_life_info): Call clear_log_links.
      
      	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
      
      From-SVN: r46374
      Jan Hubicka committed
  35. 11 Oct, 2001 1 commit
    • alias.c: Remove uses of "register" specifier in declarations of arguments and local... · b3694847
      2001-10-10  Stan Shebs  <shebs@apple.com>
      
              * alias.c: Remove uses of "register" specifier in declarations
              of arguments and local variables.
              * c-common.c: Ditto.
              * c-convert.c: Ditto.
              * c-decl.c: Ditto.
              * c-format.c: Ditto.
              * c-semantics.c: Ditto.
              * c-typeck.c: Ditto.
              * caller-save.c: Ditto.
              * calls.c: Ditto.
              * cfg.c: Ditto.
              * cfgbuild.c: Ditto.
              * cfgrtl.c: Ditto.
              * collect2.c: Ditto.
              * combine.c: Ditto.
              * convert.c: Ditto.
              * cppexp.c: Ditto.
              * cppfiles.c: Ditto.
              * cse.c: Ditto.
              * dbxout.c: Ditto.
              * defaults.h: Ditto.
              * df.c: Ditto.
              * dwarf2out.c: Ditto.
              * dwarfout.c: Ditto.
              * emit-rtl.c: Ditto.
              * explow.c: Ditto.
              * expmed.c: Ditto.
              * expr.c: Ditto.
              * final.c: Ditto.
              * fix-header.c: Ditto.
              * floatlib.c: Ditto.
              * flow.c: Ditto.
              * fold-const.c: Ditto.
              * function.c: Ditto.
              * gcc.c: Ditto.
              * gcse.c: Ditto.
              * gen-protos.c: Ditto.
              * genattrtab.c: Ditto.
              * gencheck.c: Ditto.
              * genconfig.c: Ditto.
              * genemit.c: Ditto.
              * genextract.c: Ditto.
              * genflags.c: Ditto.
              * gengenrtl.c: Ditto.
              * genoutput.c: Ditto.
              * genpeep.c: Ditto.
              * genrecog.c: Ditto.
              * gensupport.c: Ditto.
              * global.c: Ditto.
              * gmon.c: Ditto.
              * graph.c: Ditto.
              * haifa-sched.c: Ditto.
              * hard-reg-set.h: Ditto.
              * hash.c: Ditto.
              * integrate.c: Ditto.
              * jump.c: Ditto.
              * lists.c: Ditto.
              * local-alloc.c: Ditto.
              * loop.c: Ditto.
              * mips-tdump.c: Ditto.
              * mips-tfile.c: Ditto.
              * optabs.c: Ditto.
              * prefix.c: Ditto.
              * print-rtl.c: Ditto.
              * read-rtl.c: Ditto.
              * real.c: Ditto.
              * recog.c: Ditto.
              * reg-stack.c: Ditto.
              * regclass.c: Ditto.
              * regmove.c: Ditto.
              * reload.c: Ditto.
              * reload1.c: Ditto.
              * reorg.c: Ditto.
              * resource.c: Ditto.
              * rtl.c: Ditto.
              * rtlanal.c: Ditto.
              * scan.c: Ditto.
              * sched-deps.c: Ditto.
              * sched-rgn.c: Ditto.
              * sdbout.c: Ditto.
              * simplify-rtx.c: Ditto.
              * stmt.c: Ditto.
              * stor-layout.c: Ditto.
              * toplev.c: Ditto.
              * tradcif.y: Ditto.
              * tradcpp.c: Ditto.
              * tree.c: Ditto.
              * unroll.c: Ditto.
              * varasm.c: Ditto.
              * xcoffout.c: Ditto.
      
      From-SVN: r46173
      Stan Shebs committed
  36. 21 Sep, 2001 1 commit
    • basic-block.h (flow_delete_insn, [...]): Kill. · 53c17031
      	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
      	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
      	remove some labels.
      	(flow_delete_insn): This one.
      	(delete_insn_chain): Rename from ...; do not care labels.
      	(flow_delete_insn_chain): ... this one.
      	(flow_delete_block): Remove the insns one BB has been expunged.
      	(merge_blocks_nomove): Likewise.
      	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	* cfgbuild.c (find_basic_block): Likewise.
      	(find_basic_blocks_1): Likewise.
      	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_optimize_cfg): Likewise.
      	* cse.c (delete_trivially_dead_insns): Likewise.
      	* df.c (df_insn_delete): Likewise.
      	* doloop.c (doloop_modify): Use delete_related_insns.
      	* emit-rtl.c (try_split): Likewise.
      	(remove_insn): Update BB boundaries.
      	* expect.c (connect_post_landing_pads): Use delete_related_insns.
      	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
      	updating BB boundaries.
      	(propagate_block_delete_insn): Likewise.
      	(propagate_block_delete_libcall): Likewise.
      	* function.c (delete_handlers): Use delete_related_insns.
      	(thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
      	* genpeep.c (gen_peephole): Use delete_related_insns.
      	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
      	BB boundaries.
      	(find_cond_trap): Likewise.
      	* integrate.c (save_for_inline): Use delete_related_insns.
      	(copy_insn_list): Likewise.
      	* jump.c (pruge_linie_number_notes): Likewise.
      	(duplicate_loop_exit_test): Likewise.
      	(delete_computation): Likewise.
      	(delete_related_insn): Rename from ...; use delete_insn
      	(delete_insn): ... this one.
      	(redirect_jump): Use delete_related_insns.
      	* loop.c (scan_loop): Likewise.
      	(move_movables): Likewise.
      	(find_and_verify_loops): Likewise.
      	(check_dbra_loop): Likewise.
      	* recog.c (peephole2_optimize): Likewise.
      	* reg-stack.c (delete_insn_for_stacker): Remove.
      	(move_for_stack_reg): Use delete_insn.
      	* regmove.c (combine_stack_adjustments_for_block): Likewise.
      	* reload1.c (delete_address_reloads): Use delete_related_insns.
      	(fixup_abnormal_edges): Use delete_insn.
      	* recog.c (emit_delay_sequence): Use delete_related_insns.
      	(delete_from-delay_slot): Likewise.
      	(delete_scheduled_jump): likewise.
      	(optimize_skip): Likewise.
      	(try_merge_delay_insns): Likewise.
      	(full_simple_delay_slots): Likewise.
      	(fill_slots_from_thread): Likewise.
      	(relax_delay_slots): Likewise.
      	(make_return_insns): Likewise.
      	(dbr_schedule): Likewise.
      	* rtl.h (delete_insn): Rename to delete_related_insns.
      	(delete_insn, delete_insn_chain): New prototypes.
      	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
      	by df_insn_delete already.
      	* ssa-dce.c (delete_insn_bb): Use delete_insn.
      	* ssa.c (convert_from_ssa): Use delete_related_insns.
      	* unroll.c (unroll_loop): Likewise.
      	(calculate_giv_inc): Likewise.
      	(copy_loop_body): Likewise.
      
      	* i386-protos.h (ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): Declare.
      	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
      	new static valurables.
      	(x86_64_reg_class): New enum
      	(x86_64_reg_class_name): New array.
      	(classify_argument, examine_argument, construct_container,
      	 merge_classes): New static functions.
      	(optimization_options): Enable flag_omit_frame_pointer and disable
      	flag_pcc_struct_return on 64bit.
      	(ix86_libcall_value, ix86_function_value,
      	ix86_function_arg_regno_p, ix86_function_arg_boundary,
      	ix86_return_in_memory, ix86_function_value): New global functions.
      	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
      	(function_arg_advance): Handle x86_64 passing conventions.
      	(function_arg): Likewise.
      	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
      	(RETURN_IN_MEMORY): Move offline.
      	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
      	(FUNCTION_VALUE_REGNO_P): New macro.
      	(FUNCTION_ARG_REGNO_P): Move offline.
      	(struct ix86_args): Add maybe_vaarg.
      	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
      	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
      
      From-SVN: r45726
      Jan Hubicka committed
  37. 19 Sep, 2001 1 commit
  38. 16 Sep, 2001 1 commit
    • basic-block.h (free_bb_for_insn): Declare. · 3c030e88
      	* basic-block.h (free_bb_for_insn): Declare.
      	* bb-reorder.c (label_for_bb): Use block_label.
      	(emit_jump_to_block_after): Remove.
      	(insert_intra_1): Do not update block_for_insn.
      	(insert_inter_bb_scope_notes): Likewise; update bb->end
      	* cfg.c (free_bb_for_insn): New.
      	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
      	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
      	(commit_one_edge_insertion): Likewise.
      	(commit_one_edge_insertion): Do not update BB boundary.
      	(commit_edge_insertions): Do not call compute_bb_for_insn.
      	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
      	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
      	(merge_blocks_move_successor_nojumps): Likewise.
      	(try_crossjump_to_edge): Do not update block_for_insn.
      	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
      	* df.c (df_pattern_emit_later): Do not update BB boundary.
      	(df_jump_pattern_emit_after): Likewise.
      	(df_insn_move_before): Use emit_insn_before.
      	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
      	 properly.
      	(add_insn_after, add_insn_before, emit_insns_after): Update BB
      	boundaries and basic_block_for_insn.
      	(reorder_insns_nobb): Rename from reorder_insns.
      	(reorder_insns): New.
      	(emit_block_insn_before, emit_block_insn_after): Kill.
      	* flow.c (check_function_return_warnings): Do not call
      	compute_bb_for_insn; Do not free basic_block_for_insn.
      	(attempt_auto_inc): Do not update basic_block_for_insn.
      	* function.c (emit_return_into_block): Likewise;
      	do not update BB boundaries.
      	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
      	(insert_insn_end_bb): Use emit_insn_before; Likewise.
      	(pre_insert_copy_insn): Likewise.
      	(update_ld_motion_notes): Likewise.
      	(insert_insn_start_bb): Likewise.
      	(replace_store_insn): Likewise.
      	* ifcvt.c (noce_process_if_block): Likewise.
      	(if_convert): Do not call compute_bb_for_insn.
      	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
      	Use emit_insn_before and emit_insn_after.
      	* recog.c (split_all_insns): Do not update BB boundaries;
      	Do not call compute_bb_for_insn.
      	(peephole2_optimize): Do not update BB boundaries.
      	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
      	emit_insn_before.
      	(emit_swap_insn): Likewise.
      	(convert_regs_1): Likewise.
      	* reload1.c (reload): Call compute_bb_for_insn.
      	* rtl.h (reorder_insns_nobb): Declare.
      	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
      	* toplev.c (rest_of_compilation): Call free_bb_for_insn
      	at places CFG is invalidated; do not call compute_bb_for_insn.
      
      	* cfg.c (expunge_block): Invalidate BB structure.
      
      	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
      	array.
      
      	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
      
      From-SVN: r45647
      Jan Hubicka committed
  39. 11 Sep, 2001 2 commits
    • basic-block.h (EDGE_CRITICAL): Remove; renumber other flags. · 4262e623
      	* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
      	(EDGE_CRITICAL_P): New predicate.
      	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
      	handling.
      	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
      	(dump_edge_info): Remove "crit".
      	* cfganal.c (mark_critical_edges): Kill.
      	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
      	* cfgcleanup.c (cleanup_cfg): Likewise.
      	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
      	(find_spanning_tree): Likewise.
      	* reg-stack.c (convert_regs_1): Likewise.
      	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
      
      	* basic-block.h (create_basic_block_structure): New.
      	(create_basic_block): Update prototype.
      	(force_nonfallthru): New.
      	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
      	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
      	handle updating of block_for_insn, creating of empty BBs and BBs at
      	the end of INSN chain.
      	(create_basic_block): New function.
      	(split_block): Use create_basic_block.
      	(force_nonfallthru_and_redirect): Break out from ...; cleanup
      	(redirect_edge_and_branch_force): ... here.
      	(force_nonfallthru): New.
      	(split_edge): Rewrite to use force_nonfallthru and create_block.
      	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
      	(find_basic_blocks): Free basic_block_for_insn.
      	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.
      
      	* cfg.c: Fix formating.
      	* cfgcleanup.c: Fix formating.
      	(merge_blocks, tail_recursion_label_p): Return bool.
      	(merge_blocks_move_predecessor_nojumps,
      	 merge_blocks_move_successor_nojumps): Return void.
      
      From-SVN: r45549
      Jan Hubicka committed
    • basic-block.h (cached_make_edge, [...]): New. · 7ded4467
      	* basic-block.h (cached_make_edge, make_single_succ): New.
      	(make_edge): Remove first parameter.
      	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
      	* cfg.c (cached_make_edge): Rename from make_edge; return newly
      	created edge; use obstack allocation.
      	(make_edge, make_single_succ_edge): New.
      	(first_removed_edge): New static variable.
      	(init_flow): Initialize first_removed_edge and n_edges.
      	(clear_edges): Use remove_edge.
      	(flow_delete_block): Likewise.
      	(remove_edge): Add removed edges to the removed edges list.
      	(split_block, redirect_edge_and_branch_force, split_edge):
      	Use make_edge.
      	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
      	(add_noreturn_fake_exit_edges): Likewise.
      	(connect_infinite_loops_to_exit): Liekwise.
      	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
      	Use cached_make_edge.
      	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
      	* profile.c (branch_prob): Update make_edge call.
      	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
      
      From-SVN: r45540
      Jan Hubicka committed