aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
AgeCommit message (Collapse)AuthorFilesLines
2004-03-04cfgcleanup.c (thread_jump): Update call of cselib_init.Jan Hubicka1-1/+1
* cfgcleanup.c (thread_jump): Update call of cselib_init. * cselib.c (cselib_record_memory): New static variable. (cselib_lookup_mem, cselib_record_set, cselib_record_sets): Give up on memories when asked for. (cselib_init): Accept new argument. * cselib.h (cselib_init): Update prototype. * gcse.c (local_cprop_pass): Update call of cselib_init. * loop.c (load_mems): Update call of cselib_init. * postreload.c (reload_cse_regs_1): Update call of cselib_init. * sched-deps.c (sched_analyze): Update call of cselib_init. From-SVN: r78917
2004-03-03common.opt: Add description of the new -fgcse-after-reload flag.Mostafa Hagog1-0/+638
2004-03-03 Mostafa Hagog <mustafa@il.ibm.com> * common.opt: Add description of the new -fgcse-after-reload flag. * flags.h (flag_gcse_after_reload): Declaration of global variable. * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p, reg_used_between_after_reload_p, rtx get_avail_load_store_reg, is_jump_table_basic_block, bb_has_well_behaved_predecessors, get_bb_avail_insn, hash_scan_set_after_reload, compute_hash_table_after_reload, eliminate_partially_redundant_loads, gcse_after_reload, get_bb_avail_insn): New functions to implement gcse-after-reload. (gcse_after_reload_main): New function, the main entry point to gcse-after-reload. * rtl.h (gcse_after_reload_main): Declaration of the new function. * opts.c (common_handle_option): Handle the -fgcse-after-reload flag. * toplev.c (flag_gcse_after_reload): Initialization. * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main. * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION, PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning the gcse after reload optimization. * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION, GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning parameters. * doc/invoke.texi: Documentation for the new flag gcse-after-reload. From-SVN: r78842
2004-02-26gcse.c (delete_null_pointer_checks_1): Do not delete CC setter unless HAVE_cc0.Alan Modra1-0/+2
* gcse.c (delete_null_pointer_checks_1): Do not delete CC setter unless HAVE_cc0. From-SVN: r78484
2004-02-24gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not beginning ↵Alan Modra1-1/+1
of block. * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not beginning of block. From-SVN: r78361
2004-01-30gcse.c (bypass_block): Fix a typo in the previous check-in to the file.Kazu Hirata1-1/+1
* gcse.c (bypass_block): Fix a typo in the previous check-in to the file. From-SVN: r76981
2004-01-28gcse.c (bypass_block): Prevent edges to be unified when we are about to emit ↵Jan Hubicka1-0/+15
compenstation code. * gcse.c (bypass_block): Prevent edges to be unified when we are about to emit compenstation code. From-SVN: r76791
2004-01-21alias.c, [...]: Update copyright.Kazu Hirata1-1/+1
* alias.c, basic-block.h, c-common.c, c-common.h, c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. From-SVN: r76302
2004-01-15re PR rtl-optimization/13375 (ICE in gcse.c)Richard Earnshaw1-1/+4
PR optimization/13375 * gcse.c (handle_avail_expr): Just return if the source is not a single set. From-SVN: r75932
2004-01-13re PR c++/13376 (Incorrect dumps of RTL for passes that use ↵Steven Bosscher1-5/+5
current_function_name) PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". From-SVN: r75784
2004-01-06alias.c: Fix comment typos.Kazu Hirata1-1/+1
* alias.c: Fix comment typos. * builtins.c: Likewise. * cfg.c: Likewise. * df.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genrecog.c: Likewise. * gensupport.c: Likewise. * ggc-zone.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * recog.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reorg.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * sched-ebb.c: Likewise. * simplify-rtx.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. From-SVN: r75475
2004-01-03Fix messed up accidental commit.Steven Bosscher1-11/+5
From-SVN: r75368
2003-12-30backport: et-forest.h (et_forest_create, [...]): Declarations removed.Steven Bosscher1-11/+14
Backport from tree-ssa (relevant changes only): 2003-12-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * et-forest.h (et_forest_create, et_forest_delete, et_forest_add_node, et_forest_add_edge, et_forest_remove_node, et_forest_remove_edge, et_forest_parent, et_forest_common_ancestor, et_forest_node_value, et_forest_enumerate_sons): Declarations removed. (struct et_node): New. (et_new_tree, et_free_tree, et_set_father, et_split, et_nca, et_below): Declare. * et-forest.c (struct et_forest_occurrence, struct et_forest, struct et_forest_node): Removed. (et_forest_create, et_forest_delete, et_forest_add_node, et_forest_add_edge, et_forest_remove_node, et_forest_remove_edge, et_forest_parent, et_forest_common_ancestor, et_forest_node_value, et_forest_enumerate_sons, splay, remove_all_occurrences, find_leftmost_node, find_rightmost_node, calculate_value): Removed. (struct et_occ): New. (et_nodes, et_occurences): New. (set_depth, set_depth_add, set_prev, set_next, et_recomp_min, et_check_occ_sanity, et_check_sanity, et_check_tree_sanity, record_path_before_1, record_path_before, check_path_after_1, check_path_after, et_splay, et_new_occ, et_new_tree, et_free_tree, et_set_father, et_split, et_nca, et_below): New. * basic-block.h (struct basic_block_def): New field dom. (struct dominance_info): Type removed. (calculate_dominance_info, free_dominance_info, nearest_common_dominator, set_immediate_dominator, get_immediate_dominator, dominated_by_p, get_dominated_by, add_to_dominance_info, delete_from_dominance_info, recount_dominator, redirect_immediate_dominators, iterate_fix_dominators, verify_dominators): Declarations changed. (enum dom_state): New. (dom_computed): New variable. (first_dom_son, next_dom_son): Declare. * dominance.c (struct dominance_info): Removed. (BB_NODE, SET_BB_NODE): Removed. (calculate_dominance_info, free_dominance_info, nearest_common_dominator, set_immediate_dominator, get_immediate_dominator, dominated_by_p, get_dominated_by, add_to_dominance_info, delete_from_dominance_info, recount_dominator, redirect_immediate_dominators, iterate_fix_dominators, verify_dominators, debug_dominance_info): Work over new datastructure. Access dominance datastructures through CFG. (assign_dfs_numbers, compute_dom_fast_query, first_dom_son, next_dom_son): New. * bt-load.c (dom): Variable removed. (augment_live_range, combine_btr_defs, migrate_btr_def, migrate_btr_defs, branch_target_load_optimize): Updated for the new interface for dominance information. * cfg.c {exit_entry_blocks): Update initializer. * cfglayout.c (copy_bbs): Removed loops argument. Updated for the new interface for dominance information. * cfglayout.h (copy_bbs): Declaration changed. * cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump, flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated for the new interface for dominance information. (flow_loop_scan): Loops argument removed. (flow_loops_free): Don't release dominators. * cfgloop.h (struct cfg): Dom field removed. (flow_loop_scan, loop_split_edge_with, simple_loop_p, just_once_each_iteration_p, split_loop_bb): Declaration changed. * cfgloopanal.c (simple_loop_exit_p, simple_increment, just_once_each_iteration_p, simple_loop_p): Remove loops argument. Updated for the new interface for dominance information. * cfgloopmanip.c (remove_bbs, find_path, create_preheader, split_loop_bb, loopify, duplicate_loop_to_header_edge, force_single_succ_latches, loop_split_edge_with): Ditto. * gcse.c (dominators): Variable removed. (free_code_hoist_mem, compute_code_hoist_data, hoist_code): Updated for the new interface for dominance information. * ifcvt.c (post_dominators): Variable removed. (mark_loop_exit_edges, merge_if_block, find_if_header, find_cond_trap, find_if_case_1, find_if_case_2, if_convert): Updated for the new interface for dominance information. * loop-init.c (rtl_loop_optimizer_init, rtl_loop_optimizer_finalize): Ditto. * loop-unroll.c (decide_peel_simple, decide_peel_once_rolling, decide_peel_completely, decide_unroll_stupid, decide_unroll_constant_iterations, decide_unroll_runtime_iterations): Loops argument removed. Updated for the new interface for dominance information. (unroll_and_peel_loops, peel_loops_completely, unroll_loop_runtime_iterations): Updated for the new interface for dominance information. * loop-unswitch.c (may_unswitch_on_p, unswitch_loops, unswitch_single_loop, unswitch_loop): Updated for the new interface for dominance information. * predict.c (process_note_predictions, process_note_prediction, estimate_probability, note_prediction_to_br_prob): Ditto. * sched-rgn.c (find_rgns, init_regions): Ditto. * toplev.c (rest_of_handle_branch_prob): Free the dominators. From-SVN: r75226
2003-12-21alias.c: Fix comment formatting.Kazu Hirata1-1/+1
* alias.c: Fix comment formatting. * alloc-pool.c: Likewise. * bitmap.c: Likewise. * bitmap.h: Likewise. * bt-load.c: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-decl.c: Likewise. * c-opts.c: Likewise. * c-pretty-print.c: Likewise. * caller-save.c: Likewise. * cfghooks.h: Likewise. * cgraph.c: Likewise. * collect2.c: Likewise. * cppfiles.c: Likewise. * cpplib.h: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * final.c: Likewise. * function.c: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genemit.c: Likewise. * ggc.h: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * libgcc2.h: Likewise. * loop.c: Likewise. * predict.h: Likewise. * unwind-libunwind.c: Likewise. * varasm.c: Likewise. From-SVN: r74907
2003-12-17Fix for IA-64 glibc math test failures.James E Wilson1-1/+34
* Makefile.in (gcse.o): Add $(TREE_H) to dependencies. * gcse.c: Include tree.h. (implicit_set_cond_p): New. (find_implicit_sets): Call it. * gcc.c-torture/execute/ieee/mzero5.c: New. Co-Authored-By: Roger Sayle <roger@eyesopen.com> From-SVN: r74769
2003-12-11basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.Steven Bosscher1-38/+38
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
2003-12-03gcse.c (reg_clear_last_set): New function.Richard Earnshaw1-15/+58
* gcse.c (reg_clear_last_set): New function. (reg_set_info): If data is non-null, treat it as an sbitmap of registers, set the bit for the register being set. (compute_store_table): Allocate last_set_in with xcalloc. Do not memset this array on each iteration. Pass reg_set_in_block[bb->index] to note_stores while computing last_set_in instead of scanning last_set_in after the first pass through the insns. Clear last_set_in using reg_clear_last_set instead of explicitly rescanning after each insn. If checking is enabled, assert that last_set_in is completely zeroed after each bb has been processed. From-SVN: r74224
2003-12-02re PR rtl-optimization/12322 (Significant slowdown when compiling ↵Roger Sayle1-56/+44
computed-goto code in Parrot) PR optimization/12322 * gcse.c (struct ls_expr): Change type of hash_index from int to unsigned int. (hash_expr): Document hash_table_size parameter and wrap long line. (ldst_entry): Calculate expression's hash_index and record in ptr. (trim_ld_motion_mems): Use hash_index to search a single bucket instead of scanning the entire hash_table. Remove the "del" local variable and use the equivalent "expr == 0" instead. Change last to be a pointer to the pointer to the current element, to simplify and speed-up deleting from a linked list. From-SVN: r74144
2003-11-21ChangeLog.7: Fix comment typos.Kazu Hirata1-1/+1
* 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
2003-10-17common.opt: Add description of the new -fgcse-las flag.Mostafa Hagog1-14/+86
2003-10-17 Mostafa Hagog <mustafa@il.ibm.com> * common.opt: Add description of the new -fgcse-las flag. * flags.h (flag_gcse_las): Declaration of global flag_gcse_las. * gcse.c (hash_scan_set): Handle the case of store expression and insert the memory expression to the hash table, this way we make it possible to discover redundant loads after stores and remove them. (pre_insert_copy_insn): moved the call to update_ld_motion_stores, to pre_insert_copies, it is not the correct place to call it after adding stores to be in the available expression hash table. (pre_insert_copies): Added the call to update_ld_motion_stores when one or more copies were inserted. * opts.c (common_handle_option): Handle the -fgcse-las flag. * toplev.c (flag_gcse_las): Initialization of flag_gcse_las. * doc/invoke.tex: Document new -fgcse-las flag. From-SVN: r72612
2003-10-05c-pretty-print.c: Fix comment typos.Kazu Hirata1-1/+1
* c-pretty-print.c: Fix comment typos. * c-pretty-print.h: Likewise. * calls.c: Likewise. * cfgloopmanip.c: Likewise. * cgraphunit.c: Likewise. * cppfiles.c: Likewise. * final.c: Likewise. * function.c: Likewise. * gcov-io.h: Likewise. * gcse.c: Likewise. * genoutput.c: Likewise. * loop.c: Likewise. * postreload.c: Likewise. * reg-stack.c: Likewise. * regmove.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * simplify-rtx.c: Likewise. * tree-inline.c: Likewise. * config/m68hc11/m68hc11.h: Likewise. * config/mmix/mmix.c: Likewise. * config/mn10300/mn10300.md: Likewise. * config/sh/sh.h: Likewise. From-SVN: r72118
2003-09-26re PR rtl-optimization/11741 (internal compiler error at gcse.c:5318)Roger Sayle1-22/+48
PR optimization/11741 * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the appropriate set to match that in hash_scan_insn. Fall back to the original copy method, if we can't validate changing insn. (pre_delete): Only delete instructions that have a single_set, instead of aborting when we encounter an PARALLEL insn with more then one SET. * gcc.dg/20030926-1.c: New test case. From-SVN: r71827
2003-09-15gcse.c (remove_reachable_equiv_notes): New.Zdenek Dvorak1-9/+128
* gcse.c (remove_reachable_equiv_notes): New. (replace_store_insn): Call it. Update antic list. (store_killed_in_insn): Take REG_EQUAL notes into account. (build_store_vectors, delete_store): Add parameter to replace_store_insn call. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r71412
2003-09-14re PR rtl-optimization/10914 (unswitch loops does not work on powerpc)Zdenek Dvorak1-4/+6
2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR optimization/10914 * expr.h (get_condition, canonicalize_condition): Declaration changed. * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition and canonicalize_condition calls. * gcse.c (fis_get_condition, delete_null_pointer_checks_1, delete_null_pointer_checks): Ditto. * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto. * predict.c (estimate_probability, expected_value_to_br_prob): Ditto. * loop.c (check_dbra_loop, get_condition_for_loop): Ditto. (canonicalize_condition, get_condition): Allow to return comparisons of cc mode registers. * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow cc mode registers comparison in condition. From-SVN: r71398
2003-09-06gcse.c (expr_equiv_p): Don't consider anything to be equal to volatile mem.Zdenek Dvorak1-0/+4
* gcse.c (expr_equiv_p): Don't consider anything to be equal to volatile mem. From-SVN: r71140
2003-09-03gcse.c (replace_one_set): New function.Mostafa Hagog1-3/+40
* gcse.c (replace_one_set): New function. (pre_insert_copy_insn): Change the order of copying to make copy propagation discover additional PRE opportunities. From-SVN: r71047
2003-08-26gcse.c (is_too_expensive): New function.Nathan Sidwell1-79/+52
* gcse.c (is_too_expensive): New function. (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it. From-SVN: r70801
2003-08-19builtins.c: Fix comment typos.Kazu Hirata1-2/+2
* 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
2003-08-12* gcse.c (gmalloc): Fix last change.Kaveh R. Ghazi1-1/+1
From-SVN: r70352
2003-08-11gcse.c (gmalloc): Argument is a size_t.Kaveh R. Ghazi1-24/+21
* gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC. (grealloc): Size argument is a size_t. (gcalloc): New function. Use throughout in lieu of gmalloc/memset. From-SVN: r70338
2003-08-05* gcse.c (try_replace_reg): Fix updating of note.Josef Zlomek1-5/+5
From-SVN: r70168
2003-07-30* gcse.c (insert_store): Fix typo in previous patch.Jan Hubicka1-1/+1
From-SVN: r69977
2003-07-30re PR c/10320 (gcc 3.4 gets rid of static inline function that does not get ↵Jan Hubicka1-7/+11
inlined) * gcse.c (insert_store): Ignore fake edges. * c-common.c (flag_vtable_gc): Kill. * c-common.g (flag_vtable_gc): Kill. * c-opts (c_common_handle_option): Kill. * c.opt (fvtable-gc): Kill. * final.c (final_scan_insn): Do not call assemble_vtable_entry. * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill. * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill. * invoke.texi (-ftable-gc): Kill documentation. PR C/10320 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE just because function body is missing. * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs. * class.c (build_vtable_entry_ref): Kill. (build_vtbl_ref_1): Do not call build_vtable_entry_ref. (build_vfn_ref): Do not call build_vtable_entry_ref. * cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill. * cp-tree.h (prepare_assemble_variable): Kill. * cp-decl.c (prepare_assemble_variable): Kill. From-SVN: r69964
2003-07-24re PR rtl-optimization/11631 (zsh miscompilation)Zdenek Dvorak1-0/+1
PR optimization/11631 * gcse.c (store_motion): Connect infinite loops to exit. From-SVN: r69759
2003-07-22alias.c: Fix comment formatting.Kazu Hirata1-1/+1
* alias.c: Fix comment formatting. * c-common.c: Likewise. * c-decl.c: Likewise. * c-opts.c: Likewise. * combine.c: Likewise. * cpplib.c: Likewise. * diagnostic.c: Likewise. * dojump.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcc.c: Likewise. * gcse.c: Likewise. * ggc-page.c: Likewise. * jump.c: Likewise. * loop.c: Likewise. * mips-tfile.c: Likewise. * recog.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. From-SVN: r69689
2003-07-19alias.c [...]: Remove unnecessary casts.Kaveh R. Ghazi1-64/+57
* 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
2003-07-16gcse.c (gcse_constant_p): COMPARE of the same registers is a constant if...Andrew Pinski1-0/+11
2003-05-02 Andrew Pinski <pinskia@physics.uc.edu> * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant if they are not floating point registers. From-SVN: r69471
2003-07-14re PR rtl-optimization/11440 (gcc-3.3.1 miscompiles c++ code with -O2, ↵Franz Sirl1-3/+6
-fno-gcse cures it) 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> PR optimization/11440 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or SIGN_EXTRACT SETs. From-SVN: r69325
2003-07-10gcse.c (load_kills_store, [...]): Keep track of the correct dependency ↵Zdenek Dvorak1-23/+46
function to use. * gcse.c (load_kills_store, find_loads, store_killed_in_insn, store_killed_after, store_killed_before): Keep track of the correct dependency function to use. From-SVN: r69198
2003-07-06gcc.c: Convert prototypes to ISO C90.Andreas Jaeger1-556/+334
* 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
2003-07-05bt-load.c: Fix comment typos.Kazu Hirata1-1/+1
* bt-load.c: Fix comment typos. * c-incpath.c: Likewise. * cfg.c: Likewise. * cfgcleanup.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * diagnostic.h: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * et-forest.h: Likewise. * expr.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * jump.c: Likewise. * langhooks.h: Likewise. * local-alloc.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * ra-build.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * rtl.def: Likewise. * rtlanal.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * simplify-rtx.c: Likewise. * ssa.c: Likewise. * tracer.c: Likewise. * tree.c: Likewise. From-SVN: r68975
2003-07-03gcse.c: Fix misspelling.Matt Kraai1-1/+1
* gcse.c: Fix misspelling. * line-map.c: Likewise. * config/dsp16xx/dsp16xx.h: Likewise. From-SVN: r68865
2003-07-01basic-block.h: Fix comment typos.Kazu Hirata1-8/+8
* basic-block.h: Fix comment typos. * bb-reorder.c: Likewise. * c-format.c: Likewise. * cfgcleanup.c: Likewise. * cfghooks.h: Likewise. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.h: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * dbxout.c: Likewise. * df.c: Likewise. * df.h: Likewise. * diagnostic.c: Likewise. * dwarf2out.c: Likewise. * et-forest.h: Likewise. * flow.c: Likewise. * fold-const.c: Likewise. * function.h: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genautomata.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * loop.c: Likewise. * mips-tfile.c: Likewise. * optabs.c: Likewise. * ra-build.c: Likewise. * ra-colorize.c: Likewise. * ra-rewrite.c: Likewise. * ra.h: Likewise. * regmove.c: Likewise. * reload.c: Likewise. * rtlanal.c: Likewise. * sched-ebb.c: Likewise. * sched-int.h: Likewise. * sched-vis.c: Likewise. * sreal.c: Likewise. * ssa-ccp.c: Likewise. * ssa.c: Likewise. * toplev.c: Likewise. * tree-inline.c: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. From-SVN: r68770
2003-06-28gcse.c (compute_ld_motion_mems): Use INSN_P instead of its definition.Kazu Hirata1-2/+2
* gcse.c (compute_ld_motion_mems): Use INSN_P instead of its definition. (store_killed_in_insn): Likewise. * print-rtl.c (print_rtx): Likewise. * config/frv/frv.c (frv_final_prescan_insn): Likewise. * config/m68hc11/m68hc11.c (dead_register_here): Likewise. (m68hc11_reassign_regs): Likewise. (m68hc11_reorg): Likewise. From-SVN: r68640
2003-06-27gcse.c (expr_equiv_p): Replace expressions that are known to be 0 with 0.Kazu Hirata1-4/+2
* gcse.c (expr_equiv_p): Replace expressions that are known to be 0 with 0. From-SVN: r68601
2003-06-19* gcse.c (store_killed_in_insn): Fix.Zdenek Dvorak1-2/+1
From-SVN: r68230
2003-06-12gcse.c (fis_get_condition): Make it a global function.Kazu Hirata1-2/+1
* gcse.c (fis_get_condition): Make it a global function. * reload1.c (reload_cse_move2add): Detect implicit sets. * rtl.h: Add a prototype for fis_get_condition. From-SVN: r67814
2003-05-21gcse.c (cprop_jump): Make use of REG_EQUAL notes on both setcc and jump, if ↵Roger Sayle1-15/+49
they exist. * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both setcc and jump, if they exist. If substituted instruction fails to validate, store current effort in a REG_EQUAL note. (cprop_insn): Don't attempt further substitutions if the current instruction has been deleted. (local_cprop_pass): Likewise. * jump.c (redirect_jump): Also update REG_EQUAL note, if one is attached to the jump instruction. (invert_jump): Delete REG_EQUAL note on jump, if one exists. Co-Authored-By: Joern Rennecke <joern.rennecke@superh.com> Co-Authored-By: Kazu Hirata <kazu@cs.umass.edu> From-SVN: r67054
2003-04-25re PR rtl-optimization/8705 ([HP-PA] ICE in emit_move_insn_1, at expr.c:3101)John David Anglin1-0/+9
PR opt/8705 * gcse.c (try_replace_reg): On a successful substitution of a constant into a single set, try to simplify the source of the set. * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a constant source. From-SVN: r66060
2003-04-18gcse.c (compute_ld_motion_mems): For MEM destinations...Hans-Peter Nilsson1-10/+15
* gcse.c (compute_ld_motion_mems): For MEM destinations, only consider those to be movable where the source matches want_to_gcse_p. (update_ld_motion_stores): In comment, refer to compute_ld_motion_mems for validity of replacement. From-SVN: r65766
2003-04-07* gcse.c (replace_store_insn): Use single_set.J"orn Rennecke1-1/+1
From-SVN: r65339