Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
* ChangeLog.7: Fix comment typos.
* c-common.c: Likewise.
* c-pretty-print.c: Likewise.
* cgraphunit.c: Likewise.
* et-forest.h: Likewise.
* expr.c: Likewise.
* gcse.c: Likewise.
* genautomata.c: Likewise.
* genrecog.c: Likewise.
* gensupport.c: Likewise.
* ggc-zone.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* loop.c: Likewise.
* optabs.c: Likewise.
* pretty-print.h: Likewise.
* regrename.c: Likewise.
* rtl.h: Likewise.
* sched-rgn.c: Likewise.
* target.h: Likewise.
* value-prof.c: Likewise.
* web.c: Likewise.
From-SVN: r73795
|
|
From-SVN: r72756
|
|
* haifa-sched.c (ok_for_early_schedule): New function.
(early_queue_to_ready): New function.
(schedule_block): Allow early removal of insns from Q.
(schedule_insn): Update INSN_TICK in case of premature
issue.
* common.opt (sched_stalled_insns): New flag.
(sched_stalled_insns_dep): New flag.
* flags.h: Same above flags.
* opts.c: Same as above.
* toplev.c: Same as above.
* target.h (targetm.sched.is_costly_dependence): New
hook.
* target-def.h: Same as above.
* config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
Support new flag -msched-costly-dep.
(DEFAULT_SCHED_COSTLY_DEP): Define.
* config/rs6000/rs6000.c:
(rs6000_is_costly_dependence): New function.
(is_load_insn, is_store_insn): New functions.
(is_load_insn1, is_store_insn1, is_mem_ref): New
functions.
* doc/invoke.texi (-fsched-stalled-insns-dep)
(-fsched-stalled-insns, -msched-costly-dep): Document
options.
* doc/tm.texi (is_costly_dependence): Define new
scheduler target hook.
From-SVN: r72261
|
|
* sched-int.h (sched_info): New field
sched_max_insns_priority.
* sched-rgn.c (init_ready_list): Add invocations to
targetm.sched.adjust_priority.
(sched_max_insns_priority): Init new field.
* sched-ebb.c (sched_max_insns_priority): Init new field.
* haifa-sched.c (set_priorities): Set
sched_info->sched_max_insns_priority.
* config/rs6000/rs6000.h:
(rs6000_sched_restricted_insns_priority_str): Support new
flag -mprioritize-restricted-insns.
(DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
* config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
function.
(rs6000_adjust_priority): Change priority of restricted
insns, using above new function and new flag.
* doc/invoke.texi (-mprioritize-restricted-insns): Document
new option.
From-SVN: r72186
|
|
choose_ready for non-dfa insn scheduling.
2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (schedule_block): Use ready_remove_first instead
of choose_ready for non-dfa insn scheduling.
From-SVN: r71403
|
|
* 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
|
|
* config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
xmalloc/memset.
* config/ia64/ia64.c (ia64_reorg): Likewise.
* conflict.c (conflict_graph_new): Likewise.
* fixinc/fixincl.c (run_compiles): Likewise.
* genattrtab.c (optimize_attrs): Likewise.
* genrecog.c (new_decision): Likewise.
* haifa-sched.c (schedule_block): Likewise.
* hashtable.c (ht_create): Likewise.
From-SVN: r70337
|
|
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
genemit.c genextract.c genoutput.c genrecog.c gensupport.c
ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
postreload.c prefix.c print-tree.c protoize.c ra-build.c
ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
regmove.c regrename.c reload.c reload1.c reorg.c resource.c
sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
casts.
From-SVN: r69587
|
|
* gcc.c: Convert prototypes to ISO C90.
* gcc.h: Likewise.
* gcov-dump.c: Likewise.
* gcov-iov.c: Likewise.
* gcse.c: Likewise.
* genattrtab.h: Likewise.
* ggc.h: Likewise.
* global.c: Likewise.
* graph.c: Likewise.
* graph.h: Likewise.
* hosthooks.h: Likewise.
* hooks.h: Likewise.
* hooks.c: Likewise.
* hashtable.h: Likewise.
* hashtable.c: Likewise.
* haifa-sched.c: Likewise.
* integrate.h: Likewise.
* integrate.c: Likewise.
* input.h: Likewise.
* ifcvt.c: Likewise.
From-SVN: r68995
|
|
cp:
* cp/decl.c, cp/pt.c, cp/search.c, cp/tree.c: Don't use the PTR
macro.
gcc:
* bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
function.c, gcc.c, genoutput.c, gensupport.c, global.c,
haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
the PTR macro.
From-SVN: r68043
|
|
2003-06-13 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/10835
* haifa-sched.c (max_lookahead_tries,
cached_first_cycle_multipass_dfa_lookahead,
cached_issue_rate): New variables.
(max_issue): Check the number of tries.
(choose_ready): Calculate max_lookahead_tries.
(sched_init): Check cached_issue_rate.
From-SVN: r67918
|
|
* 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
|
|
2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (schedule_block): Don't call reorder when sorting
is prohibited.
From-SVN: r63915
|
|
2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
Richard Henderson <rth@redhat.com>
* sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
sched-rgn.c.
(add_forward_dependence): New function prototype.
* sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
sched-init.h.
(CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
them to haifa-sched.c.
* haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
haifa_classify_insn): Move them from sched-rgn.c.
* sched-deps.c (add_dependence): Return flag of creating a new
entry.
(add_forward_dependence): New function.
(compute_forward_dependences): Use the function.
* sched-ebb.c (earliest_block_with_similiar_load): New function.
(add_deps_for_risky_insns): New function.
(schedule_ebb): Call the function.
From-SVN: r63415
|
|
* 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
|
|
the insn.
2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (schedule_insn): Return necessary cycle advance
after issuing the insn.
(rank_for_schedule): Make a insn with /S the highest priority
insn.
(move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
(choose_ready): Check SCHED_GROUP_P.
(schedule_block): Advance cycle after issuing insn if it is
necessary. Don't reorder insns if there is an insn with /S.
(set_priorities): Ignore schedule groups.
* sched-deps.c (remove_dependence, group_leader): Remove the
functions.
(add_dependence): Ignore schedule groups.
(set_sched_group_p): Don't make copy of dependencies from previous
insn of the schedule group. Add anti-dependency to the previous
insn of the schedule group.
(compute_forward_dependences): Ignore schedule groups.
* sched-ebb.c (init_ready_list): Ignore schedule groups.
* sched-rgn.c (init_ready_list): Ditto.
(can_schedule_ready_p): Ditto.
From-SVN: r61983
|
|
* basic-block.h: Fix comment formatting.
* calls.c: Likewise.
* combine.c: Likewise.
* convert.c: Likewise.
* gcov.c: Likewise.
* haifa-sched.c: Likewise.
* libgcc2.c: Likewise.
* loop.c: Likewise.
* profile.c: Likewise.
* system.h: Likewise.
From-SVN: r61478
|
|
2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (move_insn): Restore moving all schedule group.
(set_priorities): Restore taking SCHED_GROUP_P into account.
* sched-deps.c (add_dependence): Restore processing the last group
insn.
(remove_dependence, group_leader): Restore the functions.
(set_sched_group_p): Restore adding dependencies from previous insn
in the group.
(compute_forward_dependences): Restore usage of group_leader.
* sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
account.
* sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
account.
(can_schedule_ready_p): Ditto.
(add_branch_dependences): Restore skipping over the group insns.
From-SVN: r61412
|
|
Merging changes from itanium-sched-branch:
From-SVN: r61132
|
|
From-SVN: r60174
|
|
* ChangeLog.4: Fix typos.
* ChangeLog.6: Likewise.
* FSFChangeLog.10: Likewise.
* genattrtab.c: Fix comment typos.
* haifa-sched.c: Likewise.
* real.c: Likewise.
* tree.h: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/crti.asm: Likewise.
* config/arm/crtn.asm: Likewise.
* config/frv/frv.c: Likewise.
* config/frv/frv.md: Likewise.
* config/h8300/h8300.md: Likewise.
* config/i386/rtemself.h: Likewise.
* config/ia64/unwind-ia64.c: Likewise.
* config/ip2k/ip2k.h: Likewise.
* config/m88k/m88k.c: Likewise.
* config/m88k/m88k.md: Likewise.
* config/mips/sr71k.md: Likewise.
* config/mmix/mmix.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/sh/sh.md: Likewise.
From-SVN: r57614
|
|
* haifa-sched.c: Follow spelling conventions.
* regclass.c: Likewise.
* regrename.c: Likewise.
* config/fp-bit.c: Likewise.
* config/frv/frv.h: Likewise.
* config/m88k/m88k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/rs6000/darwin.h: Likewise.
* config/rs6000/gnu.h: Likewise.
* config/rs6000/linux.h: Likewise.
* config/rs6000/linux64.h: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sparc/ultra1_2.md: Likewise.
From-SVN: r57143
|
|
* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
FOR_EACH_BB_IN_SBITMAP): Remove.
* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
From-SVN: r55685
|
|
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
|
|
last_basic_block++ instead.
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
|
|
* sched-int.h (struct deps): New field libcall_block_tail_insn.
* sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
* sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
is set, then mark the current insn as being part of a libcall
scheduling group.
(sched_analyze): Set and clear libcall_block_tail_insn appropriately.
* haifa-sched.c (schedule_block): Do not count USE or CLOBBER
insns against the issue rate.
From-SVN: r54251
|
|
* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
* final.c (final_scan_insn): Likewise.
* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
* haifa-sched.c (unlink_other_notes): Likeewise.
(reemit_notes): Likewise.
* print-rtl.c (print_rtx): Likewise.
* sched-deps (sched-analyze): Likewise.
* rtl.c (note_insn_name): Likewise.
* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
(RANGE_*): Kill.
From-SVN: r54250
|
|
- * haifa-sched.c (schedule_block): Do not count USE and CLOBBER
- insns against the issue rate.
-
- * sched-deps.c (sched_create_groups_for_libcalls): New function.
- (sched_analyze): Use it.
From-SVN: r54015
|
|
the issue rate.
* haifa-sched.c (schedule_block): Do not count USE and CLOBBER
insns against the issue rate.
* sched-deps.c (sched_create_groups_for_libcalls): New function.
(sched_analyze): Use it.
From-SVN: r54004
|
|
* sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
* haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r53973
|
|
* 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
|
|
over basic block chain.
* 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
|
|
From-SVN: r53537
|
|
From-SVN: r53522
|
|
2002-05-03 David S. Miller <davem@redhat.com>
* haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
no longer needed.
From-SVN: r53136
|
|
2002-05-03 David S. Miller <davem@redhat.com>
Delete cycle display scheduling hook.
* config/ia64/ia64.c (ia64_cycle_display,
TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
(ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
and use emit_insn_before instead of ia64_emit_insn_before.
* config/ia64/ia64.md (unspec usage): Delete cycle display.
(cycle_display): Delete insn pattern.
* config/sparc/sparc.md (unspec usage): Delete cycle display.
(cycle_display): Delete insn pattern.
* config/sparc/sparc.c (sparc_cycle_display,
TARGET_SCHED_CYCLE_DISPLAY): Delete.
* doc/md.texi (cycle_display): Don't mention.
* doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
From-SVN: r53134
|
|
* haifa-sched.c (schedule_insn): Print table of instructions and
reservations.
(sched_block): Do not print ready list at verbosity level 1.
* sched-vis.c (print_insn): Make global.
* sched-ebb.c (ebb_print_insn): Rename from...
(print_insn): ... this one.
* sched-int.h (print_insn): Declare
From-SVN: r53073
|
|
cycle_display.
* haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
emitted by cycle_display.
From-SVN: r53072
|
|
Merging code from dfa-branch:
From-SVN: r52915
|
|
* haifa-sched.c (sched_emit_insn): New.
(schedule_block): Use last_scheduled_insn to track last insn.
* sched-int.h (sched_emit_insn): Prototype.
* config/ia64/ia64.c (last_issued): Remove.
(ia64_variable_issue): Don't set it.
(nop_cycles_until): Use sched_emit_insn.
From-SVN: r50153
|
|
* bitmap.h: Fix comment formatting.
* combine.c: Likewise.
* cppfiles.c: Likewise.
* c-pragma.h: Likewise.
* c-typeck.c: Likewise.
* df.c: Likewise.
* dwarf2out.c: Likewise.
* function.c: Likewise.
* gcc.c: Likewise.
* genattrtab.c: Likewise.
* gthr-win32.h: Likewise.
* haifa-sched.c: Likewise.
* predict.c: Likewise.
* rtlanal.c: Likewise.
* rtl.h: Likewise.
* unwind-dw2-fde.h: Likewise.
* unwind-pe.h: Likewise.
* vmsdbgout.c: Likewise.
From-SVN: r48987
|
|
* cfglayout.c (scope_def, scope_forest_info, forest,
relate_bbs_with_scopes, make_new_scope, build_scope_forest,
remove_scope_notes, insert_intra_before_1, insert_intra_1,
insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
(fixup_reorder_chain): Don't set scope for bb.
(insn_scopes, scope_to_insns_initialize, set_block_levels,
change_scope, scope_to_insns_finalize): New.
(cfg_layout_initialize, cfg_layout_finalize): Update to match.
* cfglayout.h (scope_def, scope): Remove.
(reorder_block_def): Remove scope member.
(scope_to_insns_initialize, scope_to_insns_finalize): Declare.
* haifa-sched.c: Revert reemit_other_notes change.
* sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
Use scope_to_insns_initialize and scope_to_insns_finalize.
* sched-rgn.c (schedule_insns): Likewise.
* gcc.dg/debug-6.c: New.
From-SVN: r48412
|
|
* haifa-sched.c (reemit_other_notes): New.
(schedule_block): Use it.
* sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
* sched-rgn.c (schedule_insns): Likewise.
* cfglayout.c (remove_scope_notes): Handle removing note at
the end of the insn chain.
* function.c (debug_find_var_in_block_tree): New.
* gcc.dg/debug-1.c, gcc.dg/debug-2.c: New.
From-SVN: r48333
|
|
* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
system.h, toplev.c: Fix spelling errors.
From-SVN: r46580
|
|
and local...
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
|
|
* 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
|
|
From-SVN: r45595
|
|
2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def: Undo my patch commited 2001-08-27.
* genattrtab.c: Ditto.
* rtl.h: Ditto.
* sched-int.h: Ditto.
* target-def.h: Ditto.
* target.h: Ditto.
* haifa-sched.c: Ditto.
* sched-rgn.c: Ditto.
* sched-vis.c: Ditto.
* Makefile.in: Ditto.
* doc/md.texi: Ditto.
* doc/tm.texi: Ditto.
* doc/contrib.texi: Ditto.
* doc/gcc.texi: Ditto.
* genattrtab.h: Remove it.
* genautomata.c: Remove it.
* genattr.c: Undo my patch and Richard Henderson's patch commited
2001-08-27.
From-SVN: r45297
|
|
2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
RTL constructions.
* genattr.c (main): New variable num_insn_reservations. Increase
it if there is DEFINE_INSN_RESERVATION. Output automaton based
pipeline hazard recognizer interface.
* genattrtab.h: New file.
* genattrtab.c: Include genattrtab.h.
(attr_printf, check_attr_test, make_internal_attr,
make_numeric_value): Move protypes into genattrtab.h. Define them
as external.
(num_dfa_decls): New global variable.
(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
* genautomata.c: New file.
* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
* sched-int.h: (curr_state): Add the external definition for
automaton pipeline interface.
(haifa_insn_data): Add comments for members blockage and units.
* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
TARGET_SCHED_DFA_POST_CYCLE_INSN,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
macros.
(TARGET_SCHED): Use the new macros.
* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
dfa_bubble): New members in gcc_target.sched.
* haifa-sched.c (insert_schedule_bubbles_p): New variable.
(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
(insn_queue): Redefine it as pointer to array.
(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
INSN_QUEUE_SIZE.
(max_insn_queue_index_macro_value): New variable.
(curr_state, dfa_state_size, ready_try): New varaibles for
automaton interface.
(ready_element, ready_remove, max_issue): New function prototypes
for automaton interface.
(choose_ready): New function prototype.
(insn_unit, blockage_range): Add comments.
(unit_last_insn, unit_tick, unit_n_insns): Define them for case
FUNCTION_UNITS_SIZE == 0.
(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
actual_hazard, potential_hazard): Add comments.
(insn_cost): Use cost -1 as undefined value. Remove
LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
pipeline interface.
(ready_element, ready_remove): New functions for automaton
interface.
(schedule_insn): Add new code for automaton pipeline interface.
(queue_to_ready): Add new code for automaton pipeline interface.
Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
(debug_ready_list): Print newline when the queue is empty.
(max_issue): New function for automaton pipeline interface.
(choose_ready): New function.
(schedule_block): Add new code for automaton pipeline interface.
Print ready list before scheduling each insn.
(sched_init): Add new code for automaton pipeline interface.
Initiate insn cost by -1.
(sched_finish): Free the current automaton state and finalize
automaton pipeline interface.
* sched-rgn.c: Include target.h.
(init_ready_list, new_ready, debug_dependencies): Add new code for
automaton pipeline interface.
* sched-vis.c: Include target.h.
(get_visual_tbl_length): Add code for automaton interface.
(target_units, print_block_visualization): Add comments.
* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
(getruntime.o, genautomata.o): New entries.
(genattrtab.o): Add new dependency file genattrtab.h.
(genattrtab): Add new dependencies. Link it with `libm.a'.
(getruntime.o, hashtab.o): New entries for canadian cross.
* doc/md.texi: Description of automaton based model.
* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
Add comments.
(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
TARGET_SCHED_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_DFA_POST_CYCLE_INSN,
TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
hook descriptions.
(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
MAX_DFA_ISSUE_RATE): New macro descriptions.
* doc/contrib.texi: Add dfa based scheduler contribution.
* doc/gcc.texi: Add more information about genattrtab.
From-SVN: r45202
|