summaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
Commit message (Collapse)AuthorAgeFilesLines
* * fwprop.c (try_fwprop_subst): Use set_unique_reg_notesteven2007-02-111-2/+3
| | | | | | | | | | | | | | | | | to add the REG_EQ* note. * see.c (see_merge_one_use_extension): Likewise. * local-alloc.c (update_equiv_regs): Likewise. Also don't turn REG_EQUAL notes into REG_EQUIV notes if the target register may have more than one set. * function.c (assign_parm_setup_reg): Use set_unique_reg_note. * gcse.c (try_replace_reg): Likewise. * alias.c (init_alias_analysis): Use find_reg_equal_equiv_note. * calls.c (fixup_tail_calls): Likewise. Abort if there is more than one REG_EQUIV note. * reload1.c (gen_reload): Use set_unique_reg_note. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121821 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-22 Paolo Bonzini <bonzini@gnu.org>bonzini2006-12-221-1/+5
| | | | | | | | | | | PR rtl-optimization/29840 * fwprop.c (forward_propagate_into): Reject artificial uses/defs. (fwprop_init): Add DF_HARD_REGS to df_init call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120147 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,kazu2006-12-021-1/+1
| | | | | | | | | | | | | | | | | config/i386/i386.c, config/i386/i386.h, config/mips/mips.h, config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c, config/sh/sh4-300.md, config/spu/spu-builtins.def, config/spu/spu-c.c, config/spu/spu-modes.def, config/spu/spu.c, config/spu/spu.md, config/spu/spu_internals.h, config/spu/vmx2spu.h, fold-const.c, fwprop.c, predict.c, tree-data-ref.h, tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119442 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-19 Andrew Pinski <pinskia@gmail.com>pinskia2006-11-201-8/+4
| | | | | | | | | | | | | | | | PR rtl-opt/29879 * fwprop.c (loops): Remove. (forward_propagate_into): Use current_loops instead of loops. (fwprop_init): Call loop_optimizer_init instead of flow_loops_find. (fwprop_done): Call loop_optimizer_finalize instead of flow_loops_free. (fwprop): Use current_loops instead of loo git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119010 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-14 Paolo Bonzini <bonzini@gnu.org>bonzini2006-11-141-21/+18
| | | | | | | | | | | | | | | | | | | PR rtl-optimization/29798 * fwprop.c (use_killed_between): Check that DEF_INSN dominates TARGET_INSN before any other check. (fwprop_init): Always calculate dominators. (fwprop_done): Always free them. 2006-11-14 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/29798 * gcc.c-torture/execute/pr29798.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118808 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-03 Paolo Bonzini <bonzini@gnu.org>bonzini2006-11-041-0/+1034
Steven Bosscher <stevenb.gcc@gmail.com> * fwprop.c: New file. * Makefile.in: Add fwprop.o. * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New. * passes.c (init_optimization_passes): Schedule forward propagation. * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second parameter. * timevar.def (TV_FWPROP): New. * common.opt (-fforward-propagate): New. * opts.c (decode_options): Enable forward propagation at -O2. * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps. * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr, canon_for_address, table_size): Remove. (new_basic_block, insert, remove_from_table): Remove references to table_size. (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make simplification loop more straightforward by not calling fold_rtx recursively. (equiv_constant): Move here a small part of fold_rtx_subreg, do not call fold_rtx. Call avoid_constant_pool_reference to process MEMs. * recog.c (canonicalize_change_group): New. * recog.h (canonicalize_change_group): New. * doc/invoke.texi (Optimization Options): Document fwprop. * doc/passes.texi (RTL passes): Document fwprop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118475 138bc75d-0d04-0410-961f-82ee72b054a4