1. 27 Oct, 2014 1 commit
    • ggcplug.c: Shuffle includes to include gcc-plugin.h earlier. · 60393bbc
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* testsuite/gcc.dg/plugin/ggcplug.c: Shuffle includes to include
      	gcc-plugin.h earlier.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-typeck.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* go/go-gcc.cc: Adjust include files.
      	* go/go-lang.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/java-gimplify.c: Adjust include files.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* lto/lto-lang.c: Adjust include files.
      	* lto/lto-object.c: Ditto.
      	* lto/lto-partition.c: Ditto.
      	* lto/lto-symtab.c: Ditto.
      	* lto/lto.c: Ditto.
      
      2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
      
      	* basic-block.h: Remove all includes.
      	(enum profile_status_d, struct control_flow_graph): Move to cfg.h
      	* cfg.h (profile_status_d, struct control_flow_graph): Relocate here.
      	* Makefile.in (GTFILES): Add cfg.h to list.
      	* cgraph.h (symbol_table::create_empty): Move to cgraph.c.
      	* cgraph.c (symbol_table::create_empty): Relocate from cgraph.h.
      	* genconditions.c (write_header): Add predict.h and basic-block.h to
      	lits of includes.
      	* genemit.c (main): Ditto.
      	* genpreds.c (write_insn_preds_c): Ditto.
      	* genrecog.c (write_header): Ditto.
      	* gengtype.c (open_base_files): Add predict.h, basic-block.h, and cfg.h
      	to list of includes.
      	* alias.c: Adjust include files.
      	* asan.c: Ditto.
      	* auto-inc-dec.c: Ditto.
      	* auto-profile.c: Ditto.
      	* bb-reorder.c: Ditto.
      	* bt-load.c: Ditto.
      	* builtins.c: Ditto.
      	* caller-save.c: Ditto.
      	* calls.c: Ditto.
      	* cfg.c: Ditto.
      	* cfganal.c: Ditto.
      	* cfgbuild.c: Ditto.
      	* cfgcleanup.c: Ditto.
      	* cfgexpand.c: Ditto.
      	* cfghooks.c: Ditto.
      	* cfgloop.c: Ditto.
      	* cfgloopanal.c: Ditto.
      	* cfgloopmanip.c: Ditto.
      	* cfgrtl.c: Ditto.
      	* cgraphbuild.c: Ditto.
      	* cgraphclones.c: Ditto.
      	* cgraphunit.c: Ditto.
      	* combine-stack-adj.c: Ditto.
      	* combine.c: Ditto.
      	* compare-elim.c: Ditto.
      	* coverage.c: Ditto.
      	* cprop.c: Ditto.
      	* cse.c: Ditto.
      	* cselib.c: Ditto.
      	* data-streamer-in.c: Ditto.
      	* data-streamer-out.c: Ditto.
      	* data-streamer.c: Ditto.
      	* dce.c: Ditto.
      	* ddg.c: Ditto.
      	* ddg.h: Ditto.
      	* df-core.c: Ditto.
      	* df-problems.c: Ditto.
      	* df-scan.c: Ditto.
      	* df.h: Ditto.
      	* dojump.c: Ditto.
      	* dominance.c: Ditto.
      	* domwalk.c: Ditto.
      	* dse.c: Ditto.
      	* dwarf2cfi.c: Ditto.
      	* emit-rtl.c: Ditto.
      	* et-forest.c: Ditto.
      	* except.c: Ditto.
      	* expmed.c: Ditto.
      	* expr.c: Ditto.
      	* final.c: Ditto.
      	* fold-const.c: Ditto.
      	* function.c: Ditto.
      	* fwprop.c: Ditto.
      	* gcc-plugin.h: Ditto.
      	* gcse.c: Ditto.
      	* generic-match-head.c: Ditto.
      	* ggc-page.c: Ditto.
      	* gimple-builder.c: Ditto.
      	* gimple-expr.c: Ditto.
      	* gimple-fold.c: Ditto.
      	* gimple-iterator.c: Ditto.
      	* gimple-low.c: Ditto.
      	* gimple-match-head.c: Ditto.
      	* gimple-pretty-print.c: Ditto.
      	* gimple-ssa-isolate-paths.c: Ditto.
      	* gimple-ssa-strength-reduction.c: Ditto.
      	* gimple-streamer-in.c: Ditto.
      	* gimple-streamer-out.c: Ditto.
      	* gimple-streamer.h: Ditto.
      	* gimple-walk.c: Ditto.
      	* gimple.c: Ditto.
      	* gimplify-me.c: Ditto.
      	* gimplify.c: Ditto.
      	* graph.c: Ditto.
      	* graphite-blocking.c: Ditto.
      	* graphite-clast-to-gimple.c: Ditto.
      	* graphite-dependences.c: Ditto.
      	* graphite-interchange.c: Ditto.
      	* graphite-isl-ast-to-gimple.c: Ditto.
      	* graphite-optimize-isl.c: Ditto.
      	* graphite-poly.c: Ditto.
      	* graphite-scop-detection.c: Ditto.
      	* graphite-sese-to-poly.c: Ditto.
      	* graphite.c: Ditto.
      	* haifa-sched.c: Ditto.
      	* hw-doloop.c: Ditto.
      	* ifcvt.c: Ditto.
      	* init-regs.c: Ditto.
      	* internal-fn.c: Ditto.
      	* ipa-cp.c: Ditto.
      	* ipa-devirt.c: Ditto.
      	* ipa-icf-gimple.c: Ditto.
      	* ipa-icf.c: Ditto.
      	* ipa-inline-analysis.c: Ditto.
      	* ipa-inline.c: Ditto.
      	* ipa-polymorphic-call.c: Ditto.
      	* ipa-profile.c: Ditto.
      	* ipa-prop.c: Ditto.
      	* ipa-pure-const.c: Ditto.
      	* ipa-reference.c: Ditto.
      	* ipa-split.c: Ditto.
      	* ipa-utils.c: Ditto.
      	* ipa.c: Ditto.
      	* ira-build.c: Ditto.
      	* ira-color.c: Ditto.
      	* ira-conflicts.c: Ditto.
      	* ira-costs.c: Ditto.
      	* ira-emit.c: Ditto.
      	* ira-lives.c: Ditto.
      	* ira.c: Ditto.
      	* jump.c: Ditto.
      	* lcm.c: Ditto.
      	* loop-doloop.c: Ditto.
      	* loop-init.c: Ditto.
      	* loop-invariant.c: Ditto.
      	* loop-iv.c: Ditto.
      	* loop-unroll.c: Ditto.
      	* lower-subreg.c: Ditto.
      	* lra-assigns.c: Ditto.
      	* lra-coalesce.c: Ditto.
      	* lra-constraints.c: Ditto.
      	* lra-eliminations.c: Ditto.
      	* lra-lives.c: Ditto.
      	* lra-spills.c: Ditto.
      	* lra.c: Ditto.
      	* lto-cgraph.c: Ditto.
      	* lto-compress.c: Ditto.
      	* lto-opts.c: Ditto.
      	* lto-section-in.c: Ditto.
      	* lto-section-out.c: Ditto.
      	* lto-streamer-in.c: Ditto.
      	* lto-streamer-out.c: Ditto.
      	* lto-streamer.c: Ditto.
      	* mcf.c: Ditto.
      	* mode-switching.c: Ditto.
      	* modulo-sched.c: Ditto.
      	* omp-low.c: Ditto.
      	* optabs.c: Ditto.
      	* opts-global.c: Ditto.
      	* passes.c: Ditto.
      	* postreload-gcse.c: Ditto.
      	* postreload.c: Ditto.
      	* predict.c: Ditto.
      	* print-rtl.c: Ditto.
      	* profile.c: Ditto.
      	* recog.c: Ditto.
      	* ree.c: Ditto.
      	* reg-stack.c: Ditto.
      	* regcprop.c: Ditto.
      	* regcprop.h: Ditto.
      	* reginfo.c: Ditto.
      	* regrename.c: Ditto.
      	* regstat.c: Ditto.
      	* reload.c: Ditto.
      	* reload1.c: Ditto.
      	* reorg.c: Ditto.
      	* resource.c: Ditto.
      	* rtlanal.c: Ditto.
      	* sched-deps.c: Ditto.
      	* sched-ebb.c: Ditto.
      	* sched-int.h: Ditto.
      	* sched-rgn.c: Ditto.
      	* sched-vis.c: Ditto.
      	* sel-sched-dump.c: Ditto.
      	* sel-sched-ir.c: Ditto.
      	* sel-sched-ir.h: Ditto.
      	* sel-sched.c: Ditto.
      	* sese.c: Ditto.
      	* shrink-wrap.c: Ditto.
      	* stack-ptr-mod.c: Ditto.
      	* stmt.c: Ditto.
      	* store-motion.c: Ditto.
      	* symtab.c: Ditto.
      	* toplev.c: Ditto.
      	* tracer.c: Ditto.
      	* trans-mem.c: Ditto.
      	* tree-affine.c: Ditto.
      	* tree-call-cdce.c: Ditto.
      	* tree-cfg.c: Ditto.
      	* tree-cfgcleanup.c: Ditto.
      	* tree-chrec.c: Ditto.
      	* tree-complex.c: Ditto.
      	* tree-data-ref.c: Ditto.
      	* tree-dfa.c: Ditto.
      	* tree-eh.c: Ditto.
      	* tree-emutls.c: Ditto.
      	* tree-if-conv.c: Ditto.
      	* tree-inline.c: Ditto.
      	* tree-into-ssa.c: Ditto.
      	* tree-loop-distribution.c: Ditto.
      	* tree-nested.c: Ditto.
      	* tree-nrv.c: Ditto.
      	* tree-object-size.c: Ditto.
      	* tree-outof-ssa.c: Ditto.
      	* tree-parloops.c: Ditto.
      	* tree-phinodes.c: Ditto.
      	* tree-predcom.c: Ditto.
      	* tree-pretty-print.c: Ditto.
      	* tree-profile.c: Ditto.
      	* tree-scalar-evolution.c: Ditto.
      	* tree-sra.c: Ditto.
      	* tree-ssa-address.c: Ditto.
      	* tree-ssa-alias.c: Ditto.
      	* tree-ssa-ccp.c: Ditto.
      	* tree-ssa-coalesce.c: Ditto.
      	* tree-ssa-copy.c: Ditto.
      	* tree-ssa-copyrename.c: Ditto.
      	* tree-ssa-dce.c: Ditto.
      	* tree-ssa-dom.c: Ditto.
      	* tree-ssa-dse.c: Ditto.
      	* tree-ssa-forwprop.c: Ditto.
      	* tree-ssa-ifcombine.c: Ditto.
      	* tree-ssa-live.c: Ditto.
      	* tree-ssa-loop-ch.c: Ditto.
      	* tree-ssa-loop-im.c: Ditto.
      	* tree-ssa-loop-ivcanon.c: Ditto.
      	* tree-ssa-loop-ivopts.c: Ditto.
      	* tree-ssa-loop-manip.c: Ditto.
      	* tree-ssa-loop-niter.c: Ditto.
      	* tree-ssa-loop-prefetch.c: Ditto.
      	* tree-ssa-loop-unswitch.c: Ditto.
      	* tree-ssa-loop.c: Ditto.
      	* tree-ssa-math-opts.c: Ditto.
      	* tree-ssa-operands.c: Ditto.
      	* tree-ssa-phiopt.c: Ditto.
      	* tree-ssa-phiprop.c: Ditto.
      	* tree-ssa-pre.c: Ditto.
      	* tree-ssa-propagate.c: Ditto.
      	* tree-ssa-reassoc.c: Ditto.
      	* tree-ssa-sccvn.c: Ditto.
      	* tree-ssa-sink.c: Ditto.
      	* tree-ssa-strlen.c: Ditto.
      	* tree-ssa-structalias.c: Ditto.
      	* tree-ssa-tail-merge.c: Ditto.
      	* tree-ssa-ter.c: Ditto.
      	* tree-ssa-threadedge.c: Ditto.
      	* tree-ssa-threadupdate.c: Ditto.
      	* tree-ssa-uncprop.c: Ditto.
      	* tree-ssa-uninit.c: Ditto.
      	* tree-ssa.c: Ditto.
      	* tree-ssanames.c: Ditto.
      	* tree-stdarg.c: Ditto.
      	* tree-streamer-in.c: Ditto.
      	* tree-streamer-out.c: Ditto.
      	* tree-streamer.c: Ditto.
      	* tree-switch-conversion.c: Ditto.
      	* tree-tailcall.c: Ditto.
      	* tree-vect-data-refs.c: Ditto.
      	* tree-vect-generic.c: Ditto.
      	* tree-vect-loop-manip.c: Ditto.
      	* tree-vect-loop.c: Ditto.
      	* tree-vect-patterns.c: Ditto.
      	* tree-vect-slp.c: Ditto.
      	* tree-vect-stmts.c: Ditto.
      	* tree-vectorizer.c: Ditto.
      	* tree-vrp.c: Ditto.
      	* tree.c: Ditto.
      	* tsan.c: Ditto.
      	* ubsan.c: Ditto.
      	* valtrack.c: Ditto.
      	* valtrack.h: Ditto.
      	* value-prof.c: Ditto.
      	* var-tracking.c: Ditto.
      	* varasm.c: Ditto.
      	* varpool.c: Ditto.
      	* vtable-verify.c: Ditto.
      	* web.c: Ditto.
      	* config/aarch64/aarch64-builtins.c: Ditto.
      	* config/aarch64/aarch64.c: Ditto.
      	* config/alpha/alpha.c: Ditto.
      	* config/arc/arc.c: Ditto.
      	* config/arm/arm.c: Ditto.
      	* config/avr/avr.c: Ditto.
      	* config/bfin/bfin.c: Ditto.
      	* config/c6x/c6x.c: Ditto.
      	* config/cr16/cr16.c: Ditto.
      	* config/cris/cris.c: Ditto.
      	* config/darwin-c.c: Ditto.
      	* config/darwin.c: Ditto.
      	* config/epiphany/epiphany.c: Ditto.
      	* config/epiphany/mode-switch-use.c: Ditto.
      	* config/epiphany/resolve-sw-modes.c: Ditto.
      	* config/fr30/fr30.c: Ditto.
      	* config/frv/frv.c: Ditto.
      	* config/h8300/h8300.c: Ditto.
      	* config/i386/i386.c: Ditto.
      	* config/i386/winnt.c: Ditto.
      	* config/ia64/ia64.c: Ditto.
      	* config/iq2000/iq2000.c: Ditto.
      	* config/lm32/lm32.c: Ditto.
      	* config/m32c/m32c.c: Ditto.
      	* config/m32r/m32r.c: Ditto.
      	* config/m68k/m68k.c: Ditto.
      	* config/mcore/mcore.c: Ditto.
      	* config/mep/mep.c: Ditto.
      	* config/microblaze/microblaze.c: Ditto.
      	* config/mips/mips.c: Ditto.
      	* config/mmix/mmix.c: Ditto.
      	* config/mn10300/mn10300.c: Ditto.
      	* config/moxie/moxie.c: Ditto.
      	* config/msp430/msp430.c: Ditto.
      	* config/nds32/nds32-cost.c: Ditto.
      	* config/nds32/nds32-fp-as-gp.c: Ditto.
      	* config/nds32/nds32-intrinsic.c: Ditto.
      	* config/nds32/nds32-isr.c: Ditto.
      	* config/nds32/nds32-md-auxiliary.c: Ditto.
      	* config/nds32/nds32-memory-manipulation.c: Ditto.
      	* config/nds32/nds32-pipelines-auxiliary.c: Ditto.
      	* config/nds32/nds32-predicates.c: Ditto.
      	* config/nds32/nds32.c: Ditto.
      	* config/nios2/nios2.c: Ditto.
      	* config/pa/pa.c: Ditto.
      	* config/pdp11/pdp11.c: Ditto.
      	* config/rl78/rl78.c: Ditto.
      	* config/rs6000/rs6000.c: Ditto.
      	* config/rx/rx.c: Ditto.
      	* config/s390/s390.c: Ditto.
      	* config/sh/sh-mem.cc: Ditto.
      	* config/sh/sh.c: Ditto.
      	* config/sh/sh_optimize_sett_clrt.cc: Ditto.
      	* config/sh/sh_treg_combine.cc: Ditto.
      	* config/sparc/sparc.c: Ditto.
      	* config/spu/spu.c: Ditto.
      	* config/stormy16/stormy16.c: Ditto.
      	* config/tilegx/tilegx.c: Ditto.
      	* config/tilepro/tilepro.c: Ditto.
      	* config/v850/v850.c: Ditto.
      	* config/vax/vax.c: Ditto.
      	* config/xtensa/xtensa.c: Ditto.
      
      From-SVN: r216735
      Andrew MacLeod committed
  2. 26 Aug, 2014 2 commits
    • Remove DF_REF_INSN scaffolding · b2908ba6
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* df.h (df_dump_insn_problem_function): Strengthen first param of
      	this callback from const_rtx to const rtx_insn *.
      	(struct df_insn_info): Strengthen field "insn" from rtx to
      	rtx_insn *.
      	(DF_REF_INSN): Eliminate this function, reinstating the older
      	macro definition.
      	(df_find_def): Strengthen param 1 from rtx to rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_top): Strengthen param 1 from const_rtx to
      	const rtx_insn *.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(df_rd_simulate_one_insn): Likewise for param 2.
      	(df_word_lr_simulate_defs): Likewise for param 1.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_md_simulate_one_insn): Likewise for param 2.
      	(df_simulate_find_noclobber_defs): Likewise for param 1.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise for param 2.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_uses_create): Likewise for param 2.
      	(df_insn_create_insn_record): Likewise for param 1.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	* rtl.h (remove_death): Likewise for param 2.
      	(print_rtl_with_bb): Strengthen param 2 from const_rtx to
      	const rtx_insn *.
      	* sched-int.h (reemit_notes): Strengthen param from rtx to
      	rtx_insn *.
      	* valtrack.h (propagate_for_debug): Likewise for param 1.
      
      	* cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
      	local "tmp_rtx" from const_rtx to const rtx_insn *.
      	* combine.c (remove_death): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(move_deaths): Likewise for local "where_dead".
      	* cse.c (delete_trivially_dead_insns): Introduce local
      	"bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
      	* df-core.c (df_find_def): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_reg_defined): Likewise.
      	(df_find_use): Likewise.
      	(df_reg_used): Likewise.
      	(df_dump_insn_problem_data): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_dump_insn_top): Likewise.
      	(df_dump_insn_bottom): Likewise.
      	(df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
      	(df_insn_debug_regno): Likewise.
      	(debug_df_insn): Likewise.
      	(DF_REF_INSN): Delete.
      	* df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
      	from rtx to rtx_insn *.
      	(df_chain_insn_top_dump): Strengthen param "insn" from
      	const_rtx to const rtx_insn *.
      	(df_chain_insn_bottom_dump): Likewise.
      	(df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
      	rtx_insn *.
      	(df_word_lr_simulate_uses): Likewise.
      	(df_print_note): Likewise.
      	(df_remove_dead_and_unused_notes): Likewise.
      	(df_set_unused_notes_for_mw): Likewise.
      	(df_set_dead_notes_for_mw): Likewise.
      	(df_create_unused_note): Likewise.
      	(df_simulate_find_defs): Likewise.
      	(df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs): Likewise.
      	(df_simulate_defs): Likewise.
      	(df_simulate_uses): Likewise.
      	(df_simulate_one_insn_backwards): Likewise.
      	(df_simulate_one_insn_forwards): Likewise.
      	(df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_uses_create): Likewise.
      	(df_insn_create_insn_record): Likewise.
      	(df_insn_delete): Likewise.
      	(df_insn_rescan): Likewise.
      	(df_insn_rescan_debug_internal): Likewise.
      	(df_insn_change_bb): Likewise.
      	(df_notes_rescan): Likewise.
      	(df_refs_add_to_chains): Likewise.
      	(df_insn_refs_verify): Likewise.
      	* emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
      	when invoking df_insn_delete.
      	(reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
      	(set_unique_reg_note): Add checked cast.
      	* final.c (cleanup_subreg_operands): Likewise.
      	* gcse.c (update_ld_motion_stores): Likewise, strengthening local
      	"insn" from rtx to rtx_insn *.
      	* haifa-sched.c (reemit_notes): Strengthen param "insn" and local
      	"last" from rtx to rtx_insn *.
      	* ira-emit.c (change_regs_in_insn): New function.
      	(change_loop): Strengthen local "insn" from rtx to rtx_insn *.
      	Invoke change_regs_in_insn rather than change_regs.
      	* ira.c (update_equiv_regs): Strengthen locals "insn",
      	"init_insn", "new_insn" from rtx to rtx_insn *.  Invoke
      	for_each_rtx_in_insn rather than for_each_rtx.
      	* recog.c (confirm_change_group): Add checked casts.
      	(peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
      	Add checked cast.
      	(peep2_fill_buffer): Add checked cast.
      	* rtlanal.c (remove_note): Likewise.
      	* valtrack.c (propagate_for_debug): Strengthen param "insn" and
      	locals "next" "end" from rtx to rtx_insn *.
      
      /
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): DF_REF_INSN is done.
      
      From-SVN: r214548
      David Malcolm committed
    • Various condition-handling calls · 61aa0978
      gcc/
      2014-08-26  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
      	rtx_insn * and param 4 from rtx * to rtx_insn **.
      	(get_condition): Strengthen param 1 from rtx to rtx_insn * and
      	param 2 from rtx * to rtx_insn **.
      
      	* df.h (can_move_insns_across): Strengthen params 1-4 from rtx to
      	rtx_insn * and final param from rtx * to rtx_insn **.
      
      	* cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before"
      	from rtx to rtx_insn *.
      	(try_head_merge_bb): Likewise for both locals named "move_upto".
      	* df-problems.c (can_move_insns_across): Likewise for params
      	"from", "to", "across_from", "across_to" and locals "insn",
      	"next", "max_to".  Strengthen param "pmove_upto" from rtx * to
      	rtx_insn **.
      	* ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest"
      	from rtx to rtx_insn *.
      	(noce_get_alt_condition): Strengthen param "earliest" from rtx *
      	to rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
      	(noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to
      	rtx_insn *.
      	(noce_try_abs): Likewise.
      	(noce_get_condition): Likewise for param "jump".  Strengthen param
      	"earliest" from rtx * to rtx_insn **.
      	(noce_find_if_block): Strengthen local "cond_earliest" from rtx to
      	rtx_insn *.
      	(find_cond_trap): Likewise.
      	(dead_or_predicable): Likewise for local "earliest".
      	* loop-iv.c (check_simple_exit): Likewise for local "at".  Add
      	checked cast.
      	* rtlanal.c (canonicalize_condition): Likewise for param "insn"
      	and local "prev".  Strengthen param "earliest" from rtx * to
      	rtx_insn **.
      	(get_condition): Strengthen param "jump" from rtx to rtx_insn *
      	Strengthen param "earliest" from rtx * to rtx_insn **.
      
      From-SVN: r214542
      David Malcolm committed
  3. 20 Aug, 2014 1 commit
    • df.h (web_entry_base): Replace existing struct web_entry with a new class… · 22e6bd6f
      df.h (web_entry_base): Replace existing struct web_entry with a new class web_entry_base with only the...
      
      2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* df.h (web_entry_base): Replace existing struct web_entry with a
      	new class web_entry_base with only the predecessor member.
      	(unionfind_root): Remove declaration and move to class member.
      	(unionfind_union): Remove declaration and move to friend
      	function.
      	(union_defs): Remove declaration.
      	* web.c (web_entry_base::unionfind_root): Modify to be member
      	function and adjust accessors.
      	(unionfind_union): Modify to be friend function and adjust
      	accessors.
      	(web_entry): New subclass of web_entry_base containing the reg
      	member.
      	(union_match_dups): Modify for struct -> class changes.
      	(union_defs): Likewise.
      	(entry_register): Likewise.
      	(pass_web::execute): Likewise.
      
      From-SVN: r214242
      Bill Schmidt committed
  4. 19 Aug, 2014 1 commit
    • Convert DF_REF_INSN to a function for now · 8020a4d5
      gcc/
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* df-core.c (DF_REF_INSN): New, using a checked cast for now.
      	* df.h (DF_REF_INSN): Convert from a macro to a function, so
      	that we can return an rtx_insn *.
      
      /
      2014-08-19  David Malcolm  <dmalcolm@redhat.com>
      
      	* rtx-classes-status.txt (TODO): Add DF_REF_INSN.
      
      From-SVN: r214160
      David Malcolm committed
  5. 15 Jun, 2014 7 commits
    • df.h (DF_REF_REG_USE_P, [...]): Remove null checks. · 3bb5c996
      gcc/
      	* df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
      
      From-SVN: r211684
      Richard Sandiford committed
    • df.h (df_mw_hardreg, [...]): Add a link pointer. · b512946c
      gcc/
      	* df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
      	(df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
      	lists.
      	(df_scan_bb_info): Likewise artificial_defs and artificial_uses.
      	(DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
      	(FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
      	(FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
      	(FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
      	(df_get_artificial_defs, df_get_artificial_uses)
      	(df_single_def, df_single_use): Update accordingly.
      	(df_refs_chain_dump): Take the first element in a linked list as
      	parameter, rather than a pointer to an array of pointers.
      	* df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
      	* df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
      	(df_chain_create_bb_process_use): Likewise.
      	(df_md_bb_local_compute_process_def): Likewise.
      	* fwprop.c (process_defs, process_uses): Likewise.
      	(register_active_defs, update_uses): Likewise.
      	(forward_propagate_asm): Update for new df_ref linking.
      	* df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
      	(df_null_ref_rec, df_null_mw_rec): Likewise.
      	(df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
      	explicitly.
      	(df_scan_free_bb_info): Remove check for null artificial_defs.
      	(df_install_ref_incremental): Adjust for new df_ref linking.
      	Use a single-element insertion rather than a full sort.
      	(df_ref_chain_delete_du_chain): Take the first element
      	in a linked list as parameter, rather than a pointer to an array of
      	pointers.
      	(df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
      	(df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
      	(df_insn_info_delete): Remove check for null defs and call to
      	df_scan_free_mws_vec.
      	(df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
      	null rather than df_null_*_rec.
      	(df_insn_rescan_debug_internal): Likewise, and update null
      	checks in the same way.  Remove check for null defs.
      	(df_ref_change_reg_with_loc_1): Fix choice of list for defs.
      	Move a single element rather doing a full sort.
      	(df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
      	linking.
      	(df_notes_rescan): Likewise.  Use a merge rather than a full sort.
      	Initialize df_ref and df_mw_hardreg lists to null rather than
      	df_null_*_rec.
      	(df_ref_compare): Take df_refs as parameter, transferring the
      	old interface to...
      	(df_ref_ptr_compare): ...this new function.
      	(df_sort_and_compress_refs): Update accordingly.
      	(df_mw_compare): Take df_mw_hardregs as parameter, transferring the
      	old interface to...
      	(df_mw_ptr_compare): ...this new function.
      	(df_sort_and_compress_mws): Update accordingly.
      	(df_install_refs, df_install_mws): Return a linked list rather than
      	an array of pointers.
      	(df_refs_add_to_chains): Assert that old lists are empty rather
      	than freeing them.
      	(df_insn_refs_verify): Don't handle null defs speciailly.
      	* web.c (union_match_dups): Update for new df_ref linking.
      
      From-SVN: r211683
      Richard Sandiford committed
    • df.h (df_ref_create, [...]): Delete. · 5a474220
      gcc/
      	* df.h (df_ref_create, df_ref_remove): Delete.
      	* df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
      	(df_ref_remove): Likewise.
      
      From-SVN: r211682
      Richard Sandiford committed
    • df.h (df_single_def, [...]): New functions. · 74e59b6c
      gcc/
      	* df.h (df_single_def, df_single_use): New functions.
      	* ira.c (find_moveable_pseudos): Use them.
      
      From-SVN: r211681
      Richard Sandiford committed
    • df.h (FOR_EACH_INSN_INFO_MW): New macro. · fc8e9f58
      gcc/
      	* df.h (FOR_EACH_INSN_INFO_MW): New macro.
      	* df-problems.c (df_note_bb_compute): Use it.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      
      From-SVN: r211680
      Richard Sandiford committed
    • df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros. · 292321a5
      gcc/
      	* df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
      	* cse.c (cse_extended_basic_block): Use them.
      	* dce.c (mark_artificial_use): Likewise.
      	* df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
      	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
      	(df_chain_remove_problem, df_chain_bb_dump): Likewise.
      	(df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
      	(df_simulate_initialize_backwards): Likewise.
      	(df_simulate_finalize_backwards): Likewise.
      	(df_simulate_initialize_forwards): Likewise.
      	(df_md_simulate_artificial_defs_at_top): Likewise.
      	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
      	* regrename.c (init_rename_info): Likewise.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      	(regstat_bb_compute_calls_crossed): Likewise.
      
      From-SVN: r211679
      Richard Sandiford committed
    • df.h (DF_INSN_INFO_MWS, [...]): New macros. · bfac633a
      gcc/
      	* df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
      	(FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
      	(FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
      	* auto-inc-dec.c (find_inc, merge_in_block): Use them.
      	* combine.c (create_log_links): Likewise.
      	* compare-elim.c (find_flags_uses_in_insn): Likewise.
      	(try_eliminate_compare): Likewise.
      	* cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
      	* dce.c (deletable_insn_p, find_call_stack_args): Likewise.
      	(remove_reg_equal_equiv_notes_for_defs): Likewise.
      	(reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
      	(word_dce_process_block, dce_process_block): Likewise.
      	* ddg.c (def_has_ccmode_p): Likewise.
      	* df-core.c (df_bb_regno_first_def_find): Likewise.
      	(df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
      	* df-problems.c (df_rd_simulate_one_insn): Likewise.
      	(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
      	(df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
      	(df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
      	(df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
      	(df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
      	(df_simulate_find_defs, df_simulate_find_uses): Likewise.
      	(df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
      	(df_simulate_uses, df_md_simulate_one_insn): Likewise.
      	* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
      	* fwprop.c (local_ref_killed_between_p): Likewise.
      	(all_uses_available_at, free_load_extend): Likewise.
      	* gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
      	* hw-doloop.c (scan_loop): Likewise.
      	* ifcvt.c (dead_or_predicable): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
      	(process_bb_node_lives): Likewise.
      	* ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
      	(find_moveable_pseudos): Likewise.
      	* loop-invariant.c (check_dependencies, record_uses): Likewise.
      	* recog.c (peep2_find_free_register): Likewise.
      	* ree.c (get_defs): Likewise.
      	* regstat.c (regstat_bb_compute_ri): Likewise.
      	(regstat_bb_compute_calls_crossed): Likewise.
      	* sched-deps.c (find_inc, find_mem): Likewise.
      	* sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
      	(maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
      	* shrink-wrap.c (requires_stack_frame_p): Likewise.
      	(prepare_shrink_wrap): Likewise.
      	* store-motion.c (compute_store_table, build_store_vectors): Likewise.
      	* web.c (union_defs, pass_web::execute): Likewise.
      	* config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
      	(insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
      
      From-SVN: r211678
      Richard Sandiford committed
  6. 17 Jan, 2014 1 commit
    • re PR rtl-optimization/38518 (Excessive compile time with -O3) · 7be64667
      2014-01-17  Richard Biener  <rguenther@suse.de>
      
      	PR rtl-optimization/38518
      	* df.h (df_analyze_loop): Declare.
      	* df-core.c: Include cfgloop.h.
      	(df_analyze_1): Split out main part of df_analyze.
      	(df_analyze): Adjust.
      	(loop_inverted_post_order_compute): New function.
      	(loop_post_order_compute): Likewise.
      	(df_analyze_loop): New function avoiding whole-function
      	postorder computes.
      	* loop-invariant.c (find_defs): Use df_analyze_loop.
      	(find_invariants): Adjust.
      	* loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
      
      From-SVN: r206702
      Richard Biener committed
  7. 02 Jan, 2014 1 commit
  8. 09 Dec, 2013 1 commit
    • Eliminate FOR_ALL_BB macro. · 04a90bec
      gcc/
      	* basic-block.h (FOR_ALL_BB): Eliminate macro.
      
      	* cfg.c (alloc_aux_for_blocks, clear_aux_for_blocks): Replace
      	uses of FOR_ALL_BB with FOR_ALL_BB_FN, making uses of cfun explicit.
      
      	* cfganal.c (inverted_post_order_compute): Likewise.
      	* cfgcleanup.c (try_optimize_cfg): Likewise.
      	* cfgexpand.c (add_scope_conflicts): Likewise.
      	* cfghooks.c (dump_flow_info, account_profile_record): Likewise.
      	* cfgrtl.c (relink_block_chain): Likewise.
      	* dce.c (mark_artificial_uses): Likewise.
      	* df-core.c (df_set_blocks, df_compute_cfg_image, df_dump): Likewise.
      	* df-problems.c (df_lr_verify_solution_start,
      	df_lr_verify_solution_end, df_lr_verify_transfer_functions,
      	df_live_verify_solution_start, df_live_verify_solution_end,
      	df_live_set_all_dirty, df_live_verify_transfer_functions,
      	df_md_local_comput): Likewise.
      	* df-scan.c (df_scan_free_internal, df_scan_alloc)
      	df_reorganize_refs_by_insn, df_scan_verify): Likewise.
      	* dominance.c (compute_dom_fast_query, calculate_dominance_info,
      	free_dominance_info): Likewise.
      	* dse.c (dse_step1, dse_step3, dse_step4, dse_step6): Likewise.
      	* graph.c (draw_cfg_edges): Likewise.
      	* graphite-scop-detection.c (print_graphite_scop_statistics,
      	dot_all_scops_1): Likewise.
      	* graphite.c (print_global_statistics,
      	print_graphite_scop_statistics): Likewise.
      	* ira.c (do_reload): Likewise.
      	* loop-init.c (loop_optimizer_finalize): Likewise.
      	* lto-streamer-in.c (input_function): Likewise.
      	* lto-streamer-out.c (output_function): Likewise.
      	* mcf.c (adjust_cfg_counts): Likewise.
      	* predict.c (estimate_loops): Likewise.
      	* sched-rgn.c (haifa_find_rgns): Likewise.
      	* tree-cfg.c (split_critical_edges): Likewise.
       	* tree-dfa.c (renumber_gimple_stmt_uids): Likewise.
      	* tree-loop-distribution.c (tree_loop_distribution): Likewise.
      	* tree-ssa-pre.c (compute_antic, insert, init_pre): Likewise.
      	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
      	* var-tracking.c (vt_initialize, vt_finalize): Likewise.
      	* vtable-verify.c (vtable_verify_main): Likewise.
      	* web.c (web_main): Likewise.
      
      From-SVN: r205830
      David Malcolm committed
  9. 28 Sep, 2013 1 commit
    • alloc-pool.c, [...]: Add missing whitespace before "(". · c3284718
      gcc/
      	* alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c,
      	bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c,
      	cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c,
      	cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c,
      	combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h,
      	cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c,
      	df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c,
      	dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c,
      	errors.c, except.c, expmed.c, expr.c, file-find.c, final.c,
      	fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c,
      	gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c,
      	genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c,
      	genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c,
      	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
      	gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c,
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c,
      	gimple.h, godump.c, graphite-clast-to-gimple.c,
      	graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c,
      	graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c,
      	hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h,
      	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c,
      	ipa-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c,
      	loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c,
      	lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c,
      	mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c,
      	pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c,
      	predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c,
      	profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c,
      	regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c,
      	reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c,
      	sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c,
      	statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h,
      	system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c,
      	tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h,
      	tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c,
      	tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c,
      	tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
      	tree-ssa-ifcombine.c, tree-ssa-live.c, tree-ssa-loop-ch.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-ssa.c, tree-ssanames.c,
      	tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
      	tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c,
      	tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c,
      	varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing
      	whitespace before "(".
      
      From-SVN: r203004
      Richard Sandiford committed
  10. 22 Mar, 2013 1 commit
    • df.h (df_insn_delete): Adjust prototype. · 80eb8028
      	* df.h (df_insn_delete): Adjust prototype.
      	* emit-rtl.c (remove_insn): Pass a basic block to df_insn_delete
      	and let it decide whether mark the basic block dirty.
      	(set_insn_deleted): Only pass INSN_P insns to df_insn_delete.
      	* df-scan.c (df_insn_info_delete): New helper function, split
      	off from df_insn_delete.
      	(df_scan_free_bb_info): Use it.
      	(df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans):
      	Likewise.
      	(df_insn_delete): Likewise.  Take insn rtx as argument.  Verify
      	that the insn is actually an insn and it has a non-NULL basic block.
      	Do not mark basic block dirty if only deleting a DEBUG_INSN.
      
      From-SVN: r196977
      Steven Bosscher committed
  11. 10 Jan, 2013 1 commit
  12. 14 Oct, 2012 1 commit
    • re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.) · bf744527
      	PR rtl-optimization/38711
      	* df.h (df_get_live_out, df_get_live_in): Make static inline functions.
      	* df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
      	* ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
      	DF_LR_OUT.
      	* ira-build.c (create_bb_allocnos): Likewise.
      	(create_loop_allocnos): Likewise, and use df_get_live_in instead of
      	DF_LR_IN.
      	* ira-emit.c (generate_edge_moves): Likewise.
      	(add_ranges_and_copies): Likewise.
      	* ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
      	DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
      	* ira.c (mark_elimination): Update DF_LR and DF_LIVE.
      	(build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
      	(do_reload): Remove the DF_LIVE problem for -O1.
      
      From-SVN: r192440
      Steven Bosscher committed
  13. 08 Oct, 2012 1 commit
    • bitmap.h (bitmap_and_into): Update prototype. · 7b19209f
      	* bitmap.h (bitmap_and_into): Update prototype.
      	* bitmap.c (bitmap_and_into): Return true if the target bitmap
      	changed, false otherwise.
      
      	* df.h (df_dump_insn_problem_function): New function type.
      	(struct df_problem): Add two functions, to dump just before and
      	just after an insn.
      	(DF_RD_PRUNE_DEAD_DEFS): New changable flag.
      	(df_dump_insn_top, df_dump_insn_bottom): New prototypes.
      	* df-core (df_dump_region): Use dump_bb.
      	(df_dump_bb_problem_data): New function.
      	(df_dump_top, df_dump_bottom): Rewrite using df_dump_bb_problem_data.
      	(df_dump_insn_problem_data): New function.
      	(df_dump_insn_top, df_dump_insn_bottom): New functions.
      	* df-scan.c (problem_SCAN): Add NULL fields for new members.
      	* df-problems.c (df_rd_local_compute): Ignore hard registers if
      	DF_NO_HARD_REGS is in effect.
      	(df_rd_transfer_function): If DF_RD_PRUNE_DEAD_DEFS is in effect,
      	prune reaching defs using the LR problem.
      	(df_rd_start_dump): Fix dumping of DEFs map.
      	(df_rd_dump_defs_set): New function.
      	(df_rd_top_dump, df_rd_bottom_dump): Use it.
      	(problem_RD): Add NULL fields for new members.
      	(problem_LR, problem_LIVE): Likewise.
      	(df_chain_bb_dump): New function.
      	(df_chain_top_dump): Dump only for artificial DEFs and USEs,
      	using df_chain_bb_dump.
      	(df_chain_bottom_dump): Likewise.
      	(df_chain_insn_top_dump, df_chain_insn_bottom_dump): New functions.
      	(problem_CHAIN): Add them as new members.
      	(problem_WORD_LR, problem_NOTE): Add NULL fields for new members.
      	(problem_MD): Likewise.
      	* cfgrtl.c (rtl_dump_bb): Use df_dump_insn_top and df_dump_insn_bottom.
      	(print_rtl_with_bb): Likewise.
      
      	* dce.c (init_dce): Use DF_RD_PRUNE_DEAD_DEFS.
      	* loop-invariant.c (find_defs): Likewise.
      	* loop-iv.c (iv_analysis_loop_init): Likewise.
      	* ree.c (find_and_remove_re): Likewise.
      	* web.c (web_main): Likewise.
      
      From-SVN: r192213
      Steven Bosscher committed
  14. 02 Aug, 2012 1 commit
    • re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243) · 08df6c0d
      PR debug/52983
      * valtrack.h, valtrack.c: New.
      * Makefile.in (VALTRACK_H): New.
      (OBJS): Add valtrack.o.
      (valtrack.o): New.
      (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H.
      * combine.c: Include valtrack.h.
      (make_compound_operation): Publish.
      (cleanup_auto_inc_dec): Move to valtrack.c.
      (struct rtx_subst_pair, propagate_for_debug_subst): Likewise.
      (propagate_for_debug): Likewise.  Add this_basic_block parameter.
      Adjust all callers.
      * cselib.c: Include valtrack.h.
      * dce.c: Likewise.
      * df-problems.c: Likewise.
      (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c.
      (dead_debug_finish, dead_debug_add): Likewise.
      (dead_debug_insert_temp): Likewise.
      * df.h (struct dead_debug_use): Move to valtrack.h.
      (struct dead_debug, enum debug_temp_where): Likewise.
      (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h.
      (dead_debug_finish, dead_debug_add): Likewise.
      (dead_debug_insert_temp): Likewise.
      * rtl.h (make_compound_operation): Declare.
      
      From-SVN: r190061
      Alexandre Oliva committed
  15. 25 Jun, 2012 2 commits
  16. 29 May, 2012 1 commit
    • LANGUAGES: Fix typos. · 073a8998
      	* LANGUAGES: Fix typos.
      	* Makefile.in: Fix typos.
      	* alias.c: Fix typos.
      	* auto-inc-dec.c: Fix typos.
      	* bb-reorder.c: Fix typos.
      	* cfgcleanup.c: Fix typos.
      	* cgraph.c: Fix typos.
      	* cgraph.h: Fix typos.
      	* cgraphunit.c: Fix typos.
      	* collect2-aix.h: Fix typos.
      	* collect2.c: Fix typos.
      	* compare-elim.c: Fix typos.
      	* config/alpha/vms.h: Fix typos.
      	* config/arm/README-interworking: Fix typos.
      	* config/arm/arm.c: Fix typos.
      	* config/arm/iterators.md: Fix typos.
      	* config/arm/vxworks.h: Fix typos.
      	* config/avr/avr.c: Fix typos.
      	* config/avr/avr.h: Fix typos.
      	* config/avr/avr.md: Fix typos.
      	* config/avr/builtins.def: Fix typos.
      	* config/c6x/c6x.c: Fix typos.
      	* config/cr16/cr16.c: Fix typos.
      	* config/cr16/cr16.md: Fix typos.
      	* config/cris/cris.md: Fix typos.
      	* config/darwin.c: Fix typos.
      	* config/darwin.opt: Fix typos.
      	* config/i386/i386-c.c: Fix typos.
      	* config/i386/i386.c: Fix typos.
      	* config/ia64/ia64.c: Fix typos.
      	* config/m68k/cf.md: Fix typos.
      	* config/mep/mep.c: Fix typos.
      	* config/microblaze/microblaze.c: Fix typos.
      	* config/microblaze/microblaze.h: Fix typos.
      	* config/mn10300/mn10300.c: Fix typos.
      	* config/mn10300/mn10300.md: Fix typos.
      	* config/pa/pa.c: Fix typos.
      	* config/picochip/picochip.h: Fix typos.
      	* config/rs6000/a2.md: Fix typos.
      	* config/rs6000/rs6000.c: Fix typos.
      	* config/rs6000/vector.md: Fix typos.
      	* config/rx/rx.md: Fix typos.
      	* config/rx/rx.opt: Fix typos.
      	* config/s390/2097.md: Fix typos.
      	* config/s390/s390.c: Fix typos.
      	* config/s390/s390.h: Fix typos.
      	* config/sh/sh.c: Fix typos.
      	* config/sh/sh.md: Fix typos.
      	* config/sparc/sync.md: Fix typos.
      	* config/spu/spu.c: Fix typos.
      	* config/spu/spu.md: Fix typos.
      	* config/vms/vms.c: Fix typos.
      	* config/vxworks-dummy.h: Fix typos.
      	* config/vxworks.h: Fix typos.
      	* cselib.c: Fix typos.
      	* df-scan.c: Fix typos.
      	* df.h: Fix typos.
      	* doc/extend.texi: Fix typos.
      	* doc/install.texi: Fix typos.
      	* doc/invoke.texi: Fix typos.
      	* doc/md.texi: Fix typos.
      	* doc/plugins.texi: Fix typos.
      	* doc/rtl.texi: Fix typos.
      	* dse.c: Fix typos.
      	* dwarf2asm.c: Fix typos.
      	* dwarf2out.c: Fix typos.
      	* except.h: Fix typos.
      	* expr.c: Fix typos.
      	* fold-const.c: Fix typos.
      	* gcc.c: Fix typos.
      	* gcse.c: Fix typos.
      	* genautomata.c: Fix typos.
      	* gengtype-state.c: Fix typos.
      	* gengtype.c: Fix typos.
      	* genhooks.c: Fix typos.
      	* gimple-fold.c: Fix typos.
      	* gimple-pretty-print.c: Fix typos.
      	* gimple.c: Fix typos.
      	* gimple.h: Fix typos.
      	* gimplify.c: Fix typos.
      	* graphite-interchange.c: Fix typos.
      	* graphite-sese-to-poly.c: Fix typos.
      	* ifcvt.c: Fix typos.
      	* input.c: Fix typos.
      	* ipa-cp.c: Fix typos.
      	* ipa-inline-analysis.c: Fix typos.
      	* ipa-inline-transform.c: Fix typos.
      	* ipa-inline.c: Fix typos.
      	* ipa-pure-const.c: Fix typos.
      	* ipa-ref.h: Fix typos.
      	* ipa-reference.c: Fix typos.
      	* ipa-utils.c: Fix typos.
      	* ipa.c: Fix typos.
      	* ira-emit.c: Fix typos.
      	* ira-lives.c: Fix typos.
      	* lto-streamer.c: Fix typos.
      	* lto-streamer.h: Fix typos.
      	* lto-wrapper.c: Fix typos.
      	* mcf.c: Fix typos.
      	* mode-switching.c: Fix typos.
      	* modulo-sched.c: Fix typos.
      	* plugin.c: Fix typos.
      	* postreload.c: Fix typos.
      	* sched-deps.c: Fix typos.
      	* sel-sched-ir.c: Fix typos.
      	* sel-sched-ir.h: Fix typos.
      	* sel-sched.c: Fix typos.
      	* sese.c: Fix typos.
      	* stor-layout.c: Fix typos.
      	* target-hooks-macros.h: Fix typos.
      	* target.def: Fix typos.
      	* trans-mem.c: Fix typos.
      	* tree-eh.c: Fix typos.
      	* tree-predcom.c: Fix typos.
      	* tree-sra.c: Fix typos.
      	* tree-ssa-address.c: Fix typos.
      	* tree-ssa-loop-ivopts.c: Fix typos.
      	* tree-ssa-loop-niter.c: Fix typos.
      	* tree-ssa-math-opts.c: Fix typos.
      	* tree-ssa-pre.c: Fix typos.
      	* tree-ssa-propagate.c: Fix typos.
      	* tree-ssa-reassoc.c: Fix typos.
      	* tree-ssa-sccvn.c: Fix typos.
      	* tree-ssa-ter.c: Fix typos.
      	* tree-ssa-uninit.c: Fix typos.
      	* tree-ssanames.c: Fix typos.
      	* tree-vect-generic.c: Fix typos.
      	* tree-vect-slp.c: Fix typos.
      	* tree.c: Fix typos.
      	* tree.h: Fix typos.
      	* varasm.c: Fix typos.
      	* varpool.c: Fix typos.
      
      From-SVN: r187959
      Joseph Myers committed
  17. 13 Apr, 2012 1 commit
    • re PR debug/48866 (gcc hangs when -g is set) · 1adbb361
      PR debug/48866
      * df.h (enum debug_temp_where): New.
      (dead_debug_init, dead_debug_finish) Declare.
      (dead_debug_add, dead_debug_insert_temp): Declare.
      (struct dead_debug_use, struct dead_debug): Moved from...
      * df-problems.c: ... here.
      (df_set_unused_notes_for_mw): Bind debug uses of unused regno
      to a debug temp.
      (df_create_unused_note): Likewise.
      (df_set_dead_notes_for_mw): Move comment where it belongs.
      (dead_debug_init): Export.
      (dead_debug_reset_uses): New, factored out of...
      (dead_debug_finish): ...this.  Export.
      (dead_debug_reset): Remove.
      (dead_debug_add): Export.
      (dead_debug_insert_before): Rename to...
      (dead_debug_insert_temp): ... this.  Add where argument.  Export.
      Locate stored value for BEFORE_WITH_VALUE.  Avoid repeat inserts.
      Return insertion count.
      (df_note_bb_compute): Adjust.
      * dce.c (word_dce_process_block): Adjust dead debug uses.
      (dce_process_block): Likewise.
      
      From-SVN: r186422
      Alexandre Oliva committed
  18. 29 Feb, 2012 1 commit
  19. 13 Dec, 2011 1 commit
    • lto-streamer-out.c (write_symbol): Use proper 64-bit host type. · 4ad9a9de
      	* lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
      	* lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
      	* lto-streamer-in.c (lto_read_body): Likewise.
      	(lto_input_toplevel_asms): Likewise.
      	* lto-section-in.c (lto_create_simple_input_block): Likewise.
      	* ipa-inline-analysis.c (inline_read_section): Likewise.
      	* ipa-prop.c (ipa_prop_read_section): Likewise.
      
      	* df.h (DF_NOTE): Fix typo in comment.
      lto/
      	* lto.h (lto_parse_hex): Delete.
      	* lto.c (lto_read_decls): Use 'int' for offsets.
      	(lto_parse_hex): Make static and return proper 64-bit host type.
      	(lto_resolution_read): Use proper 64-bit host type.
      
      From-SVN: r182310
      Eric Botcazou committed
  20. 14 Dec, 2010 1 commit
    • re PR rtl-optimization/44374 (Hoist same instructions in different branches) · 4ec5d4f5
      gcc/
      	PR rtl-optimization/44374
      	Reapply patch with fixes.
      	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
      	* df-core.c (df_set_bb_dirty): Set it.
      	* ifcvt.c (find_memory): Remove function.
      	(dead_or_predicable): Use can_move_insns_across.
      	* df.h (can_move_insns_across): Declare function.
      	* cfgcleanup.c (block_was_dirty): New static variable.
      	(flow_find_head_matching_sequence): Test for epilogue notes.
      	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
      	than df_get_bb_dirty.
      	(try_head_merge_bb): New static function.
      	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
      	is set.
      	* df-problems.c: Include "target.h"
      	(df_simulate_find_uses): New static function.
      	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
      	(find_memory, find_memory_store): New static functions.
      	(can_move_insns_across): New function.
      	* Makefile.in (df-problems.o): Update dependencies.
      
      gcc/testsuite/
      	PR rtl-optimization/44374
      	Reapply patch with fixes.
      	* gcc.target/arm/headmerge-1.c: New test.
      	* gcc.target/arm/headmerge-2.c: New test.
      	* gcc.target/i386/headmerge-1.c: New test.
      	* gcc.target/i386/headmerge-2.c: New test.
      
      From-SVN: r167779
      Bernd Schmidt committed
  21. 22 Nov, 2010 1 commit
    • re PR bootstrap/44970 (Revision 162270 failed to bootstrap) · dc007c1f
      2010-11-22  Paolo Bonzini<bonzini@gnu.org>
      
      	PR bootstrap/44970
      	* Makefile.in (fwprop.o) Add sparseset.h.
      	* fwprop.c: Include sparseset.h
      	(struct find_occurrence_data, find_occurrence_callback,
      	find_occurrence): Remove.
      	(active_defs, active_defs_check, register_active_defs,
      	update_df_init, update_uses): New.
      	(update_df): Rewrite.
      	(try_fwprop_subst, forward_propagate_asm): Add calls to
      	update_df_init and update_df.
      	(fwprop_init): Allocate active_defs and active_defs_check.
      	(fwprop_done): Free them.
      	(fwprop, fwprop_addr): Adjust comments.
      	* df.h (df_uses_create): Declare.
      	* df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
      	(df_ref_create): Return result of df_ref_create_structure directly.
      	(df_ref_create_structure): Call df_install_ref_incremental when
      	no collection_rec is passed.
      	(df_ref_record): Do not create multiword hard reg info when no
      	collection_rec is passed.
      	(df_uses_create): New.
      
      From-SVN: r167038
      Paolo Bonzini committed
  22. 13 Nov, 2010 1 commit
  23. 03 Nov, 2010 1 commit
    • Revert revision 164552. · 5554928d
      gcc/
      
      2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/45865
      	* Makefile.in (df-problems.o): Revert revision 164552.
      	* basic-block.h (enum bb_flags): Likewise.
      	* cfgcleanup.c (block_was_dirty): Likewise.
      	(try_forward_edges): Likewise.
      	(try_crossjump_bb): Likewise.
      	(try_head_merge_bb): Likewise.
      	(try_optimize_cfg): Likewise.
      	(cleanup_cfg): Likewise.
      	* df-core.c (df_set_bb_dirty): Likewise.
      	* df-problems.c: Likewise.
      	(df_simulate_find_uses): Likewise.
      	(MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
      	(find_memory, find_memory_store): Likewise.
      	(can_move_insns_across): Likewise.
      	* df.h (can_move_insns_across): Likewise.
      	* ifcvt.c (find_memory): Likewise.
      	(dead_or_predicable): Likewise.
      
      gcc/testsuite/
      
      2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/45865
      	* gcc.dg/pr45865.c: New.
      	* gcc.dg/torture/pr45865.c: Likewise.
      
      	* gcc.target/arm/headmerge-1.c: Revert revision 164552.
      	* gcc.target/arm/headmerge-2.c: Likewise.
      	* gcc.target/i386/headmerge-1.c: Likewise.
      	* gcc.target/i386/headmerge-2.c: Likewise.
      
      From-SVN: r166259
      H.J. Lu committed
  24. 23 Sep, 2010 1 commit
    • re PR rtl-optimization/44374 (Hoist same instructions in different branches) · 3c3bd471
      	PR rtl-optimization/44374
      	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
      	* df-core.c (df_set_bb_dirty): Set it.
      	* ifcvt.c (find_memory): Remove function.
      	(dead_or_predicable): Use can_move_insns_across.
      	* df.h (can_move_insns_across): Declare function.
      	* cfgcleanup.c (block_was_dirty): New static variable.
      	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
      	than df_get_bb_dirty.
      	(try_head_merge_bb): New static function.
      	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
      	is set.
      	* df-problems.c: Include "target.h"
      	(df_simulate_find_uses): New static function.
      	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
      	(find_memory, find_memory_store): New static functions.
      	(can_move_insns_across): New function.
      	* Makefile.in (df-problems.o): Update dependencies.
      
      testsuite/
      	PR rtl-optimization/44374
      	* gcc.target/arm/headmerge-1.c: New test.
      	* gcc.target/arm/headmerge-2.c: New test.
      	* gcc.target/i386/headmerge-1.c: New test.
      	* gcc.target/i386/headmerge-2.c: New test.
      
      From-SVN: r164552
      Bernd Schmidt committed
  25. 04 Sep, 2010 1 commit
    • df.h (enum df_ref_class): Remove DF_REF_EXTRACT. · 502ef838
      2010-09-04  Paolo Bonzini  <bonzini@gnu.org>
      
      	* df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
      	(struct df_extract_ref): Remove.
      	(union df_ref_d): Remove extract_ref member.
      	(df_ref_create): Remove last three arguments.
      	(DF_REF_LOC): Remove DF_REF_EXTRACT case.
      	* df-scan.c (df_ref_record): Remove last three arguments, do not
      	pass them to df_ref_create_structure.
      	(df_uses_record): Remove first and last three arguments.  Replace
      	first argument with DF_REF_REGULAR, adjust calls to remove the
      	width, offset and mode.  Always call recursively on the second
      	and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
      	(df_ref_create_structure): Remove first argument.
      	(struct df_scan_problem_data): Remove ref_extract_pool.
      	(df_scan_free_internal): Do not free it.
      	(df_scan_alloc): Do not allocate it.
      	(df_ref_create): Remove last three arguments, do not pass them to
      	df_ref_create_structure.
      	(df_free_ref): Remove DF_REF_EXTRACT case.
      	(df_notes_rescan): Adjust call to df_uses_record.
      	(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
      	Remove DF_REF_EXTRACT case.
      	(df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
      	Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
      	and SUBREG definitions.
      	(df_get_conditional_uses): Remove references to width/offset/mode,
      	adjust call to df_ref_create_structure.
      	(df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
      	df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
      	calls to df_uses_record and df_ref_record.
      	* fwprop.c (update_df): Remove references to width/offset/mode,
      	adjust call to df_ref_create.
      
      From-SVN: r163854
      Paolo Bonzini committed
  26. 29 Jul, 2010 1 commit
    • re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness) · 8d074192
      	PR rtl-optimization/42575
      	* dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
      	Argument AU removed.  All callers changed.  Ignore artificial refs.
      	Use return value of df_word_lr_simulate_defs to decide whether an insn
      	is necessary.
      	(fast_dce): Rename arg to WORD_LEVEL.
      	(run_word_dce): Renamed from rest_of_handle_fast_byte_dce.  No longer
      	static.
      	(pass_fast_rtl_byte_dce): Delete.
      	* dce.h (run_word_dce): Declare.
      	* df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
      	All callers changed.  Simplify code to only deal with two-word regs.
      	* df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
      	(DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
      	(DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
      	(DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
      	(struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
      	(df_word_lr_mark_ref): Declare.
      	(df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
      	df_word_lr_simulate_uses): Declare or rename from byte variants.
      	(df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
      	df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
      	declarations.
      	(df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
      	(enum df_mm): Delete.
      	* df-byte-scan.c: Delete file.
      	* df-problems.c (df_word_lr_problem_data): Renamed from
      	df_byte_lr_problem_data, all members deleted except for
      	WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS.  Uses changed.
      	(df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
      	df_byte_lr_get_regno_len, df_byte_lr_check_regs,
      	df_byte_lr_confluence_0): Delete functions.
      	(df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
      	callers changed.
      	(df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
      	Don't initialize members that were deleted, don't try to discover data
      	about registers.  Ignore hard regs.
      	(df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
      	(df_word_lr_mark_ref): New function.
      	(df_word_lr_bb_local_compute): Renamed from
      	df_byte_bb_lr_local_compute; all callers changed.  Use
      	df_word_lr_mark_ref.  Assert that artificial refs don't include
      	pseudos.  Ignore hard registers.
      	(df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
      	Assert that exit block uses don't contain pseudos.
      	(df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
      	(df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
      	callers changed.  Ignore hard regs.
      	(df_word_lr_transfer_function): Renamed from
      	df_byte_lr_transfer_function; all callers changed.
      	(df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
      	(df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
      	changed.
      	(df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
      	callers changed.
      	(problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
      	confluence operator 0 set to NULL.
      	(df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
      	callers changed.
      	(df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
      	Return bool, true if bitmap changed or insn otherwise necessary.
      	All callers changed.  Simplify using df_word_lr_mark_ref.
      	(df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
      	all callers changed.  Simplify using df_word_lr_mark_ref.
      	* lower-subreg.c: Include "dce.h"
      	(decompose_multiword_subregs): Call run_word_dce if df available.
      	* Makefile.in (lower-subreg.o): Adjust dependencies.
      	(df-byte-scan.o): Delete.
      	* timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
      
      From-SVN: r162678
      Bernd Schmidt committed
  27. 23 Jun, 2010 1 commit
  28. 22 Jun, 2010 2 commits
  29. 12 Jun, 2010 1 commit
    • df-core.c (df_clear_bb_info): New function. · e285df08
      	* df-core.c (df_clear_bb_info): New function.
      	(df_set_blocks): bb_info is always allocated.
      	(df_get_bb_info): Use block_info_elt_size.
      	(df_set_bb_info): Likewise.
      	(df_compact_blocks): Update for new block_info.
      	(grow_bb_info): New function.
      	* df-problems.c (df_grow_bb_info): Move to df-core.c
      	(df_rd_set_bb_info): Remove.
      	(df_rd_free_bb_info): Do not free block pool.
      	(df_rd_alloc): Do not create pool, use check for
      	obstack presence instead of NULL pointer for new blocks.
      	(df_rd_free): DO not free alloc pool; clear block_info.
      	(problem_RD): Add size of block info structure.
      	(df_lr_set_bb_info): Remove.
      	(df_lr_free_bb_info): Do not free block pool.
      	(df_lr_alloc): Do not create pool, use check for
      	obstack presence instead of NULL pointer for new blocks.
      	(df_lr_free): DO not free alloc pool; clear block_info.
      	(problem_LR): Add size of block info structure.
      	(df_live_set_bb_info): Remove.
      	(df_live_free_bb_info): Do not free block pool.
      	(df_live_alloc): Do not create pool, use check for
      	obstack presence instead of NULL pointer for new blocks.
      	(df_live_free): DO not free alloc pool; clear block_info.
      	(problem_LIVE): Add size of block info structure.
      	(problem_CHAIN): Add size of block info structure.
      	(df_byte_lr_set_bb_info): Remove.
      	(df_byte_lr_free_bb_info): Do not free block pool.
      	(df_byte_lr_alloc): Do not create pool, use check for
      	obstack presence instead of NULL pointer for new blocks.
      	(df_byte_lr_free): DO not free alloc pool; clear block_info.
      	(problem_BYTE_LR): Add size of block info structure.
      	(problem_NOTE): Add size of block info structure.
      	(df_byte_MD_set_bb_info): Remove.
      	(df_byte_MD_free_bb_info): Do not free block pool.
      	(df_byte_MD_alloc): Do not create pool, use check for
      	obstack presence instead of NULL pointer for new blocks.
      	(df_byte_MD_free): DO not free alloc pool; clear block_info.
      	(problem_BD): Add size of block info structure.
      	* df-scan.c (df_scan_free_internal): Free block pool.
      	(df_scan_set_bb_info): Remove.
      	(df_scan_free_bb_info): Check for artificial_defs instead
      	of bb_info being non-NULL.
      	(df_scan_alloc): DO not create df_scan_block pool.
      	(problem_SCAN): Set size of block info.
      	(df_bb_refs_record): Do not allocate bb_info.
      	* df.h (df_problem): Add block_info_elt_size.
      	(struct dataflow): Change block_info to void *.
      	(df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
      	df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
      	in-line structures.
      
      From-SVN: r160660
      Jan Hubicka committed
  30. 06 Jun, 2010 1 commit
    • df-core.c (df_set_blocks): Use bitmap_head instead of bitmap. · a7e3698d
      	* df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
      	(df_compact_blocks): Likewise.
      	* df.h (struct df): Turn hardware_regs_used,
      	regular_block_artificial_uses, eh_block_artificial_uses,
      	insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
      	bitmap_head.
      	* df-problems.c (df_lr_local_compute, df_lr_confluence_0,
      	df_byte_lr_alloc, df_simulate_fixup_sets): Update.
      	* df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
      	df_scan_blocks, df_insn_delete, df_insn_rescan,
      	df_insn_rescan_debug_internal, df_insn_rescan_all,
      	df_process_deferred_rescans, df_process_deferred_rescans,
      	df_notes_rescan, df_get_call_refs, df_get_call_refs,
      	regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
      	df_record_entry_block_defs, df_record_exit_block_uses,
      	df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
      	df_scan_verify): Update.
      
      From-SVN: r160348
      Jan Hubicka committed
  31. 04 Jun, 2010 1 commit
    • df.h (df_rd_bb_info, [...]): Embedd bitmap_head into the structure. · b33a91c9
      	* df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
      	df_byte_lr_bb_info): Embedd bitmap_head into the structure.
      	(DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
      	DF_BYTE_LR_OUT): Update for embedded bitmaps.
      	* fwprop.c (single_def_use_enter_block): Likewise.
      	* ddg.c (create_ddg_dep_from_intra_loop_link,
      	add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
      	* loop-iv.c (latch_dominating_def): Likewise.
      	* df-problems.c (df_rd_free_bb_info, df_rd_alloc,
      	df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
      	df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
      	df_rd_transfer_function, df_rd_top_dump,
      	df_rd_bottom_dump): Update.
      	(df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
      	df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
      	df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
      	df_lr_verify_solution_start, df_lr_verify_solution_end,
      	df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
      	df_live_free_bb_info, df_live_alloc, df_live_reset,
      	df_live_bb_local_compute, df_live_init, df_live_transfer_function,
      	df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
      	df_live_verify_solution_start, df_live_verify_solution_end,
      	df_live_verify_transfer_functions, df_chain_create_bb,
      	df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
      	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
      	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
      	df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
      	df_byte_lr_confluence_0, df_byte_lr_confluence_n,
      	df_byte_lr_transfer_function, df_byte_lr_top_dump,
      	df_byte_lr_bottom_dump, df_create_unused_note,
      	df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
      	df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
      	df_md_transfer_function, df_md_init, df_md_confluence_0,
      	df_md_confluence_n,
      	df_md_top_dump, df_md_bottom_dump): Update.  (struct df_lr_problem_data):
      	Embedd bitmap headers.
      
      From-SVN: r160268
      Jan Hubicka committed