Age | Commit message (Collapse) | Author | Files | Lines |
|
License and to point readers at the COPYING3 file and the FSF's license web page.
From-SVN: r126948
|
|
* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
early use validate_unshare_change.
(reload_combine): Likewise.
* recog.c (change_t): New field unshare.
(validate_change_1): Rename from validate_change; add argument unshare.
(validate_change): Turn into wrapper of validate_change_1; update
prototype for bools.
(validate_unshare_change): New.
(confirm_change_group): Unshare changes if asked for; avoid unnecesary
calls of df_insn_rescan.
* recog.h (validate_change): Replace ints by bools.
(validate_unshare_change): Declare.
From-SVN: r126050
|
|
From-SVN: r125624
|
|
2007-03-19 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/30907
* fwprop.c (forward_propagate_into): Never propagate inside a loop.
(fwprop_init): Always call loop_optimizer_initialize.
(fwprop_done): Always call loop_optimizer_finalize.
(fwprop): We always have loop info now.
(gate_fwprop_addr): Remove.
(pass_fwprop_addr): Use gate_fwprop as gate.
PR rtl-optimization/30841
* df-problems.c (df_ru_local_compute, df_rd_local_compute,
df_chain_alloc): Call df_reorganize_refs unconditionally.
* df-scan.c (df_rescan_blocks, df_reorganize_refs): Change
refs_organized to refs_organized_size.
(df_ref_create_structure): Use refs_organized_size instead of
bitmap_size if refs had been organized, and keep refs_organized_size
up-to-date.
* df.h (struct df_ref_info): Change refs_organized to
refs_organized_size.
(DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of
bitmap_size.
From-SVN: r123084
|
|
2007-02-22 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/30841
* fwprop.c (propagate_rtx_1): Accept a VOIDmode replacement address.
From-SVN: r122253
|
|
* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
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.
From-SVN: r121821
|
|
../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory fault(coredump))
2006-12-22 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/29840
* fwprop.c (forward_propagate_into): Reject artificial uses/defs.
(fwprop_init): Add DF_HARD_REGS to df_init call.
From-SVN: r120147
|
|
* builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
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.
From-SVN: r119442
|
|
2006-11-19 Andrew Pinski <pinskia@gmail.com>
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
From-SVN: r119010
|
|
2006-11-14 Paolo Bonzini <bonzini@gnu.org>
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.
From-SVN: r118808
|
|
2006-11-03 Paolo Bonzini <bonzini@gnu.org>
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.
Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com>
From-SVN: r118475
|