1. 29 Oct, 2014 1 commit
    • decl.c, [...]: Remove redundant enum from machine_mode. · ef4bddc2
      gcc/ada/
      	* gcc-interface/decl.c, gcc-interface/gigi.h, gcc-interface/misc.c,
      	gcc-interface/trans.c, gcc-interface/utils.c, gcc-interface/utils2.c:
      	Remove redundant enum from machine_mode.
      
      gcc/c-family/
      	* c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
      	enum from machine_mode.
      
      gcc/c/
      	* c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
      	machine_mode.
      
      gcc/cp/
      	* constexpr.c: Remove redundant enum from machine_mode.
      
      gcc/fortran/
      	* trans-types.c, trans-types.h: Remove redundant enum from
      	machine_mode.
      
      gcc/go/
      	* go-lang.c: Remove redundant enum from machine_mode.
      
      gcc/java/
      	* builtins.c, java-tree.h, typeck.c: Remove redundant enum from
      	machine_mode.
      
      gcc/lto/
      	* lto-lang.c: Remove redundant enum from machine_mode.
      
      gcc/
      	* addresses.h, alias.c, asan.c, auto-inc-dec.c, bt-load.c, builtins.c,
      	builtins.h, caller-save.c, calls.c, calls.h, cfgexpand.c, cfgloop.h,
      	cfgrtl.c, combine.c, compare-elim.c, config/aarch64/aarch64-builtins.c,
      	config/aarch64/aarch64-protos.h, config/aarch64/aarch64-simd.md,
      	config/aarch64/aarch64.c, config/aarch64/aarch64.h,
      	config/aarch64/aarch64.md, config/alpha/alpha-protos.h,
      	config/alpha/alpha.c, config/arc/arc-protos.h, config/arc/arc.c,
      	config/arc/arc.h, config/arc/predicates.md,
      	config/arm/aarch-common-protos.h, config/arm/aarch-common.c,
      	config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
      	config/arm/arm.md, config/arm/neon.md, config/arm/thumb2.md,
      	config/avr/avr-log.c, config/avr/avr-protos.h, config/avr/avr.c,
      	config/avr/avr.md, config/bfin/bfin-protos.h, config/bfin/bfin.c,
      	config/c6x/c6x-protos.h, config/c6x/c6x.c, config/c6x/c6x.md,
      	config/cr16/cr16-protos.h, config/cr16/cr16.c,
      	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.md,
      	config/darwin-protos.h, config/darwin.c,
      	config/epiphany/epiphany-protos.h, config/epiphany/epiphany.c,
      	config/epiphany/epiphany.md, config/fr30/fr30.c,
      	config/frv/frv-protos.h, config/frv/frv.c, config/frv/predicates.md,
      	config/h8300/h8300-protos.h, config/h8300/h8300.c,
      	config/i386/i386-builtin-types.awk, config/i386/i386-protos.h,
      	config/i386/i386.c, config/i386/i386.md, config/i386/predicates.md,
      	config/i386/sse.md, config/i386/sync.md, config/ia64/ia64-protos.h,
      	config/ia64/ia64.c, config/iq2000/iq2000-protos.h,
      	config/iq2000/iq2000.c, config/iq2000/iq2000.md,
      	config/lm32/lm32-protos.h, config/lm32/lm32.c,
      	config/m32c/m32c-protos.h, config/m32c/m32c.c,
      	config/m32r/m32r-protos.h, config/m32r/m32r.c,
      	config/m68k/m68k-protos.h, config/m68k/m68k.c,
      	config/mcore/mcore-protos.h, config/mcore/mcore.c,
      	config/mcore/mcore.md, config/mep/mep-protos.h, config/mep/mep.c,
      	config/microblaze/microblaze-protos.h, config/microblaze/microblaze.c,
      	config/mips/mips-protos.h, config/mips/mips.c,
      	config/mmix/mmix-protos.h, config/mmix/mmix.c,
      	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
      	config/moxie/moxie.c, config/msp430/msp430-protos.h,
      	config/msp430/msp430.c, config/nds32/nds32-cost.c,
      	config/nds32/nds32-intrinsic.c, config/nds32/nds32-md-auxiliary.c,
      	config/nds32/nds32-protos.h, config/nds32/nds32.c,
      	config/nios2/nios2-protos.h, config/nios2/nios2.c,
      	config/pa/pa-protos.h, config/pa/pa.c, config/pdp11/pdp11-protos.h,
      	config/pdp11/pdp11.c, config/rl78/rl78-protos.h, config/rl78/rl78.c,
      	config/rs6000/altivec.md, config/rs6000/rs6000-c.c,
      	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
      	config/rs6000/rs6000.h, config/rx/rx-protos.h, config/rx/rx.c,
      	config/s390/predicates.md, config/s390/s390-protos.h,
      	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
      	config/sh/predicates.md, config/sh/sh-protos.h, config/sh/sh.c,
      	config/sh/sh.md, config/sparc/predicates.md,
      	config/sparc/sparc-protos.h, config/sparc/sparc.c,
      	config/sparc/sparc.md, config/spu/spu-protos.h, config/spu/spu.c,
      	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
      	config/tilegx/tilegx-protos.h, config/tilegx/tilegx.c,
      	config/tilegx/tilegx.md, config/tilepro/tilepro-protos.h,
      	config/tilepro/tilepro.c, config/v850/v850-protos.h,
      	config/v850/v850.c, config/v850/v850.md, config/vax/vax-protos.h,
      	config/vax/vax.c, config/vms/vms-c.c, config/xtensa/xtensa-protos.h,
      	config/xtensa/xtensa.c, coverage.c, cprop.c, cse.c, cselib.c, cselib.h,
      	dbxout.c, ddg.c, df-problems.c, dfp.c, dfp.h, doc/md.texi,
      	doc/rtl.texi, doc/tm.texi, doc/tm.texi.in, dojump.c, dse.c,
      	dwarf2cfi.c, dwarf2out.c, dwarf2out.h, emit-rtl.c, emit-rtl.h,
      	except.c, explow.c, expmed.c, expmed.h, expr.c, expr.h, final.c,
      	fixed-value.c, fixed-value.h, fold-const.c, function.c, function.h,
      	fwprop.c, gcse.c, gengenrtl.c, genmodes.c, genopinit.c, genoutput.c,
      	genpreds.c, genrecog.c, gensupport.c, gimple-ssa-strength-reduction.c,
      	graphite-clast-to-gimple.c, haifa-sched.c, hooks.c, hooks.h, ifcvt.c,
      	internal-fn.c, ira-build.c, ira-color.c, ira-conflicts.c, ira-costs.c,
      	ira-emit.c, ira-int.h, ira-lives.c, ira.c, ira.h, jump.c, langhooks.h,
      	libfuncs.h, lists.c, loop-doloop.c, loop-invariant.c, loop-iv.c,
      	loop-unroll.c, lower-subreg.c, lower-subreg.h, lra-assigns.c,
      	lra-constraints.c, lra-eliminations.c, lra-int.h, lra-lives.c,
      	lra-spills.c, lra.c, lra.h, machmode.h, omp-low.c, optabs.c, optabs.h,
      	output.h, postreload.c, print-tree.c, read-rtl.c, real.c, real.h,
      	recog.c, recog.h, ree.c, reg-stack.c, regcprop.c, reginfo.c,
      	regrename.c, regs.h, reload.c, reload.h, reload1.c, rtl.c, rtl.h,
      	rtlanal.c, rtlhash.c, rtlhooks-def.h, rtlhooks.c, sched-deps.c,
      	sel-sched-dump.c, sel-sched-ir.c, sel-sched-ir.h, sel-sched.c,
      	simplify-rtx.c, stmt.c, stor-layout.c, stor-layout.h, target.def,
      	targhooks.c, targhooks.h, tree-affine.c, tree-call-cdce.c,
      	tree-complex.c, tree-data-ref.c, tree-dfa.c, tree-if-conv.c,
      	tree-inline.c, tree-outof-ssa.c, tree-scalar-evolution.c,
      	tree-ssa-address.c, tree-ssa-ccp.c, tree-ssa-loop-ivopts.c,
      	tree-ssa-loop-ivopts.h, tree-ssa-loop-manip.c,
      	tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c, tree-ssa-reassoc.c,
      	tree-ssa-sccvn.c, tree-streamer-in.c, tree-switch-conversion.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop.c,
      	tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
      	tree-vrp.c, tree.c, tree.h, tsan.c, ubsan.c, valtrack.c,
      	var-tracking.c, varasm.c: Remove redundant enum from
      	machine_mode.
      gcc/
      	* gengtype.c (main): Treat machine_mode as a scalar typedef.
      	* genmodes.c (emit_insn_modes_h): Hide inline functions if
      	USED_FOR_TARGET.
      
      From-SVN: r216834
      Richard Sandiford committed
  2. 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
  3. 16 Oct, 2014 1 commit
    • function.h: Flatten file. · 83685514
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* function.h: Flatten file.  Remove includes, adjust prototypes to 
      	reflect only what is in function.h.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Relocate
      	from expr.h.
      	(ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Relocate from rtl.h.
      	(optimize_function_for_size_p, optimize_function_for_speed_p): Move
      	prototypes to predict.h.
      	(init_varasm_status): Move prototype to varasm.h.
      	* expr.h: Adjust include files.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Move
      	to function.h.
      	(locate_and_pad_parm): Move prototype to function.h.
      	* rtl.h: (assign_stack_local, ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD,
      	assign_stack_local_1, assign_stack_temp, assign_stack_temp_for_type,
      	assign_temp, reposition_prologue_and_epilogue_notes,
      	prologue_epilogue_contains, sibcall_epilogue_contains,
      	update_temp_slot_address, maybe_copy_prologue_epilogue_insn,
      	set_return_jump_label): Move prototypes to function.h.
      	* predict.h (optimize_function_for_size_p,
      	optimize_function_for_speed_p): Relocate prototypes from function.h.
      	* shrink-wrap.h (emit_return_into_block, active_insn_between,
      	convert_jumps_to_returns, emit_return_for_exit): Move prototypes to
      	function.h.
      	* varasm.h (init_varasm_status): Relocate prototype from function.h.
      	* genattrtab.c (write_header): Add predict.h to include list.
      	* genconditions.c (write_header): Add predict.h to include list.
      	* genemit.c (main): Adjust header file includes.
      	* gengtype.c (ifiles): Add flattened function.h header files.
      	* genoutput.c (output_prologue): Add predict.h to include list.
      	* genpreds.c (write_insn_preds_c): Adjust header file includes.
      	* genrecog.c (write_header): Add flattened function.h header files.
      	* alias.c: Adjust include files.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbxout.c: Likewise.
      	* ddg.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dojump.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* testsuite/g++.dg/plugin/pragma_plugin.c: Adjust include files.
      	* config/aarch64/aarch64.c: Add flattened includes from function.h.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* ada/gcc-interface/misc.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-decl.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-pragma.c: Adjust include files.
      	* c-family/c-semantics.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-tree.h: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* fortran/f95-lang.c: Adjust include files.
      	* fortran/trans-decl.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/class.c: Adjust include files.
      	* java/resource.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc/objc-act.c: Adjust include files.
      
      From-SVN: r216337
      Andrew MacLeod committed
  4. 22 Sep, 2014 1 commit
    • tree-ssa-ccp.c (prop_value_d): Rename to ... · 11478306
      	* tree-ssa-ccp.c (prop_value_d): Rename to ...
      	(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
      	* ipa-prop.c (struct type_change_info): Rename to ...
      	(prop_type_change_info): ... this; update uses.
      	* ggc-page.c (globals): Rename to ...
      	(static struct ggc_globals): ... this; update uses.
      	* tree-ssa-loop-im.c (mem_ref): Rename to ...
      	(im_mem_ref): ... this; update uses.
      	* ggc-common.c (loc_descriptor): Rename to ...
      	(ggc_loc_descriptor): ... this; update uses.
      	* lra-eliminations.c (elim_table): Rename to ...
      	(lra_elim_table): ... this; update uses.
      	* bitmap.c (output_info): Rename to ...
      	(bitmap_output_info): ... this; update uses.
      	* gcse.c (expr): Rename to ...
      	(gcse_expr) ... this; update uses.
      	(occr): Rename to ...
      	(gcse_occr): .. this; update uses.
      	* tree-ssa-copy.c (prop_value_d): Rename to ...
      	(prop_value_t): ... this.
      	* predict.c (block_info_def): Rename to ...
      	(block_info): ... this; update uses.
      	(edge_info_def): Rename to ...
      	(edge_info): ... this; update uses.
      	* profile.c (bb_info): Rename to ...
      	(bb_profile_info): ... this; update uses.
      	* alloc-pool.c (output_info): Rename to ...
      	(pool_output_info): ... this; update uses.
      	* ipa-cp.c (topo_info): Rename to ..
      	(ipa_topo_info): ... this; update uses.
      	* tree-nrv.c (nrv_data): Rename to ...
      	(nrv_data_t): ... this; update uses.
      	* ipa-split.c (bb_info): Rename to ...
      	(split_bb_info): ... this one.
      	* profile.h (edge_info): Rename to ...
      	(edge_profile_info): ... this one; update uses.
      	* dse.c (bb_info): Rename to ...
      	(dse_bb_info): ... this one; update uses.
      	* cprop.c (occr): Rename to ...
      	(cprop_occr): ... this one; update uses.
      	(expr): Rename to ...
      	(cprop_expr): ... this one; update uses.
      
      From-SVN: r215480
      Jan Hubicka committed
  5. 16 Sep, 2014 1 commit
    • Replace INSN_DELETED_P with rtx_insn member functions · 4654c0cf
      gcc/
      
      	* cfgrtl.c, combine.c, config/arc/arc.c, config/mcore/mcore.c,
      	config/rs6000/rs6000.c, config/sh/sh.c, cprop.c, dwarf2out.c,
      	emit-rtl.c, final.c, function.c, gcse.c, jump.c, reg-stack.c,
      	reload1.c, reorg.c, resource.c, sel-sched-ir.c: Replace INSN_DELETED_P
      	macro with statically checked member functions.
      	* rtl.h (rtx_insn::deleted): New method.
      	(rtx_insn::set_deleted): Likewise.
      	(rtx_insn::set_undeleted): Likewise.
      	(INSN_DELETED_P): Remove.
      
      From-SVN: r215282
      Trevor Saunders committed
  6. 25 Aug, 2014 1 commit
    • Convert edge_def.insns.r to rtx_insn * · 3ffa95c2
      gcc/
      	* basic-block.h (struct edge_def). Strengthen "r" within
      	union edge_def_insns from rtx to rtx_insn *.
      
      	* cfgexpand.c (pass_expand::execute): Remove now-redundant cast
      	from rtx to rtx_insn *.  Strengthen local "insns" from rtx to
      	rtx_insn *.
      	* cfgrtl.c (commit_one_edge_insertion): Remove now-redundant cast
      	from rtx to rtx_insn *.
      	* cprop.c (find_bypass_set): Strengthen local "insn" from rtx to
      	rtx_insn *.
      	* postreload-gcse.c (reg_killed_on_edge): Likewise.
      	(reg_used_on_edge): Likewise.
      	* tree-cfg.c (gt_ggc_mx): New overload for rtx_insn *&.
      	(gt_pch_nx): New overload for rtx_insn *&.
      	* tree-outof-ssa.c (expand_phi_nodes): Strengthen local "insns"
      	from rtx to rtx_insn *.
      
      From-SVN: r214471
      David Malcolm committed
  7. 22 Aug, 2014 2 commits
    • postreload.c: Use rtx_insn (also touches rtl.h and cprop.c) · f90af2e0
      gcc/
      	* rtl.h (fis_get_condition): Strengthen param "jump" from rtx to
      	rtx_insn *.
      
      	* cprop.c (fis_get_condition): Likewise.
      
      	* postreload.c (reload_cse_regs): Likewise for param "first".
      	(reload_cse_simplify): Likewise for param "insn".
      	(reload_cse_regs_1): Likewise for local "insn".
      	(reload_cse_simplify_set): Likewise for param "insn".
      	(reload_cse_simplify_operands): Likewise.
      	(struct reg_use): Likewise for field "insn".
      	(reload_combine_purge_insn_uses): Likewise for param "insn".
      	(fixup_debug_insns): Likewise for params "from", "to" and local
      	"insn".
      	(try_replace_in_use): Likewise for local "use_insn".
      	(reload_combine_recognize_const_pattern): Likewise for param
      	"insn" and locals "add_moved_after_insn", "use_insn".
      	(reload_combine_recognize_pattern): Likewise for param "insn" and
      	local "prev".
      	(reload_combine): Likewise for locals "insn", "prev".
      	(reload_combine_note_use): Likewise for param "insn".
      	(move2add_use_add2_insn): Likewise.
      	(move2add_use_add3_insn): Likewise.
      	(reload_cse_move2add): Likewise, also for local "next".
      	(move2add_note_store): Likewise for local "insn".
      
      From-SVN: r214358
      David Malcolm committed
    • cprop.c: Use rtx_insn · 997c5639
      gcc/
      2014-08-22  David Malcolm  <dmalcolm@redhat.com>
      
      	* cprop.c (struct occr): Strengthen field "insn" from rtx to
      	rtx_insn *.
      	(reg_available_p): Likewise for param "insn".
      	(insert_set_in_table): Likewise.
      	(hash_scan_set): Likewise.
      	(hash_scan_insn): Likewise.
      	(make_set_regs_unavailable): Likewise.
      	(compute_hash_table_work): Likewise for local "insn".
      	(reg_not_set_p): Strengthen param "insn" from const_rtx to
      	const rtx_insn *.
      	(mark_oprs_set): Strengthen param "insn" from rtx to rtx_insn *.
      	(try_replace_reg): Likewise.
      	(find_avail_set): Likewise.
      	(cprop_jump): Likewise for params "setcc", "jump".
      	(constprop_register): Likewise for param "insn".
      	(cprop_insn): Likewise.
      	(do_local_cprop): Likewise.
      	(local_cprop_pass): Likewise for local "insn".
      	(bypass_block): Likewise for params "setcc" and "jump".
      	(bypass_conditional_jumps): Likewise for locals "setcc" and
      	"insn".
      	(one_cprop_pass): Likewise for local "insn".
      
      From-SVN: r214303
      David Malcolm committed
  8. 02 Aug, 2014 1 commit
    • add a hash_set based on hash_table · 6e2830c3
      This allows us to replace the usage of pointer_set outside of
      pointer_map with a nicer interface.
      
      gcc/ada/
      
      	* gcc-interface/trans.c: Use hash_set instead of pointer_set.
      
      gcc/c-family/
      
      	* c-gimplify.c: Use hash_set instead of pointer_set.
      
      gcc/c/
      
      	* c-decl.c: Use hash_set instead of pointer_set.
      
      gcc/cp/
      
      	* class.c, cp-gimplify.c, cp-tree.h, decl.c, decl2.c, error.c,
      	method.c, name-lookup.c, pt.c, semantics.c, tree.c: Use hash_set
      	instead of pointer_set.
      
      gcc/fortran/
      
      	* openmp.c, trans-decl.c: Use hash_set instead of pointer_set.
      
      gcc/
      
      	* hash-set.h: new File.
      	* cfgexpand.c, cfgloop.c, cgraph.c, cgraphbuild.c, cgraphunit.c,
      	cprop.c, cse.c, gimple-walk.c, gimple-walk.h, gimplify.c, godump.c,
      	ipa-devirt.c, ipa-pure-const.c, ipa-visibility.c, ipa.c, lto-cgraph.c,
      	lto-streamer-out.c, stmt.c, tree-cfg.c, tree-core.h, tree-eh.c,
      	tree-inline.c, tree-inline.h, tree-nested.c, tree-pretty-print.c,
      	tree-ssa-loop-niter.c, tree-ssa-phiopt.c, tree-ssa-threadedge.c,
      	tree-ssa-uninit.c, tree.c, tree.h, value-prof.c, varasm.c,
      	varpool.c: Use hash_set instead of pointer_set.
      
      gcc/lto/
      
      	* lto-partition.c, lto-partition.h: Use hash_set instead of
      	pointer_set.
      
      From-SVN: r213516
      Trevor Saunders committed
  9. 09 Jul, 2014 1 commit
    • remove has_execute · 558d2559
      gcc/
      
      	* tree-pass.h (pass_data): Remove has_execute member.
      	* passes.c (execute_one_pass): Don't check pass->has_execute.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
      	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
      	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
      	gimple-low.c, gimple-ssa-isolate-paths.c,
      	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
      	ipa-comdats.c, 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-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
      	lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
      	postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
      	reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
      	stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
      	tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
      	tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
      	tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-loop-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.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-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
      	web.c: Remove initializer for pass_data::has_execute.
      
      From-SVN: r212383
      Trevor Saunders committed
  10. 15 Jun, 2014 1 commit
    • 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
  11. 06 May, 2014 1 commit
    • tree-pass.h (TODO_verify_ssa, [...]): Remove. · 3bea341f
      2014-05-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
      	TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
      	(TODO_verify_all): Adjust.
      	* asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
      	TODO_verify_stmts and TODO_verify_rtl_sharing.
      	* bb-reorder.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* function.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-ssa-isolate-paths.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* ipa-split.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* predict.c: Likewise.
      	* recog.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* store-motion.c: Likewise.
      	* tracer.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vrp.c: Likewise.
      	* tsan.c: Likewise.
      	* var-tracking.c: Likewise.
      	* bt-load.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/sh/sh_treg_combine.cc: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* dce.c: Likewise.
      	* dse.c: Likewise.
      	* final.c: Likewise.
      	* ifcvt.c: Likewise.
      	* mode-switching.c: Likewise.
      	* passes.c: Likewise.
      	* postreload.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* regrename.c: Likewise.
      	* web.c: Likewise.
      
      From-SVN: r210106
      Richard Biener committed
  12. 17 Apr, 2014 3 commits
    • pass cfun to pass::execute · be55bfe6
      gcc/
      	* passes.c (opt_pass::execute): Adjust.
      	(pass_manager::execute_pass_mode_switching): Likewise.
      	(early_local_passes::execute): Likewise.
      	(execute_one_pass): Pass cfun to the pass's execute method.
      	* tree-pass.h (opt_pass::execute): Add function * argument.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
      	except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
      	gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
      	graphite.c, ifcvt.c, init-regs.c, 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.c, ira.c, jump.c, loop-init.c,
      	lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
      	postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
      	reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
      	store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
      	tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
      	tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.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-loop-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.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-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
      	Adjust.
      
      From-SVN: r209482
      Trevor Saunders committed
    • pass current function to opt_pass::gate () · 1a3d085c
      gcc/
      	* passes.c (opt_pass::gate): Take function * argument.
      	(gate_all_early_local_passes): Merge into
      	(early_local_passes::gate): this.
      	(gate_all_early_optimizations): Merge into
      	(all_early_optimizations::gate): this.
      	(gate_all_optimizations): Mege into
      	(all_optimizations::gate): this.
      	(gate_all_optimizations_g): Merge into
      	(all_optimizations_g::gate): this.
      	(gate_rest_of_compilation): Mege into
      	(rest_of_compilation::gate): this.
      	(gate_postreload): Merge into
      	(postreload::gate): this.
      	(dump_one_pass): Pass cfun to the pass's gate method.
      	(execute_ipa_summary_passes): Likewise.
      	(execute_one_pass): Likewise.
      	(ipa_write_summaries_2): Likewise.
      	(ipa_write_optimization_summaries_1): Likewise.
      	(ipa_read_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      	(execute_ipa_stmt_fixups): Likewise.
      	* tree-pass.h (opt_pass::gate): Add function * argument.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
      	combine-stack-adj.c, combine.c, compare-elim.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
      	config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
      	dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c,  fwprop.c, gcse.c,
      	gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
      	graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
      	loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
      	omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
      	reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
      	store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
      	tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
      	tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-loop-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.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-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
      	var-tracking.c, vtable-verify.c, web.c: Adjust.
      
      gcc/testsuite/
      	* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfasign.c,
      	gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
      
      From-SVN: r209481
      Trevor Saunders committed
    • remove has_gate · 0481253d
      gcc/
      	* passes.c (dump_one_pass): don't check pass->has_gate.
      	(execute_ipa_summary_passes): Likewise.
      	(execute_one_pass): Likewise.
      	(ipa_write_summaries_2): Likewise.
      	(ipa_write_optimization_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      	(execute_ipa_stmt_fixups): Likewise.
      	* tree-pass.h (pass_data::has_gate): Remove.
      	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
      	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
      	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
      	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
      	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
      	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
      	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
      	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
      	gimple-low.c, gimple-ssa-isolate-paths.c,
      	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
      	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.c,
      	ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
      	modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
      	recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
      	reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
      	trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
      	tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
      	tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
      	tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
      	tree-sra.c, tree-ssa-ccp.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-loop-ch.c, tree-ssa-loop-im.c,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.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-uncprop.c, tree-ssa-uninit.c,
      	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
      	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
      	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
      	Adjust.
      
      gcc/testsuite/
      	* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
      	gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
      
      From-SVN: r209479
      Trevor Saunders committed
  13. 02 Jan, 2014 1 commit
  14. 09 Dec, 2013 2 commits
    • Eliminate FOR_EACH_BB macro. · 11cd3bed
      gcc/
      	* basic-block.h (FOR_EACH_BB): Eliminate macro.
      
      	* asan.c (transform_statements, execute_sanopt): Eliminate
      	use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
      	explicit.
      	* auto-inc-dec.c (rest_of_handle_auto_inc_dec): Likewise.
      	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges,
      	set_edge_can_fallthru_flag, fix_up_fall_thru_edges,
      	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes,
      	insert_section_boundary_note, rest_of_handle_reorder_blocks,
      	duplicate_computed_gotos): Likewise.
      	* cfg.c (clear_edges, compact_blocks, brief_dump_cfg): Likewise.
      	* cfganal.c (find_unreachable_blocks, add_noreturn_fake_exit_edges,
      	compute_dominance_frontiers_1, single_pred_before_succ_order): Likewise.
      	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_optimize_cfg, delete_dead_jumptables): Likewise.
      	* cfgexpand.c (add_scope_conflicts, discover_nonconstant_array_refs):
      	Likewise.
      	* cfgloop.c (flow_loops_cfg_dump, get_loop_body, record_loop_exits,
      	verify_loop_structure): Likewise.
      	* cfgloopanal.c (mark_loop_exit_edges): Likewise.
      	* cfgrtl.c (compute_bb_for_insn, find_partition_fixes,
      	verify_hot_cold_block_grouping, purge_all_dead_edges,
      	fixup_abnormal_edges, record_effective_endpoints,
      	outof_cfg_layout_mode, fixup_reorder_chain, force_one_exit_fallthru,
      	break_superblocks): Likewise.
      	* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges,
      	cgraph_rebuild_references): Likewise.
      	* combine-stack-adj.c (combine_stack_adjustments): Likewise.
      	* combine.c (delete_noop_moves, create_log_links,
      	combine_instructions): Likewise.
      	* config/arm/arm.c (thumb1_reorg, thumb2_reorg): Likewise.
      	* config/bfin/bfin.c (bfin_gen_bundles, reorder_var_tracking_notes):
      	Likewise.
      	* config/c6x/c6x.c (c6x_gen_bundles, conditionalize_after_sched,
      	c6x_reorg): Likewise.
      	* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
      	* config/frv/frv.c (frv_optimize_membar): Likewise.
      	* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
      	* config/ia64/ia64.c (ia64_reorg): Likewise.
      	* config/mips/mips.c (mips_annotate_pic_calls): Likewise.
      	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
      	* config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): Likewise.
      	* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
      	* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Likewise.
      	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
      	* config/tilegx/tilegx.c (tilegx_gen_bundles,
      	reorder_var_tracking_notes): Likewise.
      	* config/tilepro/tilepro.c (tilepro_gen_bundles,
      	reorder_var_tracking_notes): Likewise.
      	* coverage.c (coverage_compute_cfg_checksum): Likewise.
      	* cprop.c (compute_hash_table_work, compute_cprop_data,
      	local_cprop_pass, find_implicit_sets): Likewise.
      	* cse.c (cse_condition_code_reg): Likewise.
      	* dce.c (prescan_insns_for_dce): Likewise.
      	* df-core.c (df_compact_blocks): Likewise.
      	* df-problems.c (df_word_lr_alloc): Likewise.
      	* df-scan.c (df_scan_start_dump, df_scan_blocks, df_insn_rescan_all,
      	df_update_entry_exit_and_calls): Likewise.
      	* dominance.c (calculate_dominance_info, verify_dominators,
      	debug_dominance_info): Likewise.
      	* dse.c (dse_step5_nospill): Likewise.
      	* except.c (finish_eh_generation): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns,
      	rest_of_match_asm_constraints): Likewise.
      	* gcse.c (compute_hash_table_work, prune_expressions,
      	compute_pre_data, compute_code_hoist_vbeinout, hoist_code,
      	calculate_bb_reg_pressure, compute_ld_motion_mems): Likewise.
      	* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
      	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour,
      	find_explicit_erroneous_behaviour): Likewise.
      	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa,
      	rewrite_cross_bb_scalar_deps_out_of_ssa): Likewise.
      	* haifa-sched.c (haifa_sched_init): Likewise.
      	* hw-doloop.c (discover_loops, set_bb_indices, reorder_loops):
      	Likewise.
      	* ifcvt.c (if_convert): Likewise.
      	* init-regs.c (initialize_uninitialized_regs): Likewise.
      	* ipa-prop.c (ipcp_transform_function): Likewise.
      	* ipa-pure-const.c (analyze_function): Likewise.
      	* ipa-split.c (find_split_points, execute_split_functions): Likewise.
      	* ira-build.c (form_loop_tree): Likewise.
      	* ira-costs.c (find_costs_and_classes): Likewise.
      	* ira-emit.c (emit_moves, add_ranges_and_copies, ira_emit): Likewise.
      	* ira.c (decrease_live_ranges_number, compute_regs_asm_clobbered,
      	mark_elimination, update_equiv_regs, find_moveable_pseudos,
      	split_live_ranges_for_shrink_wrap, allocate_initial_values): Likewise.
      	* jump.c (mark_all_labels): Likewise.
      	* lcm.c (compute_laterin, compute_insert_delete, compute_available,
      	compute_nearerout, compute_rev_insert_delete): Likewise.
      	* loop-init.c (fix_loop_structure): Likewise.
      	* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
      	* lower-subreg.c (decompose_multiword_subregs,
      	decompose_multiword_subregs): Likewise.
      	* lra-assigns.c (assign_by_spills): Likewise.
      	* lra-coalesce.c (lra_coalesce): Likewise.
      	* lra-constraints.c (lra_inheritance, remove_inheritance_pseudos):
      	Likewise.
      	* lra-eliminations.c (lra_init_elimination): Likewise.
      	* lra-spills.c (assign_spill_hard_regs, spill_pseudos,
      	lra_final_code_change): Likewise.
      	* lra.c (remove_scratches, check_rtl, has_nonexceptional_receiver,
      	update_inc_notes): Likewise.
      	* mcf.c (adjust_cfg_counts): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* modulo-sched.c (rest_of_handle_sms): Likewise.
      	* omp-low.c (optimize_omp_library_calls, expand_omp_taskreg,
      	expand_omp_target): Likewise.
      	* postreload-gcse.c (alloc_mem, compute_hash_table): Likewise.
      	* postreload.c (reload_cse_regs_1): Likewise.
      	* predict.c (strip_predict_hints, tree_bb_level_predictions,
      	tree_estimate_probability, expensive_function_p,
      	estimate_bb_frequencies, compute_function_frequency): Likewise.
      	* profile.c (is_inconsistent, compute_branch_probabilities,
      	branch_prob): Likewise.
      	* ree.c (find_removable_extensions): Likewise.
      	* reg-stack.c (compensate_edges, convert_regs, reg_to_stack): Likewise.
      	* regcprop.c (copyprop_hardreg_forward): Likewise.
      	* reginfo.c (init_subregs_of_mode): Likewise.
      	* regrename.c (regrename_analyze): Likewise.
      	* regstat.c (regstat_compute_ri, regstat_compute_calls_crossed):
      	Likewise.
      	* reload1.c (has_nonexceptional_receiver, reload,
      	calculate_elim_costs_all_insns): Likewise.
      	* resource.c (init_resource_info, free_resource_info): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (is_cfg_nonregular, find_single_block_region,
      	haifa_find_rgns, sched_rgn_local_init): Likewise.
      	* sel-sched-dump.c (sel_dump_cfg_2): Likewise.
      	* sel-sched-ir.c (init_lv_sets, free_lv_sets,
      	make_regions_from_the_rest): Likewise.
      	* sese.c (build_sese_loop_nests, sese_build_liveouts): Likewise.
      	* stack-ptr-mod.c (notice_stack_pointer_modification): Likewise.
      	* store-motion.c (compute_store_table, build_store_vectors,
      	one_store_motion_pass): Likewise.
      	* tracer.c (tail_duplicate): Likewise.
      	* trans-mem.c (compute_transaction_bits): Likewise.
      	* tree-call-cdce.c (tree_call_cdce): Likewise.
      	* tree-cfg.c (replace_loop_annotate, factor_computed_gotos,
      	fold_cond_expr_cond, make_edges, assign_discriminators,
      	make_abnormal_goto_edges, cleanup_dead_labels, group_case_labels,
      	dump_cfg_stats, gimple_verify_flow_info, print_loop,
      	execute_fixup_cfg): Likewise.
      	* tree-cfgcleanup.c (cleanup_tree_cfg_1, merge_phi_nodes): Likewise.
      	* tree-complex.c (init_dont_simulate_again, tree_lower_complex):
      	Likewise.
      	* tree-dfa.c (collect_dfa_stats, dump_enumerated_decls): Likewise.
      	* tree-eh.c (execute_lower_resx, execute_lower_eh_dispatch,
      	mark_reachable_handlers): Likewise.
      	* tree-emutls.c (lower_emutls_function_body): Likewise.
      	* tree-if-conv.c (main_tree_if_conversion): Likewise.
      	* tree-inline.c (optimize_inline_calls): Likewise.
      	* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Likewise.
      	* tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
      	* tree-object-size.c (compute_object_sizes): Likewise.
      	* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees,
      	insert_backedge_copies, tree_profiling): Likewise.
      	* tree-scalar-evolution.c (scev_const_prop): Likewise.
      	* tree-sra.c (scan_function, sra_modify_function_body,
      	propagate_dereference_distances, ipa_sra_modify_function_body,
      	convert_callers): Likewise.
      	* tree-ssa-ccp.c (ccp_initialize, execute_fold_all_builtins): Likewise.
      	* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
      	create_outofssa_var_map, coalesce_partitions): Likewise.
      	* tree-ssa-copy.c (init_copy_prop): Likewise.
      	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
      	* tree-ssa-dce.c (find_obviously_necessary_stmts,
      	eliminate_unnecessary_stmts): Likewise.
      	* tree-ssa-dom.c (free_all_edge_infos, tree_ssa_dominator_optimize):
      	Likewise.
      	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
      	* tree-ssa-live.c (clear_unused_block_pointer, remove_unused_locals,
      	new_tree_live_info, calculate_live_on_exit, dump_live_info,
      	analyze_memory_references, fill_always_executed_in,
      	tree_ssa_lim_finalize): Likewise.
      	* tree-ssa-loop-manip.c (find_uses_to_rename, verify_loop_closed_ssa):
      	Likewise.
      	* tree-ssa-math-opts.c (execute_cse_reciprocals, execute_cse_sincos,
      	execute_optimize_bswap, execute_optimize_widening_mul): Likewise.
      	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
      	* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
      	* tree-ssa-tail-merge.c (find_same_succ, reset_cluster_vectors):
      	Likewise.
      	* tree-ssa-ter.c (find_replaceable_exprs): Likewise.
      	* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
      	* tree-ssa-uncprop.c (associate_equivalences_with_edges,
      	tree_ssa_uncprop): Likewise.
      	* tree-ssa-uninit.c (warn_uninitialized_vars,
      	execute_late_warn_uninitialized): Likewise.
      	* tree-ssa.c (verify_ssa, execute_update_addresses_taken): Likewise.
      	* tree-stdarg.c (check_all_va_list_escapes, execute_optimize_stdarg):
      	Likewise.
      	* tree-switch-conversion.c (do_switchconv): Likewise.
      	* tree-vect-generic.c (expand_vector_operations): Likewise.
      	* tree-vectorizer.c (adjust_simduid_builtins, note_simd_array_uses,
      	execute_vect_slp): Likewise.
      	* tree-vrp.c (check_all_array_refs, remove_range_assertions,
      	vrp_initialize, identify_jump_threads, instrument_memory_accesses):
      	Likewise.
      	* ubsan.c (ubsan_pass): Likewise.
      	* value-prof.c (verify_histograms, gimple_value_profile_transformations,
      	gimple_find_values_to_profile): Likewise.
      	* var-tracking.c (vt_find_locations, dump_dataflow_sets, vt_emit_notes,
      	vt_initialize, delete_debug_insns, vt_finalize): Likewise.
      
      gcc/testsuite/
      	* g++.dg/plugin/selfassign.c (execute_warn_self_assign): Eliminate
      	use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
      	explicit.
      	* gcc.dg/plugin/selfassign.c (execute_warn_self_assign): Likewise.
      
      From-SVN: r205828
      David Malcolm committed
    • Eliminate last_basic_block macro. · 8b1c6fd7
      	* basic-block.h (last_basic_block): Eliminate macro.
      
      	* asan.c (transform_statements): Eliminate use of last_basic_block
      	in favor of last_basic_block_for_fn, in order to make use of cfun
      	explicit.
      	* bb-reorder.c (copy_bb, reorder_basic_blocks): Likewise.
      	* bt-load.c (compute_defs_uses_and_gen, compute_kill, compute_out,
      	link_btr_uses, build_btr_def_use_webs, migrate_btr_defs): Likewise.
      	* cfg.c (compact_blocks): Likewise.
      	* cfganal.c (mark_dfs_back_edges,
      	control_dependences::control_dependences, post_order_compute,
      	pre_and_rev_post_order_compute_fn, dfs_enumerate_from, compute_idf,
      	single_pred_before_succ_order): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	* cfgexpand.c (add_scope_conflicts, gimple_expand_cfg): Likewise.
      	* cfghooks.c (verify_flow_info): Likewise.
      	* cfgloop.c (verify_loop_structure): Likewise.
      	* cfgloopanal.c (just_once_each_iteration_p,
      	mark_irreducible_loops): Likewise.
      	* cfgloopmanip.c (fix_bb_placements, remove_path,
      	update_dominators_in_loop): Likewise.
      	* cfgrtl.c (create_basic_block_structure, rtl_create_basic_block,
      	break_superblocks, rtl_flow_call_edges_add): Likewise.
      	* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
      	* config/frv/frv.c (frv_optimize_membar): Likewise.
      	* config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
      	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
      	* cprop.c (compute_local_properties, find_implicit_sets,
      	bypass_conditional_jumps, one_cprop_pass): Likewise.
      	* cse.c (cse_main): Likewise.
      	* df-core.c (rest_of_handle_df_initialize, df_worklist_dataflow,
      	df_analyze, df_grow_bb_info, df_compact_blocks): Likewise.
      	* df-problems.c (df_lr_verify_solution_start,
      	df_live_verify_solution_start, df_md_local_compute): Likewise.
      	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
      	calc_idoms): Likewise.
      	* domwalk.c (dom_walker::walk): Likewise.
      	* dse.c (dse_step0, dse_step3): Likewise.
      	* function.c (epilogue_done): Likewise.
      	* gcse.c (alloc_gcse_mem, compute_local_properties,
      	prune_insertions_deletions, compute_pre_data,
      	pre_expr_reaches_here_p, one_pre_gcse_pass,
      	compute_code_hoist_vbeinout, should_hoist_expr_to_dom, hoist_code,
      	one_code_hoisting_pass): Likewise.
      	* graph.c (draw_cfg_nodes_no_loops): Likewise.
      	* graphite-sese-to-poly.c (build_scop_bbs): Likewise.
      	* haifa-sched.c (unlink_bb_notes): Likewise.
      	* ipa-split.c (execute_split_functions): Likewise.
      	* ira-build.c (create_loop_tree_nodes,
      	remove_unnecessary_regions): Likewise.
      	* ira-emit.c (ira_emit): Likewise.
      	* ira.c (find_moveable_pseudos, ira): Likewise.
      	* lcm.c (compute_antinout_edge, compute_laterin,
      	compute_insert_delete, pre_edge_lcm, compute_available,
      	compute_nearerout, compute_rev_insert_delete,
      	pre_edge_rev_lcm): Likewise.
      	* loop-unroll.c (opt_info_start_duplication,
      	apply_opt_in_copies): Likewise.
      	* lower-subreg.c (decompose_multiword_subregs): Likewise.
      	* lra-lives.c (lra_create_live_ranges): Likewise.
      	* lra.c (lra): Likewise.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	* recog.c (split_all_insns): Likewise.
      	* regcprop.c (copyprop_hardreg_forward): Likewise.
      	* regrename.c (regrename_analyze): Likewise.
      	* reload1.c (reload): Likewise.
      	* resource.c (init_resource_info): Likewise.
      	* sched-rgn.c (haifa_find_rgns, extend_rgns, compute_trg_info,
      	realloc_bb_state_array, schedule_region, extend_regions): Likewise.
      	* sel-sched-ir.c (sel_extend_global_bb_info, extend_region_bb_info,
      	recompute_rev_top_order, sel_init_pipelining,
      	make_regions_from_the_rest): Likewise.
      	* store-motion.c (remove_reachable_equiv_notes,build_store_vectors)
      	Likewise.
      	* tracer.c (tail_duplicate): Likewise.
      	* trans-mem.c (tm_region_init, get_bb_regions_instrumented): Likewise.
      	* tree-cfg.c (create_bb, cleanup_dead_labels, gimple_dump_cfg,
      	gimple_flow_call_edges_add): Likewise.
      	* tree-cfgcleanup.c (split_bbs_on_noreturn_calls,
      	cleanup_tree_cfg_1): Likewise.
      	* tree-complex.c (tree_lower_complex): Likewise.
      	* tree-inline.c (copy_cfg_body): Likewise.
      	* tree-into-ssa.c (mark_phi_for_rewrite, rewrite_into_ssa,
      	prepare_def_site_for, update_ssa): Likewise.
      	* tree-ssa-dce.c (tree_dce_init, perform_tree_ssa_dce): Likewise.
      	* tree-ssa-dom.c (record_edge_info): Likewise.
      	* tree-ssa-live.c (new_tree_live_info, live_worklist): Likewise.
      	* tree-ssa-loop-im.c (fill_always_executed_in_1): Likewise.
      	* tree-ssa-loop-manip.c (copy_phi_node_args
      	gimple_duplicate_loop_to_header_edge): Likewise.
      	* tree-ssa-pre.c (compute_antic): Likewise.
      	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
      	* tree-ssa-reassoc.c (init_reassoc): Likewise.
      	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
      	* tree-ssa-tail-merge.c (init_worklist): Likewise.
      	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
      	* tree-stdarg.c (reachable_at_most_once): Likewise.
      	* tree-vrp.c (find_assert_locations): Likewise.
      	* var-tracking.c (vt_find_locations): Likewise.
      
      From-SVN: r205826
      David Malcolm committed
  15. 19 Nov, 2013 3 commits
    • Eliminate ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR macros · fefa31b5
      gcc/
      
      	* basic-block.h (ENTRY_BLOCK_PTR_FOR_FUNCTION): Rename macro to...
      	(EXIT_BLOCK_PTR_FOR_FUNCTION): ...this.
      	(ENTRY_BLOCK_PTR_FOR_FN): Renamed macro to...
      	(EXIT_BLOCK_PTR_FOR_FN): ...this.
      	(ENTRY_BLOCK_PTR): Eliminate macro as work towards making uses of
      	cfun be explicit.
      	(EXIT_BLOCK_PTR): Likewise.
      	(FOR_ALL_BB): Rework for now to eliminate use of "ENTRY_BLOCK_PTR".
      	(FOR_ALL_BB_FN): Update for renaming of
      	"ENTRY_BLOCK_PTR_FOR_FUNCTION" to "ENTRY_BLOCK_PTR_FOR_FN".
      
      	* cfg.c (init_flow): Likewise.
      	(check_bb_profile): Likewise.
      	* cfganal.c (pre_and_rev_post_order_compute_fn): Likewise.
      	* cfgcleanup.c (walk_to_nondebug_insn): Likewise.
      	* cfghooks.c (account_profile_record): Likewise.
      	* cfgloop.c (init_loops_structure): Likewise.
      	* cgraphbuild.c (record_eh_tables): Likewise.
      	(compute_call_stmt_bb_frequency): Likewise.
      	* ipa-inline-analysis.c (compute_bb_predicates): Likewise.
      	* lto-streamer-in.c (input_cfg): Likewise.
      	* predict.c (maybe_hot_frequency_p): Likewise.
      	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
      	* tree-inline.c (initialize_cfun): Likewise.
      	(copy_cfg_body): Likewise.
      	(copy_body): Likewise.
      	(tree_function_versioning): Likewise.
      
      	* bb-reorder.c (add_labels_and_missing_jumps): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(duplicate_computed_gotos): Remove usage of EXIT_BLOCK_PTR macro.
      	(find_rarely_executed_basic_blocks_and_crossing_edges): Remove uses of
      	macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(connect_traces): Likewise.
      	(rest_of_handle_reorder_blocks): Remove usage of EXIT_BLOCK_PTR macro.
      	(bb_to_key): Remove usage of ENTRY_BLOCK_PTR macro.
      	(fix_crossing_conditional_branches): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	(find_traces_1_round): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(fix_up_fall_thru_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(find_traces): Remove usage of ENTRY_BLOCK_PTR macro.
      	(fix_up_crossing_landing_pad): Remove usage of EXIT_BLOCK_PTR macro.
      	(rotate_loop): Likewise.
      	* bt-load.c (migrate_btr_def): Remove usage of ENTRY_BLOCK_PTR macro.
      	* cfg.c (clear_aux_for_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(alloc_aux_for_edges): Likewise.
      	(clear_bb_flags): Remove usage of ENTRY_BLOCK_PTR macro.
      	(cached_make_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(compact_blocks): Likewise.
      	(clear_edges): Likewise.
      	* cfganal.c (single_pred_before_succ_order): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(bitmap_union_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
      	(bitmap_union_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
      	(bitmap_intersection_of_succs): Remove usage of EXIT_BLOCK_PTR macro.
      	(bitmap_intersection_of_preds): Remove usage of ENTRY_BLOCK_PTR macro.
      	(inverted_post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(compute_dominance_frontiers_1): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(post_order_compute): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(connect_infinite_loops_to_exit): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	(remove_fake_edges): Remove usage of ENTRY_BLOCK_PTR macro.
      	(add_noreturn_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(find_pdom): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(remove_fake_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(verify_edge_list): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(print_edge_list): Likewise.
      	(create_edge_list): Likewise.
      	(find_unreachable_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
      	(mark_dfs_back_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	* cfgbuild.c (find_bb_boundaries): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(find_many_sub_basic_blocks): Remove usage of EXIT_BLOCK_PTR macro.
      	(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* cfgcleanup.c (delete_unreachable_blocks): Likewise.
      	(try_optimize_cfg): Likewise.
      	(try_head_merge_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(try_crossjump_to_edge): Remove usage of ENTRY_BLOCK_PTR macro.
      	(try_crossjump_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(merge_blocks_move): Remove usage of ENTRY_BLOCK_PTR macro.
      	(outgoing_edges_match): Remove usage of EXIT_BLOCK_PTR macro.
      	(try_forward_edges): Likewise.
      	(try_simplify_condjump): Likewise.
      	* cfgexpand.c (gimple_expand_cfg): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(construct_exit_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(construct_init_block): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(expand_gimple_basic_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(expand_gimple_tailcall): Likewise.
      	* cfghooks.c (can_duplicate_block_p): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(tidy_fallthru_edges): Likewise.
      	(verify_flow_info): Likewise.
      	* cfgloop.c (flow_bb_inside_loop_p): Likewise.
      	(num_loop_branches): Remove usage of EXIT_BLOCK_PTR macro.
      	(disambiguate_multiple_latches): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(get_loop_exit_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(bb_loop_header_p): Remove usage of ENTRY_BLOCK_PTR macro.
      	(get_loop_body_in_bfs_order): Remove usage of EXIT_BLOCK_PTR macro.
      	(get_loop_body_in_dom_order): Likewise.
      	(get_loop_body): Likewise.
      	* cfgloopanal.c (mark_irreducible_loops): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* cfgloopmanip.c (create_preheader): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(remove_path): Remove usage of EXIT_BLOCK_PTR macro.
      	(fix_bb_placement): Likewise.
      	* cfgrtl.c (rtl_block_empty_p): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(rtl_can_remove_branch_p): Remove usage of EXIT_BLOCK_PTR macro.
      	(cfg_layout_split_edge): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(rtl_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
      	(cfg_layout_can_merge_blocks_p): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(cfg_layout_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(fixup_fallthru_exit_predecessor): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(fixup_reorder_chain): Likewise.
      	(relink_block_chain): Likewise.
      	(cfg_layout_delete_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(rtl_verify_bb_layout): Remove usage of ENTRY_BLOCK_PTR macro.
      	(cfg_layout_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(force_one_exit_fallthru): Likewise.
      	(rtl_verify_fallthru): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(rtl_verify_edges): Likewise.
      	(commit_edge_insertions): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	(rtl_split_edge): Likewise.
      	(force_nonfallthru_and_redirect): Likewise.
      	(outof_cfg_layout_mode): Remove usage of EXIT_BLOCK_PTR macro.
      	(skip_insns_after_block): Likewise.
      	(fixup_partition_crossing): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(purge_dead_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(rtl_can_merge_blocks): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(contains_no_active_insn_p): Likewise.
      	(emit_insn_at_entry): Remove usage of ENTRY_BLOCK_PTR macro.
      	(entry_of_function): Likewise.
      	(last_bb_in_partition): Remove usage of EXIT_BLOCK_PTR macro.
      	(fixup_new_cold_bb): Likewise.
      	(patch_jump_insn): Likewise.
      	(try_redirect_by_replacing_jump): Likewise.
      	(block_label): Likewise.
      	(could_fall_through): Likewise.
      	(can_fallthru): Likewise.
      	* cgraphbuild.c (cgraph_rebuild_references): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(rebuild_cgraph_edges): Likewise.
      	* cgraphunit.c (init_lowered_empty_function): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(expand_thunk): Remove usage of EXIT_BLOCK_PTR macro.
      	* combine.c (get_last_value): Remove usage of ENTRY_BLOCK_PTR macro.
      	(distribute_links): Remove usage of EXIT_BLOCK_PTR macro.
      	(get_last_value_validate): Remove usage of ENTRY_BLOCK_PTR macro.
      	(try_combine): Remove usage of EXIT_BLOCK_PTR macro.
      	(reg_num_sign_bit_copies_for_combine): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(reg_nonzero_bits_for_combine): Likewise.
      	(set_nonzero_bits_and_sign_copies): Likewise.
      	(combine_instructions): Likewise.
      	* cprop.c (one_cprop_pass): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(bypass_conditional_jumps): Likewise.
      	(bypass_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(find_implicit_sets): Likewise.
      	(cprop_jump): Likewise.
      	* cse.c (cse_cc_succs): Likewise.
      	(cse_find_path): Likewise.
      	* df-problems.c (df_lr_confluence_0): Likewise.
      	* df-scan.c (df_entry_block_defs_collect): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(df_exit_block_uses_collect): Remove usage of EXIT_BLOCK_PTR macro.
      	* dominance.c (iterate_fix_dominators): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(calc_idoms): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(determine_dominators_for_sons): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(calc_dfs_tree): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(prune_bbs_to_update_dominators): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(calc_dfs_tree_nonrec): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	* domwalk.c (cmp_bb_postorder): Likewise.
      	* dse.c (dse_step1): Remove usage of EXIT_BLOCK_PTR macro.
      	* except.c (finish_eh_generation): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(sjlj_emit_function_enter): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Remove uses of
      	macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(reposition_prologue_and_epilogue_notes): Remove usage of
      	EXIT_BLOCK_PTR macro.
      	(convert_jumps_to_returns): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(regno_clobbered_at_setjmp): Remove usage of ENTRY_BLOCK_PTR macro.
      	(next_block_for_reg): Remove usage of EXIT_BLOCK_PTR macro.
      	* gcse.c (hoist_code): Remove usage of ENTRY_BLOCK_PTR macro.
      	(update_bb_reg_pressure): Remove usage of EXIT_BLOCK_PTR macro.
      	(compute_code_hoist_vbeinout): Likewise.
      	(should_hoist_expr_to_dom): Remove usage of ENTRY_BLOCK_PTR macro.
      	(pre_expr_reaches_here_p_work): Likewise.
      	* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
      	(gimple_find_edge_insert_loc): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	* gimple-ssa-strength-reduction.c (slsr_process_phi): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* graph.c (draw_cfg_nodes_for_loop): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	* graphite-clast-to-gimple.c (translate_clast_user): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* graphite-scop-detection.c (build_scops): Likewise.
      	(create_sese_edges): Remove usage of EXIT_BLOCK_PTR macro.
      	(scopdet_basic_block_info): Remove usage of ENTRY_BLOCK_PTR macro.
      	* haifa-sched.c (restore_bb_notes): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	(unlink_bb_notes): Likewise.
      	(create_check_block_twin): Likewise.
      	(init_before_recovery): Likewise.
      	(sched_extend_bb): Likewise.
      	(priority): Likewise.
      	* hw-doloop.c (reorder_loops): Likewise.
      	(discover_loop): Likewise.
      	* ifcvt.c (dead_or_predicable): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(find_if_case_1): Remove usage of EXIT_BLOCK_PTR macro.
      	(block_has_only_trap): Likewise.
      	(cond_exec_find_if_block): Likewise.
      	(merge_if_block): Likewise.
      	* ipa-inline-analysis.c (param_change_prob): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(record_modified): Likewise.
      	* ipa-pure-const.c (execute_warn_function_noreturn): Remove usage of
      	EXIT_BLOCK_PTR macro.
      	(local_pure_const): Likewise.
      	* ipa-split.c (split_function): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(find_split_points): Likewise.
      	(consider_split): Likewise.
      	(find_return_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(verify_non_ssa_vars): Remove usage of ENTRY_BLOCK_PTR macro.
      	* ira-build.c (ira_loop_tree_body_rev_postorder): Likewise.
      	* ira-color.c (print_loop_title): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	* ira-emit.c (entered_from_non_parent_p): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(ira_emit): Remove usage of EXIT_BLOCK_PTR macro.
      	* ira-int.h (ira_assert): Remove usage of ENTRY_BLOCK_PTR macro.
      	* ira.c (split_live_ranges_for_shrink_wrap): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* lcm.c (compute_rev_insert_delete): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(compute_nearerout): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(compute_farthest): Likewise.
      	(compute_available): Likewise.
      	(compute_insert_delete): Remove usage of EXIT_BLOCK_PTR macro.
      	(compute_laterin): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(compute_earliest): Likewise.
      	(compute_antinout_edge): Likewise.
      	* loop-iv.c (simplify_using_initial_values): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* loop-unswitch.c (unswitch_loop): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	* lra-assigns.c (find_hard_regno_for): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	* lra-constraints.c (lra_inheritance): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	* lra-lives.c (lra_create_live_ranges): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* lra.c (has_nonexceptional_receiver): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	* lto-streamer-in.c (input_function): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	* lto-streamer-out.c (output_cfg): Likewise.
      	* mcf.c (adjust_cfg_counts): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(create_fixup_graph): Remove usage of ENTRY_BLOCK_PTR macro.
      	* mode-switching.c (optimize_mode_switching): Likewise.
      	(create_pre_exit): Remove usage of EXIT_BLOCK_PTR macro.
      	* modulo-sched.c (rest_of_handle_sms): Likewise.
      	(canon_loop): Likewise.
      	* omp-low.c (build_omp_regions): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	* postreload-gcse.c (eliminate_partially_redundant_loads): Remove uses
      	of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* predict.c (rebuild_frequencies): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(propagate_freq): Remove usage of EXIT_BLOCK_PTR macro.
      	(estimate_bb_frequencies): Remove usage of ENTRY_BLOCK_PTR macro.
      	(tree_estimate_probability_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(expensive_function_p): Remove usage of ENTRY_BLOCK_PTR macro.
      	(tree_bb_level_predictions): Remove usage of EXIT_BLOCK_PTR macro.
      	(counts_to_freqs): Remove usage of ENTRY_BLOCK_PTR macro.
      	(apply_return_prediction): Remove usage of EXIT_BLOCK_PTR macro.
      	(estimate_loops): Remove usage of ENTRY_BLOCK_PTR macro.
      	(gimple_predict_edge): Likewise.
      	(probably_never_executed): Likewise.
      	* profile.c (find_spanning_tree): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(branch_prob): Likewise.
      	(compute_branch_probabilities): Likewise.
      	(compute_frequency_overlap): Remove usage of ENTRY_BLOCK_PTR macro.
      	(is_inconsistent): Remove usage of EXIT_BLOCK_PTR macro.
      	(read_profile_edge_counts): Remove usage of ENTRY_BLOCK_PTR macro.
      	(set_bb_counts): Likewise.
      	(correct_negative_edge_counts): Likewise.
      	(get_exec_counts): Likewise.
      	(instrument_values): Likewise.
      	(instrument_edges): Likewise.
      	* reg-stack.c (convert_regs): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(compensate_edges): Remove usage of ENTRY_BLOCK_PTR macro.
      	(convert_regs_exit): Remove usage of EXIT_BLOCK_PTR macro.
      	(convert_regs_entry): Remove usage of ENTRY_BLOCK_PTR macro.
      	(reg_to_stack): Likewise.
      	* regs.h (REG_N_SETS): Likewise.
      	* reload.c (find_dummy_reload): Likewise.
      	(combine_reloads): Likewise.
      	(push_reload): Likewise.
      	* reload1.c (has_nonexceptional_receiver): Remove usage of
      	EXIT_BLOCK_PTR macro.
      	* resource.c (mark_target_live_regs): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(find_basic_block): Likewise.
      	* sched-ebb.c (ebb_add_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(schedule_ebbs): Likewise.
      	* sched-int.h (sel_sched_p): Likewise.
      	* sched-rgn.c (compute_dom_prob_ps): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(rgn_add_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(haifa_find_rgns): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(propagate_deps): Remove usage of EXIT_BLOCK_PTR macro.
      	(extend_rgns): Likewise.
      	(find_single_block_region): Likewise.
      	* sel-sched-ir.c (sel_remove_loop_preheader): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(setup_nop_and_exit_insns): Remove usage of EXIT_BLOCK_PTR macro.
      	(sel_create_recovery_block): Likewise.
      	(bb_ends_ebb_p): Likewise.
      	(sel_bb_end): Likewise.
      	(sel_bb_head): Likewise.
      	(free_lv_sets): Likewise.
      	(init_lv_sets): Likewise.
      	(tidy_control_flow): Likewise.
      	(maybe_tidy_empty_bb): Likewise.
      	* sel-sched-ir.h (_succ_iter_cond): Likewise.
      	(_succ_iter_start): Likewise.
      	(sel_bb_empty_or_nop_p): Likewise.
      	(get_loop_exit_edges_unique_dests): Likewise.
      	(inner_loop_header_p): Likewise.
      	* sel-sched.c (create_block_for_bookkeeping): Likewise.
      	(find_block_for_bookkeeping): Likewise.
      	* store-motion.c (remove_reachable_equiv_notes): Likewise.
      	(insert_store): Likewise.
      	* trans-mem.c (ipa_tm_transform_clone): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(tm_memopt_compute_available): Remove usage of EXIT_BLOCK_PTR macro.
      	(ipa_tm_scan_irr_function): Remove usage of ENTRY_BLOCK_PTR macro.
      	(gate_tm_init): Likewise.
      	(tm_region_init): Likewise.
      	* tree-cfg.c (execute_fixup_cfg): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(execute_warn_function_return): Remove usage of EXIT_BLOCK_PTR macro.
      	(split_critical_edges): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(print_loops): Remove usage of ENTRY_BLOCK_PTR macro.
      	(move_sese_region_to_fn): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(gimple_redirect_edge_and_branch): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(gimple_verify_flow_info): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(remove_edge_and_dominated_blocks): Remove usage of EXIT_BLOCK_PTR
      	macro.
      	(make_edges): Remove uses of macros: ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(gimple_flow_call_edges_add): Remove usage of EXIT_BLOCK_PTR macro.
      	(make_blocks): Remove usage of ENTRY_BLOCK_PTR macro.
      	(build_gimple_cfg): Likewise.
      	(gimple_duplicate_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(gimple_can_merge_blocks_p): Likewise.
      	* tree-cfgcleanup.c (tree_forwarder_block_p): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* tree-complex.c (update_parameter_components): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* tree-if-conv.c (get_loop_body_in_if_conv_order): Remove usage of
      	EXIT_BLOCK_PTR macro.
      	* tree-inline.c (tree_function_versioning): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(delete_unreachable_blocks_update_callgraph): Likewise.
      	(initialize_cfun): Likewise.
      	(copy_cfg_body): Remove usage of ENTRY_BLOCK_PTR macro.
      	(copy_edges_for_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(remap_ssa_name): Remove usage of ENTRY_BLOCK_PTR macro.
      	* tree-into-ssa.c (update_ssa): Likewise.
      	(maybe_register_def): Remove usage of EXIT_BLOCK_PTR macro.
      	(insert_updated_phi_nodes_for): Remove usage of ENTRY_BLOCK_PTR macro.
      	(rewrite_into_ssa): Likewise.
      	(rewrite_debug_stmt_uses): Likewise.
      	* tree-outof-ssa.c (expand_phi_nodes): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* tree-profile.c (gimple_gen_ic_func_profiler): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* tree-scalar-evolution.h (block_before_loop): Likewise.
      	* tree-sra.c (sra_ipa_reset_debug_stmts): Likewise.
      	(dump_dereferences_table): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(analyze_caller_dereference_legality): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(propagate_dereference_distances): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(initialize_parameter_reductions): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	* tree-ssa-ccp.c (gsi_prev_dom_bb_nondebug): Likewise.
      	(optimize_stack_restore): Remove usage of EXIT_BLOCK_PTR macro.
      	* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(remove_dead_stmt): Remove usage of EXIT_BLOCK_PTR macro.
      	(propagate_necessity): Remove usage of ENTRY_BLOCK_PTR macro.
      	(mark_control_dependent_edges_necessary): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	* tree-ssa-dom.c (eliminate_degenerate_phis): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(tree_ssa_dominator_optimize): Remove usage of EXIT_BLOCK_PTR macro.
      	* tree-ssa-live.c (verify_live_on_entry): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(calculate_live_on_exit): Likewise.
      	(set_var_live_on_entry): Remove usage of ENTRY_BLOCK_PTR macro.
      	(loe_visit_block): Likewise.
      	* tree-ssa-live.h (live_on_exit): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(live_on_entry): Likewise.
      	* tree-ssa-loop-ivopts.c (find_interesting_uses): Remove usage of
      	EXIT_BLOCK_PTR macro.
      	* tree-ssa-loop-manip.c (compute_live_loop_exits): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Likewise.
      	(bound_difference): Likewise.
      	* tree-ssa-loop-prefetch.c (may_use_storent_in_loop_p): Remove usage
      	of EXIT_BLOCK_PTR macro.
      	* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Remove usage
      	of ENTRY_BLOCK_PTR macro.
      	* tree-ssa-math-opts.c (register_division_in): Likewise.
      	* tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
      	* tree-ssa-pre.c (compute_avail): Likewise.
      	(compute_antic): Remove usage of EXIT_BLOCK_PTR macro.
      	(insert): Remove usage of ENTRY_BLOCK_PTR macro.
      	* tree-ssa-propagate.c (ssa_prop_init): Likewise.
      	(simulate_block): Remove usage of EXIT_BLOCK_PTR macro.
      	(cfg_blocks_add): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	(add_control_edge): Remove usage of EXIT_BLOCK_PTR macro.
      	* tree-ssa-reassoc.c (do_reassoc): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(build_and_add_sum): Remove usage of ENTRY_BLOCK_PTR macro.
      	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
      	(execute_sink_code): Remove usage of EXIT_BLOCK_PTR macro.
      	* tree-ssa-uninit.c (find_dom): Remove usage of ENTRY_BLOCK_PTR macro.
      	(compute_control_dep_chain): Remove usage of EXIT_BLOCK_PTR macro.
      	(find_pdom): Likewise.
      	(warn_uninitialized_vars): Remove usage of ENTRY_BLOCK_PTR macro.
      	* tree-stdarg.c (reachable_at_most_once): Likewise.
      	* tree-tailcall.c (tree_optimize_tail_calls_1): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(eliminate_tail_call): Likewise.
      	* tsan.c (instrument_func_entry): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	(instrument_func_exit): Remove usage of EXIT_BLOCK_PTR macro.
      	* var-tracking.c (vt_initialize): Remove uses of macros:
      	ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR.
      	(vt_add_function_parameter): Remove usage of ENTRY_BLOCK_PTR macro.
      	(vt_find_locations): Remove usage of EXIT_BLOCK_PTR macro.
      	(vt_stack_adjustments): Remove uses of macros: ENTRY_BLOCK_PTR,
      	EXIT_BLOCK_PTR.
      	* varasm.c (assemble_start_function): Remove usage of ENTRY_BLOCK_PTR
      	macro.
      	* config/bfin/bfin.c (hwloop_optimize): Likewise.
      	* config/nds32/nds32.c (nds32_fp_as_gp_check_available): Remove usage
      	of EXIT_BLOCK_PTR macro.
      	* config/arm/arm.c (require_pic_register): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	(arm_r3_live_at_start_p): Likewise.
      	(any_sibcall_could_use_r3): Remove usage of EXIT_BLOCK_PTR macro.
      	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
      	* config/frv/frv.c (frv_optimize_membar_global): Likewise.
      	* config/alpha/alpha.c (alpha_gp_save_rtx): Remove usage of
      	ENTRY_BLOCK_PTR macro.
      	* config/i386/i386.c (ix86_count_insn): Likewise.
      	(ix86_seh_fixup_eh_fallthru): Remove usage of EXIT_BLOCK_PTR macro.
      	(ix86_pad_short_function): Likewise.
      	(ix86_compute_frame_layout): Remove usage of ENTRY_BLOCK_PTR macro.
      	(ix86_pad_returns): Remove usage of EXIT_BLOCK_PTR macro.
      	(ix86_eax_live_at_start_p): Remove usage of ENTRY_BLOCK_PTR macro.
      	(add_condition_to_bb): Remove usage of EXIT_BLOCK_PTR macro.
      	(ix86_expand_epilogue): Likewise.
      	* config/ia64/ia64.c (ia64_asm_unwind_emit): Likewise.
      	(ia64_expand_prologue): Likewise.
      
      From-SVN: r205055
      David Malcolm committed
    • Eliminate n_edges macro · dc936fb2
      	* basic-block.h (n_edges_for_function): Rename macro to...
      	(n_edges_for_fn): ...this.
      	(n_edges): Eliminate macro as work towards making uses of
      	cfun be explicit.
      
      	* cfg.c (init_flow): Update for renaming of "n_edges_for_function"
      	to "n_edges_for_fn".
      
      	* cfg.c (unchecked_make_edge): Remove usage of n_edges macro.
      	(clear_edges): Likewise.
      	(free_edge): Likewise.
      	* cfghooks.c (dump_flow_info): Likewise.
      	* cprop.c (is_too_expensive): Likewise.
      	* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
      	* gcse.c (is_too_expensive): Likewise.
      	(prune_insertions_deletions): Likewise.
      	* mcf.c (create_fixup_graph): Likewise.
      	* sched-rgn.c (haifa_find_rgns): Likewise.
      	* tree-cfg.c (gimple_dump_cfg): Likewise.
      	* var-tracking.c (variable_tracking_main_1): Likewise.
      
      From-SVN: r205044
      David Malcolm committed
    • Eliminate n_basic_blocks macro · 0cae8d31
      gcc/
      	* basic-block.h (n_basic_blocks_for_function): Rename macro to...
      	(n_basic_blocks_for_fn): ...this.
      
      	(n_basic_blocks): Eliminate macro as work towards making uses of
      	cfun be explicit.
      
      	* cfgloop.c (init_loops_structure): Update for renaming of
      	"n_basic_blocks_for_function" to "n_basic_blocks_for_fn".
      	* graph.c (draw_cfg_nodes_no_loops): Likewise.
      	* ipa-utils.c (ipa_merge_profiles): Likewise.
      	* lto-streamer-in.c (make_new_block): Likewise.
      	* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
      	(dump_function_to_file): Likewise.
      
      	* alias.c (init_alias_analysis): Replace usage of "n_basic_blocks"
      	macro with "n_basic_blocks_for_fn (cfun)".
      	* bb-reorder.c (partition_hot_cold_basic_blocks): Likewise.
      	(duplicate_computed_gotos): Likewise.
      	(reorder_basic_blocks): Likewise.
      	* bt-load.c (augment_live_range): Likewise.
      	* cfg.c (expunge_block): Likewise.
      	(compact_blocks): Likewise.
      	* cfganal.c (single_pred_before_succ_order): Likewise.
      	(compute_idf): Likewise.
      	(flow_dfs_compute_reverse_init): Likewise.
      	(pre_and_rev_post_order_compute): Likewise.
      	(pre_and_rev_post_order_compute_fn): Likewise.
      	(inverted_post_order_compute): Likewise.
      	(post_order_compute): Likewise.
      	(print_edge_list): Likewise.
      	(find_unreachable_blocks): Likewise.
      	(mark_dfs_back_edges): Likewise.
      	* cfgcleanup.c (try_optimize_cfg): Likewise.
      	(try_forward_edges): Likewise.
      	* cfghooks.c (dump_flow_info): Likewise.
      	* cfgloop.c (verify_loop_structure): Likewise.
      	(get_loop_body): Likewise.
      	(flow_loops_find): Likewise.
      	* cfgloopmanip.c (add_loop): Likewise.
      	(remove_path): Likewise.
      	(find_path): Likewise.
      	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
      	(rtl_verify_bb_layout): Likewise.
      	(entry_of_function): Likewise.
      	(rtl_create_basic_block): Likewise.
      	* coverage.c (coverage_compute_cfg_checksum): Likewise.
      	* cprop.c (one_cprop_pass): Likewise.
      	(is_too_expensive): Likewise.
      	* df-core.c (df_compute_cfg_image): Likewise.
      	(df_compact_blocks): Likewise.
      	(df_worklist_dataflow_doublequeue): Likewise.
      	* dominance.c (calculate_dominance_info): Likewise.
      	(calc_dfs_tree): Likewise.
      	(calc_dfs_tree_nonrec): Likewise.
      	(init_dom_info): Likewise.
      	* domwalk.c (cmp_bb_postorder): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Likewise.
      	(generate_setjmp_warnings): Likewise.
      	* fwprop.c (build_single_def_use_links): Likewise.
      	* gcse.c (is_too_expensive): Likewise.
      	(one_code_hoisting_pass): Likewise.
      	(one_pre_gcse_pass): Likewise.
      	* graphite.c (graphite_initialize): Likewise.
      	* haifa-sched.c (haifa_sched_init): Likewise.
      	* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
      	* ira.c (split_live_ranges_for_shrink_wrap): Likewise.
      	* ira-build.c (ira_build): Likewise.
      	* lcm.c (compute_nearerout): Likewise.
      	(compute_available): Likewise.
      	(compute_laterin): Likewise.
      	(compute_antinout_edge): Likewise.
      	* lra-lives.c (lra_create_live_ranges): Likewise.
      	* lra.c (has_nonexceptional_receiver): Likewise.
      	* mcf.c (create_fixup_graph): Likewise.
      	* profile.c (branch_prob): Likewise.
      	* reg-stack.c (convert_regs_2): Likewise.
      	* regrename.c (regrename_analyze): Likewise.
      	* reload1.c (has_nonexceptional_receiver): Likewise.
      	* reorg.c (dbr_schedule): Likewise.
      	* sched-deps.c (sched_deps_init): Likewise.
      	* sched-ebb.c (schedule_ebbs): Likewise.
      	* sched-rgn.c (extend_regions): Likewise.
      	(schedule_insns): Likewise.
      	(sched_rgn_init): Likewise.
      	(extend_rgns): Likewise.
      	(haifa_find_rgns): Likewise.
      	* sel-sched-ir.c (recompute_rev_top_order): Likewise.
      	(sel_recompute_toporder): Likewise.
      	* sel-sched.c (run_selective_scheduling): Likewise.
      	* store-motion.c (one_store_motion_pass): Likewise.
      	(remove_reachable_equiv_notes): Likewise.
      	* tracer.c (tracer): Likewise.
      	(tail_duplicate): Likewise.
      	* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
      	(dump_cfg_stats): Likewise.
      	(gimple_dump_cfg): Likewise.
      	(create_bb): Likewise.
      	(build_gimple_cfg): Likewise.
      	* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
      	* tree-inline.c (optimize_inline_calls): Likewise.
      	(fold_marked_statements): Likewise.
      	* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Likewise.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
      	* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
      	* tree-ssa-loop-manip.c (compute_live_loop_exits): Likewise.
      	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
      	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
      	* tree-ssa-pre.c (do_pre): Likewise.
      	(init_pre): Likewise.
      	(compute_avail): Likewise.
      	* tree-ssa-reassoc.c (init_reassoc): Likewise.
      	* tree-ssa-sccvn.c (init_scc_vn): Likewise.
      	* tree-ssa-tail-merge.c (alloc_cluster_vectors): Likewise.
      	(init_worklist): Likewise.
      	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
      	* var-tracking.c (variable_tracking_main_1): Likewise.
      	(vt_find_locations): Likewise.
      	(vt_stack_adjustments): Likewise.
      	* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
      	* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
      
      From-SVN: r204995
      David Malcolm committed
  16. 30 Sep, 2013 1 commit
    • basic-block.h (edge_list): Prefix member names with "m_". · 65d3284b
      gcc/
      	* basic-block.h (edge_list): Prefix member names with "m_".
      	* context.h (context): Likewise.
      	* domwalk.h (dom_walker): Likewise.
      	* gengtype-state.c (s_expr_writer, state_writer): Likewise.
      	* graphite-sese-to-poly.c (sese_dom_walker): Likewise.
      	* hash-table.h (hash_table): Likewise.
      	* machmode.h (bit_field_mode_iterator): Likewise.
      	* pass_manager.h (pass_list): Likewise.
      	* tree-into-ssa.c (mark_def_dom_walker): Likewise.
      	* tree-pass.h (pass_data): Likewise.
      	* tree-ssa-dom.c (dom_opt_dom_walker): Likewise.
      	* tree-ssa-phiopt.c (nontrapping_dom_walker): Likewise,
      	* tree-ssa-uncprop.c (uncprop_dom_walker): Likewise.
      	* asan.c (pass_data_asan): Update accordingly.
      	* cfganal.c (control_dependences::find_control_dependence): Likewise.
      	(control_dependences::control_dependences): Likewise.
      	(control_dependences::~control_dependences): Likewise.
      	(control_dependences::~control_dependences): Likewise.
      	(control_dependences::get_edges_dependent_on): Likewise.
      	* cgraphbuild.c (pass_data_rebuild_cgraph_edges::clone): Likewise.
      	(pass_data_remove_cgraph_callee_edges::clone): Likewise.
      	* context.c (gcc::context::context): Likewise.
      	* cprop.c (pass_rtl_cprop::clone): Likewise.
      	* domwalk.c (dom_walker::walk): Likewise.
      	* ipa-inline-analysis.c (pass_inline_parameters::clone): Likewise.
      	* ipa-pure-const.c (pass_local_pure_const::clone): Likewise.
      	* mode-switching.c (pass_mode_switching::clone): Likewise.
      	* passes.c (opt_pass::opt_pass): Likewise.
      	(pass_manager::pass_manager): Likewise.
      	* predict.c (pass_strip_predict_hints::clone): Likewise.
      	* recog.c (pass_data pass_data_peephole2::clone): Likewise.
      	(pass_split_all_insns::clone): Likewise.
      	* stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
      	Likewise.
      	(bit_field_mode_iterator::next_mode): Likewise.
      	(bit_field_mode_iterator::prefer_smaller_modes): Likewise.
      	* tree-cfg.c (pass_split_crit_edges::clone): Likewise.
      	* tree-cfgcleanup.c (pass_merge_phi::clone): Likewise.
      	* tree-complex.c (pass_lower_complex::clone): Likewise.
      	* tree-eh.c (pass_cleanup_eh::clone): Likewise.
      	* tree-object-size.c (pass_object_sizes::clone): Likewise.
      	* tree-optimize.c (pass_fixup_cfg::clone): Likewise.
      	* tree-ssa-ccp.c (pass_data_ccp::clone): Likewise.
      	(pass_fold_builtins::clone): Likewise.
      	* tree-ssa-copy.c (pass_data_copy_prop::clone): Likewise.
      	* tree-ssa-copyrename.c (pass_rename_ssa_copies::clone): Likewise.
      	* tree-ssa-dce.c (pass_dce::clone, pass_dce_loop::clone): Likewise.
      	(pass_cd_dce::clone): Likewise.
      	* tree-ssa-dom.c (pass_dominator::clone): Likewise.
      	(pass_phi_only_cprop::clone): Likewise.
      	* tree-ssa-dse.c (pass_dse::clone): Likewise.
      	* tree-ssa-forwprop.c (pass_forwprop::clone): Likewise.
      	* tree-ssa-loop.c (pass_lim::clone): Likewise.
      	* tree-ssa-phiopt.c (pass_phiopt::clone): Likewise.
      	* tree-ssa-pre.c (pass_fre::clone): Likewise.
      	* tree-ssa-reassoc.c (pass_reassoc::clone): Likewise.
      	* tree-ssa-uninit.c (pass_late_warn_uninitialized::clone): Likewise.
      	* tree-tailcall.c (pass_tail_recursion::clone): Likewise.
      	* tree-vect-generic.c (pass_lower_vector_ssa::clone): Likewise.
      	* tree-vrp.c (pass_vrp::clone): Likewise.
      	* tsan.c (pass_tsan::clone): Likewise.
      
      From-SVN: r203046
      Richard Sandiford committed
  17. 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
  18. 05 Aug, 2013 1 commit
    • Automated conversion of passes to C++ classes · 27a4cd48
      gcc/
      
      	Patch autogenerated by refactor_passes.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
      
      	* asan.c (pass_asan): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_asan): ...new pass_data instance and...
      	(make_pass_asan): ...new function.
      	(pass_asan_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_asan_O0): ...new pass_data instance and...
      	(make_pass_asan_O0): ...new function.
      	* auto-inc-dec.c (pass_inc_dec): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_inc_dec): ...new pass_data instance and...
      	(make_pass_inc_dec): ...new function.
      	* bb-reorder.c (pass_reorder_blocks): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_reorder_blocks): ...new pass_data instance and...
      	(make_pass_reorder_blocks): ...new function.
      	(pass_duplicate_computed_gotos): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_duplicate_computed_gotos): ...new pass_data instance and...
      	(make_pass_duplicate_computed_gotos): ...new function.
      	(pass_partition_blocks): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_partition_blocks): ...new pass_data instance and...
      	(make_pass_partition_blocks): ...new function.
      	* bt-load.c (pass_branch_target_load_optimize1): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_branch_target_load_optimize1): ...new pass_data instance
      	and...
      	(make_pass_branch_target_load_optimize1): ...new function.
      	(pass_branch_target_load_optimize2): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_branch_target_load_optimize2): ...new pass_data instance
      	and...
      	(make_pass_branch_target_load_optimize2): ...new function.
      	* cfgcleanup.c (pass_jump): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_jump): ...new pass_data instance and...
      	(make_pass_jump): ...new function.
      	(pass_jump2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_jump2): ...new pass_data instance and...
      	(make_pass_jump2): ...new function.
      	* cfgexpand.c (pass_expand): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_expand): ...new pass_data instance and...
      	(make_pass_expand): ...new function.
      	* cfgrtl.c (pass_free_cfg): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_free_cfg): ...new pass_data instance and...
      	(make_pass_free_cfg): ...new function.
      	(pass_into_cfg_layout_mode): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_into_cfg_layout_mode): ...new pass_data instance and...
      	(make_pass_into_cfg_layout_mode): ...new function.
      	(pass_outof_cfg_layout_mode): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_outof_cfg_layout_mode): ...new pass_data instance and...
      	(make_pass_outof_cfg_layout_mode): ...new function.
      	* cgraphbuild.c (pass_build_cgraph_edges): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_build_cgraph_edges): ...new pass_data instance and...
      	(make_pass_build_cgraph_edges): ...new function.
      	(pass_rebuild_cgraph_edges): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_rebuild_cgraph_edges): ...new pass_data instance and...
      	(make_pass_rebuild_cgraph_edges): ...new function.
      	(pass_remove_cgraph_callee_edges): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_remove_cgraph_callee_edges): ...new pass_data instance
      	and...
      	(make_pass_remove_cgraph_callee_edges): ...new function.
      	* combine-stack-adj.c (pass_stack_adjustments): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_stack_adjustments): ...new pass_data instance and...
      	(make_pass_stack_adjustments): ...new function.
      	* combine.c (pass_combine): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_combine): ...new pass_data instance and...
      	(make_pass_combine): ...new function.
      	* compare-elim.c (pass_compare_elim_after_reload): Convert from a
      	global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_compare_elim_after_reload): ...new pass_data instance
      	and...
      	(make_pass_compare_elim_after_reload): ...new function.
      	* cprop.c (pass_rtl_cprop): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rtl_cprop): ...new pass_data instance and...
      	(make_pass_rtl_cprop): ...new function.
      	* cse.c (pass_cse): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_cse): ...new pass_data instance and...
      	(make_pass_cse): ...new function.
      	(pass_cse2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_cse2): ...new pass_data instance and...
      	(make_pass_cse2): ...new function.
      	(pass_cse_after_global_opts): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cse_after_global_opts): ...new pass_data instance and...
      	(make_pass_cse_after_global_opts): ...new function.
      	* dce.c (pass_ud_rtl_dce): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_ud_rtl_dce): ...new pass_data instance and...
      	(make_pass_ud_rtl_dce): ...new function.
      	(pass_fast_rtl_dce): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_fast_rtl_dce): ...new pass_data instance and...
      	(make_pass_fast_rtl_dce): ...new function.
      	* df-core.c (pass_df_initialize_opt): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_df_initialize_opt): ...new pass_data instance and...
      	(make_pass_df_initialize_opt): ...new function.
      	(pass_df_initialize_no_opt): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_df_initialize_no_opt): ...new pass_data instance and...
      	(make_pass_df_initialize_no_opt): ...new function.
      	(pass_df_finish): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_df_finish): ...new pass_data instance and...
      	(make_pass_df_finish): ...new function.
      	* dse.c (pass_rtl_dse1): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_dse1): ...new pass_data instance and...
      	(make_pass_rtl_dse1): ...new function.
      	(pass_rtl_dse2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_dse2): ...new pass_data instance and...
      	(make_pass_rtl_dse2): ...new function.
      	* dwarf2cfi.c (pass_dwarf2_frame): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_dwarf2_frame): ...new pass_data instance and...
      	(make_pass_dwarf2_frame): ...new function.
      	* except.c (pass_set_nothrow_function_flags): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_set_nothrow_function_flags): ...new pass_data instance
      	and...
      	(make_pass_set_nothrow_function_flags): ...new function.
      	(pass_convert_to_eh_region_ranges): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_convert_to_eh_region_ranges): ...new pass_data instance
      	and...
      	(make_pass_convert_to_eh_region_ranges): ...new function.
      	* final.c (pass_compute_alignments): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_compute_alignments): ...new pass_data instance and...
      	(make_pass_compute_alignments): ...new function.
      	(pass_final): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_final): ...new pass_data instance and...
      	(make_pass_final): ...new function.
      	(pass_shorten_branches): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_shorten_branches): ...new pass_data instance and...
      	(make_pass_shorten_branches): ...new function.
      	(pass_clean_state): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_clean_state): ...new pass_data instance and...
      	(make_pass_clean_state): ...new function.
      	* function.c (pass_instantiate_virtual_regs): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_instantiate_virtual_regs): ...new pass_data instance and...
      	(make_pass_instantiate_virtual_regs): ...new function.
      	(pass_leaf_regs): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_leaf_regs): ...new pass_data instance and...
      	(make_pass_leaf_regs): ...new function.
      	(pass_thread_prologue_and_epilogue): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_thread_prologue_and_epilogue): ...new pass_data instance
      	and...
      	(make_pass_thread_prologue_and_epilogue): ...new function.
      	(pass_match_asm_constraints): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_match_asm_constraints): ...new pass_data instance and...
      	(make_pass_match_asm_constraints): ...new function.
      	* fwprop.c (pass_rtl_fwprop): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_fwprop): ...new pass_data instance and...
      	(make_pass_rtl_fwprop): ...new function.
      	(pass_rtl_fwprop_addr): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_fwprop_addr): ...new pass_data instance and...
      	(make_pass_rtl_fwprop_addr): ...new function.
      	* gcse.c (pass_rtl_pre): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_pre): ...new pass_data instance and...
      	(make_pass_rtl_pre): ...new function.
      	(pass_rtl_hoist): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_hoist): ...new pass_data instance and...
      	(make_pass_rtl_hoist): ...new function.
      	* gimple-low.c (pass_lower_cf): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_lower_cf): ...new pass_data instance and...
      	(make_pass_lower_cf): ...new function.
      	* gimple-ssa-strength-reduction.c (pass_strength_reduction): Convert
      	from a global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_strength_reduction): ...new pass_data instance and...
      	(make_pass_strength_reduction): ...new function.
      	* ifcvt.c (pass_rtl_ifcvt): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rtl_ifcvt): ...new pass_data instance and...
      	(make_pass_rtl_ifcvt): ...new function.
      	(pass_if_after_combine): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_if_after_combine): ...new pass_data instance and...
      	(make_pass_if_after_combine): ...new function.
      	(pass_if_after_reload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_if_after_reload): ...new pass_data instance and...
      	(make_pass_if_after_reload): ...new function.
      	* init-regs.c (pass_initialize_regs): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_initialize_regs): ...new pass_data instance and...
      	(make_pass_initialize_regs): ...new function.
      	* ipa-cp.c (pass_ipa_cp): Convert from a global struct to a subclass
      	of ipa_opt_pass_d along with...
      	(pass_data_ipa_cp): ...new pass_data instance and...
      	(make_pass_ipa_cp): ...new function.
      	* ipa-inline-analysis.c (pass_inline_parameters): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_inline_parameters): ...new pass_data instance and...
      	(make_pass_inline_parameters): ...new function.
      	* ipa-inline.c (pass_early_inline): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_early_inline): ...new pass_data instance and...
      	(make_pass_early_inline): ...new function.
      	(pass_ipa_inline): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_inline): ...new pass_data instance and...
      	(make_pass_ipa_inline): ...new function.
      	* ipa-pure-const.c (pass_local_pure_const): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_local_pure_const): ...new pass_data instance and...
      	(make_pass_local_pure_const): ...new function.
      	(pass_ipa_pure_const): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_pure_const): ...new pass_data instance and...
      	(make_pass_ipa_pure_const): ...new function.
      	* ipa-reference.c (pass_ipa_reference): Convert from a global struct
      	to a subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_reference): ...new pass_data instance and...
      	(make_pass_ipa_reference): ...new function.
      	* ipa-split.c (pass_split_functions): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_split_functions): ...new pass_data instance and...
      	(make_pass_split_functions): ...new function.
      	(pass_feedback_split_functions): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_feedback_split_functions): ...new pass_data instance and...
      	(make_pass_feedback_split_functions): ...new function.
      	* ipa.c (pass_ipa_function_and_variable_visibility): Convert from a
      	global struct to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_function_and_variable_visibility): ...new pass_data
      	instance and...
      	(make_pass_ipa_function_and_variable_visibility): ...new function.
      	(pass_ipa_free_inline_summary): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_free_inline_summary): ...new pass_data instance and...
      	(make_pass_ipa_free_inline_summary): ...new function.
      	(pass_ipa_whole_program_visibility): Convert from a global struct to a
      	subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_whole_program_visibility): ...new pass_data instance
      	and...
      	(make_pass_ipa_whole_program_visibility): ...new function.
      	(pass_ipa_profile): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_profile): ...new pass_data instance and...
      	(make_pass_ipa_profile): ...new function.
      	(pass_ipa_cdtor_merge): Convert from a global struct to a subclass of
      	ipa_opt_pass_d along with...
      	(pass_data_ipa_cdtor_merge): ...new pass_data instance and...
      	(make_pass_ipa_cdtor_merge): ...new function.
      	* ira.c (pass_ira): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_ira): ...new pass_data instance and...
      	(make_pass_ira): ...new function.
      	(pass_reload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_reload): ...new pass_data instance and...
      	(make_pass_reload): ...new function.
      	* jump.c (pass_cleanup_barriers): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cleanup_barriers): ...new pass_data instance and...
      	(make_pass_cleanup_barriers): ...new function.
      	* loop-init.c (pass_loop2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_loop2): ...new pass_data instance and...
      	(make_pass_loop2): ...new function.
      	(pass_rtl_loop_init): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_loop_init): ...new pass_data instance and...
      	(make_pass_rtl_loop_init): ...new function.
      	(pass_rtl_loop_done): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_loop_done): ...new pass_data instance and...
      	(make_pass_rtl_loop_done): ...new function.
      	(pass_rtl_move_loop_invariants): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_move_loop_invariants): ...new pass_data instance and...
      	(make_pass_rtl_move_loop_invariants): ...new function.
      	(pass_rtl_unswitch): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_unswitch): ...new pass_data instance and...
      	(make_pass_rtl_unswitch): ...new function.
      	(pass_rtl_unroll_and_peel_loops): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_rtl_unroll_and_peel_loops): ...new pass_data instance
      	and...
      	(make_pass_rtl_unroll_and_peel_loops): ...new function.
      	(pass_rtl_doloop): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_rtl_doloop): ...new pass_data instance and...
      	(make_pass_rtl_doloop): ...new function.
      	* lower-subreg.c (pass_lower_subreg): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_lower_subreg): ...new pass_data instance and...
      	(make_pass_lower_subreg): ...new function.
      	(pass_lower_subreg2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_lower_subreg2): ...new pass_data instance and...
      	(make_pass_lower_subreg2): ...new function.
      	* lto-streamer-out.c (pass_ipa_lto_gimple_out): Convert from a global
      	struct to a subclass of ipa_opt_pass_d along with...
      	(pass_data_ipa_lto_gimple_out): ...new pass_data instance and...
      	(make_pass_ipa_lto_gimple_out): ...new function.
      	(pass_ipa_lto_finish_out): Convert from a global struct to a subclass
      	of ipa_opt_pass_d along with...
      	(pass_data_ipa_lto_finish_out): ...new pass_data instance and...
      	(make_pass_ipa_lto_finish_out): ...new function.
      	* mode-switching.c (pass_mode_switching): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_mode_switching): ...new pass_data instance and...
      	(make_pass_mode_switching): ...new function.
      	* modulo-sched.c (pass_sms): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_sms): ...new pass_data instance and...
      	(make_pass_sms): ...new function.
      	* omp-low.c (pass_expand_omp): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_expand_omp): ...new pass_data instance and...
      	(make_pass_expand_omp): ...new function.
      	(pass_lower_omp): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_omp): ...new pass_data instance and...
      	(make_pass_lower_omp): ...new function.
      	(pass_diagnose_omp_blocks): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_diagnose_omp_blocks): ...new pass_data instance and...
      	(make_pass_diagnose_omp_blocks): ...new function.
      	* passes.c (pass_early_local_passes): Convert from a global struct to
      	a subclass of simple_ipa_opt_pass along with...
      	(pass_data_early_local_passes): ...new pass_data instance and...
      	(make_pass_early_local_passes): ...new function.
      	(pass_all_early_optimizations): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_all_early_optimizations): ...new pass_data instance and...
      	(make_pass_all_early_optimizations): ...new function.
      	(pass_all_optimizations): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_all_optimizations): ...new pass_data instance and...
      	(make_pass_all_optimizations): ...new function.
      	(pass_all_optimizations_g): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_all_optimizations_g): ...new pass_data instance and...
      	(make_pass_all_optimizations_g): ...new function.
      	(pass_rest_of_compilation): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_rest_of_compilation): ...new pass_data instance and...
      	(make_pass_rest_of_compilation): ...new function.
      	(pass_postreload): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_postreload): ...new pass_data instance and...
      	(make_pass_postreload): ...new function.
      	* postreload-gcse.c (pass_gcse2): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_gcse2): ...new pass_data instance and...
      	(make_pass_gcse2): ...new function.
      	* postreload.c (pass_postreload_cse): Convert from a global struct to
      	a subclass of rtl_opt_pass along with...
      	(pass_data_postreload_cse): ...new pass_data instance and...
      	(make_pass_postreload_cse): ...new function.
      	* predict.c (pass_profile): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_profile): ...new pass_data instance and...
      	(make_pass_profile): ...new function.
      	(pass_strip_predict_hints): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_strip_predict_hints): ...new pass_data instance and...
      	(make_pass_strip_predict_hints): ...new function.
      	* recog.c (pass_peephole2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_peephole2): ...new pass_data instance and...
      	(make_pass_peephole2): ...new function.
      	(pass_split_all_insns): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_split_all_insns): ...new pass_data instance and...
      	(make_pass_split_all_insns): ...new function.
      	(pass_split_after_reload): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_split_after_reload): ...new pass_data instance and...
      	(make_pass_split_after_reload): ...new function.
      	(pass_split_before_regstack): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_split_before_regstack): ...new pass_data instance and...
      	(make_pass_split_before_regstack): ...new function.
      	(pass_split_before_sched2): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_split_before_sched2): ...new pass_data instance and...
      	(make_pass_split_before_sched2): ...new function.
      	(pass_split_for_shorten_branches): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_split_for_shorten_branches): ...new pass_data instance
      	and...
      	(make_pass_split_for_shorten_branches): ...new function.
      	* ree.c (pass_ree): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_ree): ...new pass_data instance and...
      	(make_pass_ree): ...new function.
      	* reg-stack.c (pass_stack_regs): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_stack_regs): ...new pass_data instance and...
      	(make_pass_stack_regs): ...new function.
      	(pass_stack_regs_run): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_stack_regs_run): ...new pass_data instance and...
      	(make_pass_stack_regs_run): ...new function.
      	* regcprop.c (pass_cprop_hardreg): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_cprop_hardreg): ...new pass_data instance and...
      	(make_pass_cprop_hardreg): ...new function.
      	* reginfo.c (pass_reginfo_init): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_reginfo_init): ...new pass_data instance and...
      	(make_pass_reginfo_init): ...new function.
      	* regmove.c (pass_regmove): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_regmove): ...new pass_data instance and...
      	(make_pass_regmove): ...new function.
      	* regrename.c (pass_regrename): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_regrename): ...new pass_data instance and...
      	(make_pass_regrename): ...new function.
      	* reorg.c (pass_delay_slots): Convert from a global struct to a
      	subclass of rtl_opt_pass along with...
      	(pass_data_delay_slots): ...new pass_data instance and...
      	(make_pass_delay_slots): ...new function.
      	(pass_machine_reorg): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_machine_reorg): ...new pass_data instance and...
      	(make_pass_machine_reorg): ...new function.
      	* sched-rgn.c (pass_sched): Convert from a global struct to a subclass
      	of rtl_opt_pass along with...
      	(pass_data_sched): ...new pass_data instance and...
      	(make_pass_sched): ...new function.
      	(pass_sched2): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_sched2): ...new pass_data instance and...
      	(make_pass_sched2): ...new function.
      	* stack-ptr-mod.c (pass_stack_ptr_mod): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_stack_ptr_mod): ...new pass_data instance and...
      	(make_pass_stack_ptr_mod): ...new function.
      	* store-motion.c (pass_rtl_store_motion): Convert from a global struct
      	to a subclass of rtl_opt_pass along with...
      	(pass_data_rtl_store_motion): ...new pass_data instance and...
      	(make_pass_rtl_store_motion): ...new function.
      	* tracer.c (pass_tracer): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_tracer): ...new pass_data instance and...
      	(make_pass_tracer): ...new function.
      	* trans-mem.c (pass_diagnose_tm_blocks): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_diagnose_tm_blocks): ...new pass_data instance and...
      	(make_pass_diagnose_tm_blocks): ...new function.
      	(pass_lower_tm): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_tm): ...new pass_data instance and...
      	(make_pass_lower_tm): ...new function.
      	(pass_tm_init): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_init): ...new pass_data instance and...
      	(make_pass_tm_init): ...new function.
      	(pass_tm_mark): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_mark): ...new pass_data instance and...
      	(make_pass_tm_mark): ...new function.
      	(pass_tm_edges): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_edges): ...new pass_data instance and...
      	(make_pass_tm_edges): ...new function.
      	(pass_tm_memopt): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tm_memopt): ...new pass_data instance and...
      	(make_pass_tm_memopt): ...new function.
      	(pass_ipa_tm): Convert from a global struct to a subclass of
      	simple_ipa_opt_pass along with...
      	(pass_data_ipa_tm): ...new pass_data instance and...
      	(make_pass_ipa_tm): ...new function.
      	* tree-call-cdce.c (pass_call_cdce): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_call_cdce): ...new pass_data instance and...
      	(make_pass_call_cdce): ...new function.
      	* tree-cfg.c (pass_build_cfg): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_build_cfg): ...new pass_data instance and...
      	(make_pass_build_cfg): ...new function.
      	(pass_split_crit_edges): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_split_crit_edges): ...new pass_data instance and...
      	(make_pass_split_crit_edges): ...new function.
      	(pass_warn_function_return): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_warn_function_return): ...new pass_data instance and...
      	(make_pass_warn_function_return): ...new function.
      	(pass_warn_function_noreturn): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_warn_function_noreturn): ...new pass_data instance and...
      	(make_pass_warn_function_noreturn): ...new function.
      	(pass_warn_unused_result): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_warn_unused_result): ...new pass_data instance and...
      	(make_pass_warn_unused_result): ...new function.
      	* tree-cfgcleanup.c (pass_merge_phi): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_merge_phi): ...new pass_data instance and...
      	(make_pass_merge_phi): ...new function.
      	* tree-complex.c (pass_lower_complex): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_lower_complex): ...new pass_data instance and...
      	(make_pass_lower_complex): ...new function.
      	(pass_lower_complex_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_complex_O0): ...new pass_data instance and...
      	(make_pass_lower_complex_O0): ...new function.
      	* tree-eh.c (pass_lower_eh): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_lower_eh): ...new pass_data instance and...
      	(make_pass_lower_eh): ...new function.
      	(pass_refactor_eh): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_refactor_eh): ...new pass_data instance and...
      	(make_pass_refactor_eh): ...new function.
      	(pass_lower_resx): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_resx): ...new pass_data instance and...
      	(make_pass_lower_resx): ...new function.
      	(pass_lower_eh_dispatch): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_lower_eh_dispatch): ...new pass_data instance and...
      	(make_pass_lower_eh_dispatch): ...new function.
      	(pass_cleanup_eh): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cleanup_eh): ...new pass_data instance and...
      	(make_pass_cleanup_eh): ...new function.
      	* tree-emutls.c (pass_ipa_lower_emutls): Convert from a global struct
      	to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_lower_emutls): ...new pass_data instance and...
      	(make_pass_ipa_lower_emutls): ...new function.
      	* tree-if-conv.c (pass_if_conversion): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_if_conversion): ...new pass_data instance and...
      	(make_pass_if_conversion): ...new function.
      	* tree-into-ssa.c (pass_build_ssa): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_build_ssa): ...new pass_data instance and...
      	(make_pass_build_ssa): ...new function.
      	* tree-loop-distribution.c (pass_loop_distribution): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_loop_distribution): ...new pass_data instance and...
      	(make_pass_loop_distribution): ...new function.
      	* tree-mudflap.c (pass_mudflap_1): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_mudflap_1): ...new pass_data instance and...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_mudflap_2): ...new pass_data instance and...
      	(make_pass_mudflap_2): ...new function.
      	* tree-nomudflap.c (pass_mudflap_1): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_mudflap_1): ...new pass_data instance and...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_mudflap_2): ...new pass_data instance and...
      	(make_pass_mudflap_2): ...new function.
      	* tree-nrv.c (pass_nrv): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_nrv): ...new pass_data instance and...
      	(make_pass_nrv): ...new function.
      	(pass_return_slot): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_return_slot): ...new pass_data instance and...
      	(make_pass_return_slot): ...new function.
      	* tree-object-size.c (pass_object_sizes): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_object_sizes): ...new pass_data instance and...
      	(make_pass_object_sizes): ...new function.
      	* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_cleanup_cfg_post_optimizing): ...new pass_data instance
      	and...
      	(make_pass_cleanup_cfg_post_optimizing): ...new function.
      	(pass_fixup_cfg): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fixup_cfg): ...new pass_data instance and...
      	(make_pass_fixup_cfg): ...new function.
      	* tree-pass.h (pass_mudflap_1): Replace declaration with that of...
      	(make_pass_mudflap_1): ...new function.
      	(pass_mudflap_2): Replace declaration with that of...
      	(make_pass_mudflap_2): ...new function.
      	(pass_asan): Replace declaration with that of...
      	(make_pass_asan): ...new function.
      	(pass_asan_O0): Replace declaration with that of...
      	(make_pass_asan_O0): ...new function.
      	(pass_tsan): Replace declaration with that of...
      	(make_pass_tsan): ...new function.
      	(pass_tsan_O0): Replace declaration with that of...
      	(make_pass_tsan_O0): ...new function.
      	(pass_lower_cf): Replace declaration with that of...
      	(make_pass_lower_cf): ...new function.
      	(pass_refactor_eh): Replace declaration with that of...
      	(make_pass_refactor_eh): ...new function.
      	(pass_lower_eh): Replace declaration with that of...
      	(make_pass_lower_eh): ...new function.
      	(pass_lower_eh_dispatch): Replace declaration with that of...
      	(make_pass_lower_eh_dispatch): ...new function.
      	(pass_lower_resx): Replace declaration with that of...
      	(make_pass_lower_resx): ...new function.
      	(pass_build_cfg): Replace declaration with that of...
      	(make_pass_build_cfg): ...new function.
      	(pass_early_tree_profile): Replace declaration with that of...
      	(make_pass_early_tree_profile): ...new function.
      	(pass_cleanup_eh): Replace declaration with that of...
      	(make_pass_cleanup_eh): ...new function.
      	(pass_sra): Replace declaration with that of...
      	(make_pass_sra): ...new function.
      	(pass_sra_early): Replace declaration with that of...
      	(make_pass_sra_early): ...new function.
      	(pass_early_ipa_sra): Replace declaration with that of...
      	(make_pass_early_ipa_sra): ...new function.
      	(pass_tail_recursion): Replace declaration with that of...
      	(make_pass_tail_recursion): ...new function.
      	(pass_tail_calls): Replace declaration with that of...
      	(make_pass_tail_calls): ...new function.
      	(pass_tree_loop): Replace declaration with that of...
      	(make_pass_tree_loop): ...new function.
      	(pass_tree_loop_init): Replace declaration with that of...
      	(make_pass_tree_loop_init): ...new function.
      	(pass_lim): Replace declaration with that of...
      	(make_pass_lim): ...new function.
      	(pass_tree_unswitch): Replace declaration with that of...
      	(make_pass_tree_unswitch): ...new function.
      	(pass_predcom): Replace declaration with that of...
      	(make_pass_predcom): ...new function.
      	(pass_iv_canon): Replace declaration with that of...
      	(make_pass_iv_canon): ...new function.
      	(pass_scev_cprop): Replace declaration with that of...
      	(make_pass_scev_cprop): ...new function.
      	(pass_empty_loop): Replace declaration with that of...
      	(make_pass_empty_loop): ...new function.
      	(pass_record_bounds): Replace declaration with that of...
      	(make_pass_record_bounds): ...new function.
      	(pass_graphite): Replace declaration with that of...
      	(make_pass_graphite): ...new function.
      	(pass_graphite_transforms): Replace declaration with that of...
      	(make_pass_graphite_transforms): ...new function.
      	(pass_if_conversion): Replace declaration with that of...
      	(make_pass_if_conversion): ...new function.
      	(pass_loop_distribution): Replace declaration with that of...
      	(make_pass_loop_distribution): ...new function.
      	(pass_vectorize): Replace declaration with that of...
      	(make_pass_vectorize): ...new function.
      	(pass_slp_vectorize): Replace declaration with that of...
      	(make_pass_slp_vectorize): ...new function.
      	(pass_complete_unroll): Replace declaration with that of...
      	(make_pass_complete_unroll): ...new function.
      	(pass_complete_unrolli): Replace declaration with that of...
      	(make_pass_complete_unrolli): ...new function.
      	(pass_parallelize_loops): Replace declaration with that of...
      	(make_pass_parallelize_loops): ...new function.
      	(pass_loop_prefetch): Replace declaration with that of...
      	(make_pass_loop_prefetch): ...new function.
      	(pass_iv_optimize): Replace declaration with that of...
      	(make_pass_iv_optimize): ...new function.
      	(pass_tree_loop_done): Replace declaration with that of...
      	(make_pass_tree_loop_done): ...new function.
      	(pass_ch): Replace declaration with that of...
      	(make_pass_ch): ...new function.
      	(pass_ccp): Replace declaration with that of...
      	(make_pass_ccp): ...new function.
      	(pass_phi_only_cprop): Replace declaration with that of...
      	(make_pass_phi_only_cprop): ...new function.
      	(pass_build_ssa): Replace declaration with that of...
      	(make_pass_build_ssa): ...new function.
      	(pass_build_alias): Replace declaration with that of...
      	(make_pass_build_alias): ...new function.
      	(pass_build_ealias): Replace declaration with that of...
      	(make_pass_build_ealias): ...new function.
      	(pass_dominator): Replace declaration with that of...
      	(make_pass_dominator): ...new function.
      	(pass_dce): Replace declaration with that of...
      	(make_pass_dce): ...new function.
      	(pass_dce_loop): Replace declaration with that of...
      	(make_pass_dce_loop): ...new function.
      	(pass_cd_dce): Replace declaration with that of...
      	(make_pass_cd_dce): ...new function.
      	(pass_call_cdce): Replace declaration with that of...
      	(make_pass_call_cdce): ...new function.
      	(pass_merge_phi): Replace declaration with that of...
      	(make_pass_merge_phi): ...new function.
      	(pass_split_crit_edges): Replace declaration with that of...
      	(make_pass_split_crit_edges): ...new function.
      	(pass_pre): Replace declaration with that of...
      	(make_pass_pre): ...new function.
      	(pass_profile): Replace declaration with that of...
      	(make_pass_profile): ...new function.
      	(pass_strip_predict_hints): Replace declaration with that of...
      	(make_pass_strip_predict_hints): ...new function.
      	(pass_lower_complex_O0): Replace declaration with that of...
      	(make_pass_lower_complex_O0): ...new function.
      	(pass_lower_complex): Replace declaration with that of...
      	(make_pass_lower_complex): ...new function.
      	(pass_lower_vector): Replace declaration with that of...
      	(make_pass_lower_vector): ...new function.
      	(pass_lower_vector_ssa): Replace declaration with that of...
      	(make_pass_lower_vector_ssa): ...new function.
      	(pass_lower_omp): Replace declaration with that of...
      	(make_pass_lower_omp): ...new function.
      	(pass_diagnose_omp_blocks): Replace declaration with that of...
      	(make_pass_diagnose_omp_blocks): ...new function.
      	(pass_expand_omp): Replace declaration with that of...
      	(make_pass_expand_omp): ...new function.
      	(pass_expand_omp_ssa): Replace declaration with that of...
      	(make_pass_expand_omp_ssa): ...new function.
      	(pass_object_sizes): Replace declaration with that of...
      	(make_pass_object_sizes): ...new function.
      	(pass_strlen): Replace declaration with that of...
      	(make_pass_strlen): ...new function.
      	(pass_fold_builtins): Replace declaration with that of...
      	(make_pass_fold_builtins): ...new function.
      	(pass_stdarg): Replace declaration with that of...
      	(make_pass_stdarg): ...new function.
      	(pass_early_warn_uninitialized): Replace declaration with that of...
      	(make_pass_early_warn_uninitialized): ...new function.
      	(pass_late_warn_uninitialized): Replace declaration with that of...
      	(make_pass_late_warn_uninitialized): ...new function.
      	(pass_cse_reciprocals): Replace declaration with that of...
      	(make_pass_cse_reciprocals): ...new function.
      	(pass_cse_sincos): Replace declaration with that of...
      	(make_pass_cse_sincos): ...new function.
      	(pass_optimize_bswap): Replace declaration with that of...
      	(make_pass_optimize_bswap): ...new function.
      	(pass_optimize_widening_mul): Replace declaration with that of...
      	(make_pass_optimize_widening_mul): ...new function.
      	(pass_warn_function_return): Replace declaration with that of...
      	(make_pass_warn_function_return): ...new function.
      	(pass_warn_function_noreturn): Replace declaration with that of...
      	(make_pass_warn_function_noreturn): ...new function.
      	(pass_cselim): Replace declaration with that of...
      	(make_pass_cselim): ...new function.
      	(pass_phiopt): Replace declaration with that of...
      	(make_pass_phiopt): ...new function.
      	(pass_forwprop): Replace declaration with that of...
      	(make_pass_forwprop): ...new function.
      	(pass_phiprop): Replace declaration with that of...
      	(make_pass_phiprop): ...new function.
      	(pass_tree_ifcombine): Replace declaration with that of...
      	(make_pass_tree_ifcombine): ...new function.
      	(pass_dse): Replace declaration with that of...
      	(make_pass_dse): ...new function.
      	(pass_nrv): Replace declaration with that of...
      	(make_pass_nrv): ...new function.
      	(pass_rename_ssa_copies): Replace declaration with that of...
      	(make_pass_rename_ssa_copies): ...new function.
      	(pass_sink_code): Replace declaration with that of...
      	(make_pass_sink_code): ...new function.
      	(pass_fre): Replace declaration with that of...
      	(make_pass_fre): ...new function.
      	(pass_check_data_deps): Replace declaration with that of...
      	(make_pass_check_data_deps): ...new function.
      	(pass_copy_prop): Replace declaration with that of...
      	(make_pass_copy_prop): ...new function.
      	(pass_vrp): Replace declaration with that of...
      	(make_pass_vrp): ...new function.
      	(pass_uncprop): Replace declaration with that of...
      	(make_pass_uncprop): ...new function.
      	(pass_return_slot): Replace declaration with that of...
      	(make_pass_return_slot): ...new function.
      	(pass_reassoc): Replace declaration with that of...
      	(make_pass_reassoc): ...new function.
      	(pass_rebuild_cgraph_edges): Replace declaration with that of...
      	(make_pass_rebuild_cgraph_edges): ...new function.
      	(pass_remove_cgraph_callee_edges): Replace declaration with that of...
      	(make_pass_remove_cgraph_callee_edges): ...new function.
      	(pass_build_cgraph_edges): Replace declaration with that of...
      	(make_pass_build_cgraph_edges): ...new function.
      	(pass_local_pure_const): Replace declaration with that of...
      	(make_pass_local_pure_const): ...new function.
      	(pass_tracer): Replace declaration with that of...
      	(make_pass_tracer): ...new function.
      	(pass_warn_unused_result): Replace declaration with that of...
      	(make_pass_warn_unused_result): ...new function.
      	(pass_diagnose_tm_blocks): Replace declaration with that of...
      	(make_pass_diagnose_tm_blocks): ...new function.
      	(pass_lower_tm): Replace declaration with that of...
      	(make_pass_lower_tm): ...new function.
      	(pass_tm_init): Replace declaration with that of...
      	(make_pass_tm_init): ...new function.
      	(pass_tm_mark): Replace declaration with that of...
      	(make_pass_tm_mark): ...new function.
      	(pass_tm_memopt): Replace declaration with that of...
      	(make_pass_tm_memopt): ...new function.
      	(pass_tm_edges): Replace declaration with that of...
      	(make_pass_tm_edges): ...new function.
      	(pass_split_functions): Replace declaration with that of...
      	(make_pass_split_functions): ...new function.
      	(pass_feedback_split_functions): Replace declaration with that of...
      	(make_pass_feedback_split_functions): ...new function.
      	(pass_strength_reduction): Replace declaration with that of...
      	(make_pass_strength_reduction): ...new function.
      	(pass_ipa_lower_emutls): Replace declaration with that of...
      	(make_pass_ipa_lower_emutls): ...new function.
      	(pass_ipa_function_and_variable_visibility): Replace declaration with
      	that of...
      	(make_pass_ipa_function_and_variable_visibility): ...new function.
      	(pass_ipa_tree_profile): Replace declaration with that of...
      	(make_pass_ipa_tree_profile): ...new function.
      	(pass_early_local_passes): Replace declaration with that of...
      	(make_pass_early_local_passes): ...new function.
      	(pass_ipa_whole_program_visibility): Replace declaration with that
      	of...
      	(make_pass_ipa_whole_program_visibility): ...new function.
      	(pass_ipa_lto_gimple_out): Replace declaration with that of...
      	(make_pass_ipa_lto_gimple_out): ...new function.
      	(pass_ipa_increase_alignment): Replace declaration with that of...
      	(make_pass_ipa_increase_alignment): ...new function.
      	(pass_ipa_inline): Replace declaration with that of...
      	(make_pass_ipa_inline): ...new function.
      	(pass_ipa_free_lang_data): Replace declaration with that of...
      	(make_pass_ipa_free_lang_data): ...new function.
      	(pass_ipa_free_inline_summary): Replace declaration with that of...
      	(make_pass_ipa_free_inline_summary): ...new function.
      	(pass_ipa_cp): Replace declaration with that of...
      	(make_pass_ipa_cp): ...new function.
      	(pass_ipa_reference): Replace declaration with that of...
      	(make_pass_ipa_reference): ...new function.
      	(pass_ipa_pure_const): Replace declaration with that of...
      	(make_pass_ipa_pure_const): ...new function.
      	(pass_ipa_pta): Replace declaration with that of...
      	(make_pass_ipa_pta): ...new function.
      	(pass_ipa_lto_finish_out): Replace declaration with that of...
      	(make_pass_ipa_lto_finish_out): ...new function.
      	(pass_ipa_tm): Replace declaration with that of...
      	(make_pass_ipa_tm): ...new function.
      	(pass_ipa_profile): Replace declaration with that of...
      	(make_pass_ipa_profile): ...new function.
      	(pass_ipa_cdtor_merge): Replace declaration with that of...
      	(make_pass_ipa_cdtor_merge): ...new function.
      	(pass_cleanup_cfg_post_optimizing): Replace declaration with that
      	of...
      	(make_pass_cleanup_cfg_post_optimizing): ...new function.
      	(pass_init_datastructures): Replace declaration with that of...
      	(make_pass_init_datastructures): ...new function.
      	(pass_fixup_cfg): Replace declaration with that of...
      	(make_pass_fixup_cfg): ...new function.
      	(pass_expand): Replace declaration with that of...
      	(make_pass_expand): ...new function.
      	(pass_instantiate_virtual_regs): Replace declaration with that of...
      	(make_pass_instantiate_virtual_regs): ...new function.
      	(pass_rtl_fwprop): Replace declaration with that of...
      	(make_pass_rtl_fwprop): ...new function.
      	(pass_rtl_fwprop_addr): Replace declaration with that of...
      	(make_pass_rtl_fwprop_addr): ...new function.
      	(pass_jump): Replace declaration with that of...
      	(make_pass_jump): ...new function.
      	(pass_jump2): Replace declaration with that of...
      	(make_pass_jump2): ...new function.
      	(pass_lower_subreg): Replace declaration with that of...
      	(make_pass_lower_subreg): ...new function.
      	(pass_cse): Replace declaration with that of...
      	(make_pass_cse): ...new function.
      	(pass_fast_rtl_dce): Replace declaration with that of...
      	(make_pass_fast_rtl_dce): ...new function.
      	(pass_ud_rtl_dce): Replace declaration with that of...
      	(make_pass_ud_rtl_dce): ...new function.
      	(pass_rtl_dce): Replace declaration with that of...
      	(make_pass_rtl_dce): ...new function.
      	(pass_rtl_dse1): Replace declaration with that of...
      	(make_pass_rtl_dse1): ...new function.
      	(pass_rtl_dse2): Replace declaration with that of...
      	(make_pass_rtl_dse2): ...new function.
      	(pass_rtl_dse3): Replace declaration with that of...
      	(make_pass_rtl_dse3): ...new function.
      	(pass_rtl_cprop): Replace declaration with that of...
      	(make_pass_rtl_cprop): ...new function.
      	(pass_rtl_pre): Replace declaration with that of...
      	(make_pass_rtl_pre): ...new function.
      	(pass_rtl_hoist): Replace declaration with that of...
      	(make_pass_rtl_hoist): ...new function.
      	(pass_rtl_store_motion): Replace declaration with that of...
      	(make_pass_rtl_store_motion): ...new function.
      	(pass_cse_after_global_opts): Replace declaration with that of...
      	(make_pass_cse_after_global_opts): ...new function.
      	(pass_rtl_ifcvt): Replace declaration with that of...
      	(make_pass_rtl_ifcvt): ...new function.
      	(pass_into_cfg_layout_mode): Replace declaration with that of...
      	(make_pass_into_cfg_layout_mode): ...new function.
      	(pass_outof_cfg_layout_mode): Replace declaration with that of...
      	(make_pass_outof_cfg_layout_mode): ...new function.
      	(pass_loop2): Replace declaration with that of...
      	(make_pass_loop2): ...new function.
      	(pass_rtl_loop_init): Replace declaration with that of...
      	(make_pass_rtl_loop_init): ...new function.
      	(pass_rtl_move_loop_invariants): Replace declaration with that of...
      	(make_pass_rtl_move_loop_invariants): ...new function.
      	(pass_rtl_unswitch): Replace declaration with that of...
      	(make_pass_rtl_unswitch): ...new function.
      	(pass_rtl_unroll_and_peel_loops): Replace declaration with that of...
      	(make_pass_rtl_unroll_and_peel_loops): ...new function.
      	(pass_rtl_doloop): Replace declaration with that of...
      	(make_pass_rtl_doloop): ...new function.
      	(pass_rtl_loop_done): Replace declaration with that of...
      	(make_pass_rtl_loop_done): ...new function.
      	(pass_web): Replace declaration with that of...
      	(make_pass_web): ...new function.
      	(pass_cse2): Replace declaration with that of...
      	(make_pass_cse2): ...new function.
      	(pass_df_initialize_opt): Replace declaration with that of...
      	(make_pass_df_initialize_opt): ...new function.
      	(pass_df_initialize_no_opt): Replace declaration with that of...
      	(make_pass_df_initialize_no_opt): ...new function.
      	(pass_reginfo_init): Replace declaration with that of...
      	(make_pass_reginfo_init): ...new function.
      	(pass_inc_dec): Replace declaration with that of...
      	(make_pass_inc_dec): ...new function.
      	(pass_stack_ptr_mod): Replace declaration with that of...
      	(make_pass_stack_ptr_mod): ...new function.
      	(pass_initialize_regs): Replace declaration with that of...
      	(make_pass_initialize_regs): ...new function.
      	(pass_combine): Replace declaration with that of...
      	(make_pass_combine): ...new function.
      	(pass_if_after_combine): Replace declaration with that of...
      	(make_pass_if_after_combine): ...new function.
      	(pass_ree): Replace declaration with that of...
      	(make_pass_ree): ...new function.
      	(pass_partition_blocks): Replace declaration with that of...
      	(make_pass_partition_blocks): ...new function.
      	(pass_match_asm_constraints): Replace declaration with that of...
      	(make_pass_match_asm_constraints): ...new function.
      	(pass_regmove): Replace declaration with that of...
      	(make_pass_regmove): ...new function.
      	(pass_split_all_insns): Replace declaration with that of...
      	(make_pass_split_all_insns): ...new function.
      	(pass_fast_rtl_byte_dce): Replace declaration with that of...
      	(make_pass_fast_rtl_byte_dce): ...new function.
      	(pass_lower_subreg2): Replace declaration with that of...
      	(make_pass_lower_subreg2): ...new function.
      	(pass_mode_switching): Replace declaration with that of...
      	(make_pass_mode_switching): ...new function.
      	(pass_sms): Replace declaration with that of...
      	(make_pass_sms): ...new function.
      	(pass_sched): Replace declaration with that of...
      	(make_pass_sched): ...new function.
      	(pass_ira): Replace declaration with that of...
      	(make_pass_ira): ...new function.
      	(pass_reload): Replace declaration with that of...
      	(make_pass_reload): ...new function.
      	(pass_clean_state): Replace declaration with that of...
      	(make_pass_clean_state): ...new function.
      	(pass_branch_prob): Replace declaration with that of...
      	(make_pass_branch_prob): ...new function.
      	(pass_value_profile_transformations): Replace declaration with that
      	of...
      	(make_pass_value_profile_transformations): ...new function.
      	(pass_postreload_cse): Replace declaration with that of...
      	(make_pass_postreload_cse): ...new function.
      	(pass_gcse2): Replace declaration with that of...
      	(make_pass_gcse2): ...new function.
      	(pass_split_after_reload): Replace declaration with that of...
      	(make_pass_split_after_reload): ...new function.
      	(pass_branch_target_load_optimize1): Replace declaration with that
      	of...
      	(make_pass_branch_target_load_optimize1): ...new function.
      	(pass_thread_prologue_and_epilogue): Replace declaration with that
      	of...
      	(make_pass_thread_prologue_and_epilogue): ...new function.
      	(pass_stack_adjustments): Replace declaration with that of...
      	(make_pass_stack_adjustments): ...new function.
      	(pass_peephole2): Replace declaration with that of...
      	(make_pass_peephole2): ...new function.
      	(pass_if_after_reload): Replace declaration with that of...
      	(make_pass_if_after_reload): ...new function.
      	(pass_regrename): Replace declaration with that of...
      	(make_pass_regrename): ...new function.
      	(pass_cprop_hardreg): Replace declaration with that of...
      	(make_pass_cprop_hardreg): ...new function.
      	(pass_reorder_blocks): Replace declaration with that of...
      	(make_pass_reorder_blocks): ...new function.
      	(pass_branch_target_load_optimize2): Replace declaration with that
      	of...
      	(make_pass_branch_target_load_optimize2): ...new function.
      	(pass_leaf_regs): Replace declaration with that of...
      	(make_pass_leaf_regs): ...new function.
      	(pass_split_before_sched2): Replace declaration with that of...
      	(make_pass_split_before_sched2): ...new function.
      	(pass_compare_elim_after_reload): Replace declaration with that of...
      	(make_pass_compare_elim_after_reload): ...new function.
      	(pass_sched2): Replace declaration with that of...
      	(make_pass_sched2): ...new function.
      	(pass_stack_regs): Replace declaration with that of...
      	(make_pass_stack_regs): ...new function.
      	(pass_stack_regs_run): Replace declaration with that of...
      	(make_pass_stack_regs_run): ...new function.
      	(pass_df_finish): Replace declaration with that of...
      	(make_pass_df_finish): ...new function.
      	(pass_compute_alignments): Replace declaration with that of...
      	(make_pass_compute_alignments): ...new function.
      	(pass_duplicate_computed_gotos): Replace declaration with that of...
      	(make_pass_duplicate_computed_gotos): ...new function.
      	(pass_variable_tracking): Replace declaration with that of...
      	(make_pass_variable_tracking): ...new function.
      	(pass_free_cfg): Replace declaration with that of...
      	(make_pass_free_cfg): ...new function.
      	(pass_machine_reorg): Replace declaration with that of...
      	(make_pass_machine_reorg): ...new function.
      	(pass_cleanup_barriers): Replace declaration with that of...
      	(make_pass_cleanup_barriers): ...new function.
      	(pass_delay_slots): Replace declaration with that of...
      	(make_pass_delay_slots): ...new function.
      	(pass_split_for_shorten_branches): Replace declaration with that of...
      	(make_pass_split_for_shorten_branches): ...new function.
      	(pass_split_before_regstack): Replace declaration with that of...
      	(make_pass_split_before_regstack): ...new function.
      	(pass_convert_to_eh_region_ranges): Replace declaration with that
      	of...
      	(make_pass_convert_to_eh_region_ranges): ...new function.
      	(pass_shorten_branches): Replace declaration with that of...
      	(make_pass_shorten_branches): ...new function.
      	(pass_set_nothrow_function_flags): Replace declaration with that of...
      	(make_pass_set_nothrow_function_flags): ...new function.
      	(pass_dwarf2_frame): Replace declaration with that of...
      	(make_pass_dwarf2_frame): ...new function.
      	(pass_final): Replace declaration with that of...
      	(make_pass_final): ...new function.
      	(pass_rtl_seqabstr): Replace declaration with that of...
      	(make_pass_rtl_seqabstr): ...new function.
      	(pass_release_ssa_names): Replace declaration with that of...
      	(make_pass_release_ssa_names): ...new function.
      	(pass_early_inline): Replace declaration with that of...
      	(make_pass_early_inline): ...new function.
      	(pass_inline_parameters): Replace declaration with that of...
      	(make_pass_inline_parameters): ...new function.
      	(pass_update_address_taken): Replace declaration with that of...
      	(make_pass_update_address_taken): ...new function.
      	(pass_convert_switch): Replace declaration with that of...
      	(make_pass_convert_switch): ...new function.
      	* tree-profile.c (pass_ipa_tree_profile): Convert from a global struct
      	to a subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_tree_profile): ...new pass_data instance and...
      	(make_pass_ipa_tree_profile): ...new function.
      	* tree-sra.c (pass_sra_early): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_sra_early): ...new pass_data instance and...
      	(make_pass_sra_early): ...new function.
      	(pass_sra): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_sra): ...new pass_data instance and...
      	(make_pass_sra): ...new function.
      	(pass_early_ipa_sra): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_early_ipa_sra): ...new pass_data instance and...
      	(make_pass_early_ipa_sra): ...new function.
      	* tree-ssa-ccp.c (pass_ccp): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_ccp): ...new pass_data instance and...
      	(make_pass_ccp): ...new function.
      	(pass_fold_builtins): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fold_builtins): ...new pass_data instance and...
      	(make_pass_fold_builtins): ...new function.
      	* tree-ssa-copy.c (pass_copy_prop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_copy_prop): ...new pass_data instance and...
      	(make_pass_copy_prop): ...new function.
      	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_rename_ssa_copies): ...new pass_data instance and...
      	(make_pass_rename_ssa_copies): ...new function.
      	* tree-ssa-dce.c (pass_dce): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dce): ...new pass_data instance and...
      	(make_pass_dce): ...new function.
      	(pass_dce_loop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_dce_loop): ...new pass_data instance and...
      	(make_pass_dce_loop): ...new function.
      	(pass_cd_dce): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cd_dce): ...new pass_data instance and...
      	(make_pass_cd_dce): ...new function.
      	* tree-ssa-dom.c (pass_dominator): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dominator): ...new pass_data instance and...
      	(make_pass_dominator): ...new function.
      	(pass_phi_only_cprop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_phi_only_cprop): ...new pass_data instance and...
      	(make_pass_phi_only_cprop): ...new function.
      	* tree-ssa-dse.c (pass_dse): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_dse): ...new pass_data instance and...
      	(make_pass_dse): ...new function.
      	* tree-ssa-forwprop.c (pass_forwprop): Convert from a global struct to
      	a subclass of gimple_opt_pass along with...
      	(pass_data_forwprop): ...new pass_data instance and...
      	(make_pass_forwprop): ...new function.
      	* tree-ssa-ifcombine.c (pass_tree_ifcombine): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_tree_ifcombine): ...new pass_data instance and...
      	(make_pass_tree_ifcombine): ...new function.
      	* tree-ssa-loop-ch.c (pass_ch): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_ch): ...new pass_data instance and...
      	(make_pass_ch): ...new function.
      	* tree-ssa-loop.c (pass_tree_loop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_tree_loop): ...new pass_data instance and...
      	(make_pass_tree_loop): ...new function.
      	(pass_tree_loop_init): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_loop_init): ...new pass_data instance and...
      	(make_pass_tree_loop_init): ...new function.
      	(pass_lim): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lim): ...new pass_data instance and...
      	(make_pass_lim): ...new function.
      	(pass_tree_unswitch): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_unswitch): ...new pass_data instance and...
      	(make_pass_tree_unswitch): ...new function.
      	(pass_predcom): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_predcom): ...new pass_data instance and...
      	(make_pass_predcom): ...new function.
      	(pass_vectorize): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_vectorize): ...new pass_data instance and...
      	(make_pass_vectorize): ...new function.
      	(pass_graphite): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_graphite): ...new pass_data instance and...
      	(make_pass_graphite): ...new function.
      	(pass_graphite_transforms): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_graphite_transforms): ...new pass_data instance and...
      	(make_pass_graphite_transforms): ...new function.
      	(pass_check_data_deps): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_check_data_deps): ...new pass_data instance and...
      	(make_pass_check_data_deps): ...new function.
      	(pass_iv_canon): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_iv_canon): ...new pass_data instance and...
      	(make_pass_iv_canon): ...new function.
      	(pass_scev_cprop): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_scev_cprop): ...new pass_data instance and...
      	(make_pass_scev_cprop): ...new function.
      	(pass_record_bounds): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_record_bounds): ...new pass_data instance and...
      	(make_pass_record_bounds): ...new function.
      	(pass_complete_unroll): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_complete_unroll): ...new pass_data instance and...
      	(make_pass_complete_unroll): ...new function.
      	(pass_complete_unrolli): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_complete_unrolli): ...new pass_data instance and...
      	(make_pass_complete_unrolli): ...new function.
      	(pass_parallelize_loops): Convert from a global struct to a subclass
      	of gimple_opt_pass along with...
      	(pass_data_parallelize_loops): ...new pass_data instance and...
      	(make_pass_parallelize_loops): ...new function.
      	(pass_loop_prefetch): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_loop_prefetch): ...new pass_data instance and...
      	(make_pass_loop_prefetch): ...new function.
      	(pass_iv_optimize): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_iv_optimize): ...new pass_data instance and...
      	(make_pass_iv_optimize): ...new function.
      	(pass_tree_loop_done): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tree_loop_done): ...new pass_data instance and...
      	(make_pass_tree_loop_done): ...new function.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_cse_reciprocals): ...new pass_data instance and...
      	(make_pass_cse_reciprocals): ...new function.
      	(pass_cse_sincos): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cse_sincos): ...new pass_data instance and...
      	(make_pass_cse_sincos): ...new function.
      	(pass_optimize_bswap): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_optimize_bswap): ...new pass_data instance and...
      	(make_pass_optimize_bswap): ...new function.
      	(pass_optimize_widening_mul): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_optimize_widening_mul): ...new pass_data instance and...
      	(make_pass_optimize_widening_mul): ...new function.
      	* tree-ssa-phiopt.c (pass_phiopt): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_phiopt): ...new pass_data instance and...
      	(make_pass_phiopt): ...new function.
      	(pass_cselim): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_cselim): ...new pass_data instance and...
      	(make_pass_cselim): ...new function.
      	* tree-ssa-phiprop.c (pass_phiprop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_phiprop): ...new pass_data instance and...
      	(make_pass_phiprop): ...new function.
      	* tree-ssa-pre.c (pass_pre): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_pre): ...new pass_data instance and...
      	(make_pass_pre): ...new function.
      	(pass_fre): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_fre): ...new pass_data instance and...
      	(make_pass_fre): ...new function.
      	* tree-ssa-reassoc.c (pass_reassoc): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_reassoc): ...new pass_data instance and...
      	(make_pass_reassoc): ...new function.
      	* tree-ssa-sink.c (pass_sink_code): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_sink_code): ...new pass_data instance and...
      	(make_pass_sink_code): ...new function.
      	* tree-ssa-strlen.c (pass_strlen): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_strlen): ...new pass_data instance and...
      	(make_pass_strlen): ...new function.
      	* tree-ssa-structalias.c (pass_build_alias): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_build_alias): ...new pass_data instance and...
      	(make_pass_build_alias): ...new function.
      	(pass_build_ealias): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_build_ealias): ...new pass_data instance and...
      	(make_pass_build_ealias): ...new function.
      	(pass_ipa_pta): Convert from a global struct to a subclass of
      	simple_ipa_opt_pass along with...
      	(pass_data_ipa_pta): ...new pass_data instance and...
      	(make_pass_ipa_pta): ...new function.
      	* tree-ssa-uncprop.c (pass_uncprop): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_uncprop): ...new pass_data instance and...
      	(make_pass_uncprop): ...new function.
      	* tree-ssa-uninit.c (pass_late_warn_uninitialized): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_late_warn_uninitialized): ...new pass_data instance and...
      	(make_pass_late_warn_uninitialized): ...new function.
      	* tree-ssa.c (pass_init_datastructures): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_init_datastructures): ...new pass_data instance and...
      	(make_pass_init_datastructures): ...new function.
      	(pass_early_warn_uninitialized): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_early_warn_uninitialized): ...new pass_data instance and...
      	(make_pass_early_warn_uninitialized): ...new function.
      	(pass_update_address_taken): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_update_address_taken): ...new pass_data instance and...
      	(make_pass_update_address_taken): ...new function.
      	* tree-ssanames.c (pass_release_ssa_names): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_release_ssa_names): ...new pass_data instance and...
      	(make_pass_release_ssa_names): ...new function.
      	* tree-stdarg.c (pass_stdarg): Convert from a global struct to a
      	subclass of gimple_opt_pass along with...
      	(pass_data_stdarg): ...new pass_data instance and...
      	(make_pass_stdarg): ...new function.
      	* tree-switch-conversion.c (pass_convert_switch): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_convert_switch): ...new pass_data instance and...
      	(make_pass_convert_switch): ...new function.
      	* tree-tailcall.c (pass_tail_recursion): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_tail_recursion): ...new pass_data instance and...
      	(make_pass_tail_recursion): ...new function.
      	(pass_tail_calls): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tail_calls): ...new pass_data instance and...
      	(make_pass_tail_calls): ...new function.
      	* tree-vect-generic.c (pass_lower_vector): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_lower_vector): ...new pass_data instance and...
      	(make_pass_lower_vector): ...new function.
      	(pass_lower_vector_ssa): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_lower_vector_ssa): ...new pass_data instance and...
      	(make_pass_lower_vector_ssa): ...new function.
      	* tree-vectorizer.c (pass_slp_vectorize): Convert from a global struct
      	to a subclass of gimple_opt_pass along with...
      	(pass_data_slp_vectorize): ...new pass_data instance and...
      	(make_pass_slp_vectorize): ...new function.
      	(pass_ipa_increase_alignment): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_increase_alignment): ...new pass_data instance and...
      	(make_pass_ipa_increase_alignment): ...new function.
      	* tree-vrp.c (pass_vrp): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_vrp): ...new pass_data instance and...
      	(make_pass_vrp): ...new function.
      	* tree.c (pass_ipa_free_lang_data): Convert from a global struct to a
      	subclass of simple_ipa_opt_pass along with...
      	(pass_data_ipa_free_lang_data): ...new pass_data instance and...
      	(make_pass_ipa_free_lang_data): ...new function.
      	* tsan.c (pass_tsan): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tsan): ...new pass_data instance and...
      	(make_pass_tsan): ...new function.
      	(pass_tsan_O0): Convert from a global struct to a subclass of
      	gimple_opt_pass along with...
      	(pass_data_tsan_O0): ...new pass_data instance and...
      	(make_pass_tsan_O0): ...new function.
      	* var-tracking.c (pass_variable_tracking): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_variable_tracking): ...new pass_data instance and...
      	(make_pass_variable_tracking): ...new function.
      	* web.c (pass_web): Convert from a global struct to a subclass of
      	rtl_opt_pass along with...
      	(pass_data_web): ...new pass_data instance and...
      	(make_pass_web): ...new function.
      	* config/epiphany/epiphany.h (pass_mode_switch_use): Replace
      	declaration with that of...
      	(make_pass_mode_switch_use): ...new function.
      	(pass_resolve_sw_modes): Replace declaration with that of...
      	(make_pass_resolve_sw_modes): ...new function.
      	* config/epiphany/mode-switch-use.c (pass_mode_switch_use): Convert
      	from a global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_mode_switch_use): ...new pass_data instance and...
      	(make_pass_mode_switch_use): ...new function.
      	* config/epiphany/resolve-sw-modes.c (pass_resolve_sw_modes): Convert
      	from a global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_resolve_sw_modes): ...new pass_data instance and...
      	(make_pass_resolve_sw_modes): ...new function.
      	* config/i386/i386.c (pass_insert_vzeroupper): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_insert_vzeroupper): ...new pass_data instance and...
      	(make_pass_insert_vzeroupper): ...new function.
      	* config/sparc/sparc.c (pass_work_around_errata): Convert from a
      	global struct to a subclass of rtl_opt_pass along with...
      	(pass_data_work_around_errata): ...new pass_data instance and...
      	(make_pass_work_around_errata): ...new function.
      	* config/mips/mips.c (pass_mips_machine_reorg2): Convert from a global
      	struct to a subclass of rtl_opt_pass along with...
      	(pass_data_mips_machine_reorg2): ...new pass_data instance and...
      	(make_pass_mips_machine_reorg2): ...new function.
      
      gcc/testsuite/
      
      	Patch autogenerated by refactor_passes.py from
      	https://github.com/davidmalcolm/gcc-refactoring-scripts
      	revision 03fe39476a4c4ea450b49e087cfa817b5f92021e
      
      	* gcc.dg/plugin/one_time_plugin.c (one_pass): Convert from a global
      	struct to a subclass of gimple_opt_pass along with...
      	(pass_data_one_pass): ...new pass_data instance and...
      	(make_one_pass): ...new function.
      	* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_warn_self_assign): ...new pass_data instance and...
      	(make_pass_warn_self_assign): ...new function.
      	* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Convert from
      	a global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_dumb_plugin_example): ...new pass_data instance and...
      	(make_pass_dumb_plugin_example): ...new function.
      	* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Convert from a
      	global struct to a subclass of gimple_opt_pass along with...
      	(pass_data_warn_self_assign): ...new pass_data instance and...
      	(make_pass_warn_self_assign): ...new function.
      
      From-SVN: r201508
      David Malcolm committed
  19. 10 Apr, 2013 1 commit
    • passes.c (execute_todo): Do not call ggc_collect conditional here. · bb313b93
      2013-04-10  Richard Biener  <rguenther@suse.de>
      
      	* passes.c (execute_todo): Do not call ggc_collect conditional here.
      	(execute_one_ipa_transform_pass): But unconditionally here.
      	(execute_one_pass): And here.
      	(init_optimization_passes): Remove reload pass.
      	* tree-pass.h (TODO_ggc_collect): Remove.
      	(pass_reload): Likewise.
      	* ira.c (do_reload): Merge into ...
      	(ira): ... this.
      	(rest_of_handle_reload): Remove.
      	(pass_reload): Likewise.
      	* config/i386/i386.c (ix86_option_override): Refer to ira instead
      	of reload for vzeroupper pass placement.
      	* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
      	and todo_flags_finish of all passes.
      
      	* g++.dg/pr55604.C: Use -fdump-rtl-ira.
      
      From-SVN: r197671
      Richard Biener committed
  20. 10 Jan, 2013 1 commit
  21. 21 Dec, 2012 1 commit
  22. 02 Dec, 2012 1 commit
  23. 29 Nov, 2012 1 commit
  24. 26 Nov, 2012 1 commit
  25. 18 Nov, 2012 1 commit
    • This patch rewrites the old VEC macro-based interface into a new one based on… · 9771b263
      This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
      
      This patch rewrites the old VEC macro-based interface into a new one
      based on the template class 'vec'.  The user-visible changes are
      described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
      
      I have tested the patch pretty extensively:
      
      - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
      - Bootstraps with --enable-checking=release
      - Bootstraps with --enable-checking=gc,gcac
      - Basic builds on all targets (using contrib/config-list.mk).
      
      We no longer access the vectors via VEC_* macros.  The pattern is
      "VEC_operation (T, A, V, args)" becomes "V.operation (args)".
      
      The only thing I could not do is create proper ctors and dtors for the
      vec class.  Since these vectors are stored in unions, we
      have to keep them as PODs (C++03 does not allow non-PODs in unions).
      
      This means that creation and destruction must be explicit.  There is a
      new method vec<type, allocation, layout>::create() and another vec<type,
      allocation, layout>::destroy() to allocate the internal vector.
      
      For vectors that must be pointers, there is a family of free functions
      that implement the operations that need to tolerate NULL vectors.
      These functions all start with the prefix 'vec_safe_'.  See the wiki
      page for details.
      
      The gengtype change removes the special handling for VEC() that used
      to exist in gengtype. Additionally, it allows gengtype to recognize
      templates of more than one argument and introduces the concept of an
      undefined type (useful for template arguments that may or may not be
      types).
      
      When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
      happens inside a type marked with GTY((user)).  Otherwise, it will
      emit an error.
      
      Finally, gengtype rejects root types marked GTY((user)) that are not
      first class pointers.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* vec.c (register_overhead): Convert it into
      	member function of vec_prefix.
      	(release_overhead): Likewise.
      	(calculate_allocation): Likewise.
      	(vec_heap_free): Remove.
      	(vec_gc_o_reserve_1): Remove.
      	(vec_heap_o_reserve_1): Remove.
      	(vec_stack_o_reserve_1): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(register_stack_vec): New.
      	(stack_vec_register_index): New.
      	(unregister_stack_vec): New.
      	(vec_assert_fail): Remove.
      	* vec.h: Conditionally include ggc.h.  Document conditional
      	hackery.
      	Update top-level documentation.
      	(ALONE_VEC_CHECK_INFO): Remove.
      	(VEC_CHECK_INFO): Remove.
      	(ALONE_VEC_CHECK_DECL): Remove.
      	(VEC_CHECK_DECL): Remove.
      	(ALONE_VEC_CHECK_PASS): Remove.
      	(VEC_CHECK_PASS): Remove.
      	(VEC_ASSERT): Remove.
      	(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
      	va_stack.
      	Mark fields alloc_ and num_ as protected.
      	(struct vec_t): Remove.  Remove all function members.
      	(struct vl_embed): Declare.
      	(struct vl_ptr): Declare.
      	(free): Remove.
      	(reserve_exact): Remove.
      	(reserve): Remove.
      	(safe_splice): Remove.
      	(safe_push): Remove.
      	(safe_grow): Remove.
      	(safe_grow_cleared): Remove.
      	(safe_insert): Remove.
      	(DEF_VEC_I): Remove.
      	(DEF_VEC_ALLOC_I): Remove.
      	(DEF_VEC_P): Remove.
      	(DEF_VEC_ALLOC_P): Remove.
      	(DEF_VEC_O): Remove.
      	(DEF_VEC_ALLOC_O): Remove.
      	(DEF_VEC_ALLOC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_I_STACK): Remove.
      	(DEF_VEC_A): Remove.
      	(DEF_VEC_ALLOC_A): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(VEC_length): Remove.
      	(VEC_empty): Remove.
      	(VEC_address): Remove.
      	(vec_address): Remove.
      	(VEC_last): Remove.
      	(VEC_index): Remove.
      	(VEC_iterate): Remove.
      	(VEC_embedded_size): Remove.
      	(VEC_embedded_init): Remove.
      	(VEC_free): Remove.
      	(VEC_copy): Remove.
      	(VEC_space): Remove.
      	(VEC_reserve): Remove.
      	(VEC_reserve_exact): Remove.
      	(VEC_splice): Remove.
      	(VEC_safe_splice): Remove.
      	(VEC_quick_push): Remove.
      	(VEC_safe_push): Remove.
      	(VEC_pop): Remove.
      	(VEC_truncate): Remove.
      	(VEC_safe_grow): Remove.
      	(VEC_replace): Remove.
      	(VEC_quick_insert): Remove.
      	(VEC_safe_insert): Remove.
      	(VEC_ordered_remove): Remove.
      	(VEC_unordered_remove): Remove.
      	(VEC_block_remove): Remove.
      	(VEC_lower_bound): Remove.
      	(VEC_alloc): Remove.
      	(VEC_qsort): Remove.
      
      	(va_heap): Declare.
      	(va_heap::default_layout): New typedef to vl_ptr.
      	(va_heap::reserve): New.
      	(va_heap::release): New.
      	(va_gc): Declare.
      	(va_gc::default_layout): New typedef to vl_embed.
      	(va_gc::reserve): New.
      	(va_gc::release): New.
      	(va_gc_atomic): Declare.  Inherit from va_gc.
      	(va_stack): Declare.
      	(va_stack::default_layout): New typedef to vl_ptr.
      	(va_stack::alloc): New.
      	(va_stack::reserve): New.
      	(va_stack::release): New.
      	(register_stack_vec): Declare.
      	(stack_vec_register_index): Declare.
      	(unregister_stack_vec): Declare.
      
      	(vec<T, A = va_heap, L = typename A::default_layout>): Declare
      	empty vec template.
      	(vec<T, A, vl_embed>): Partial specialization for embedded
      	layout.
      	(vec<T, A, vl_embed>::allocated): New.
      	(vec<T, A, vl_embed>::length): New.
      	(vec<T, A, vl_embed>::is_empty): New.
      	(vec<T, A, vl_embed>::address): New.
      	(vec<T, A, vl_embed>::operator[]): New.
      	(vec<T, A, vl_embed>::last New.
      	(vec<T, A, vl_embed>::space): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::copy): New.
      	(vec<T, A, vl_embed>::splice): New.
      	(vec<T, A, vl_embed>::quick_push New.
      	(vec<T, A, vl_embed>::pop New.
      	(vec<T, A, vl_embed>::truncate): New.
      	(vec<T, A, vl_embed>::quick_insert): New.
      	(vec<T, A, vl_embed>::ordered_remove): New.
      	(vec<T, A, vl_embed>::unordered_remove): New.
      	(vec<T, A, vl_embed>::block_remove): New.
      	(vec<T, A, vl_embed>::qsort): New.
      	(vec<T, A, vl_embed>::lower_bound): New.
      	(vec<T, A, vl_embed>::embedded_size): New.
      	(vec<T, A, vl_embed>::embedded_init): New.
      	(vec<T, A, vl_embed>::quick_grow): New.
      	(vec<T, A, vl_embed>::quick_grow_cleared): New.
      	(vec_safe_space): New.
      	(vec_safe_length): New.
      	(vec_safe_address): New.
      	(vec_safe_is_empty): New.
      	(vec_safe_reserve): New.
      	(vec_safe_reserve_exact): New.
      	(vec_alloc): New.
      	(vec_free): New.
      	(vec_safe_grow): New.
      	(vec_safe_grow_cleared): New.
      	(vec_safe_iterate): New.
      	(vec_safe_push): New.
      	(vec_safe_insert): New.
      	(vec_safe_truncate): New.
      	(vec_safe_copy): New.
      	(vec_safe_splice): New.
      
      	(vec<T, A, vl_ptr>): New partial specialization for the space
      	efficient layout.
      	(vec<T, A, vl_ptr>::exists): New.
      	(vec<T, A, vl_ptr>::is_empty): New.
      	(vec<T, A, vl_ptr>::length): New.
      	(vec<T, A, vl_ptr>::address): New.
      	(vec<T, A, vl_ptr>::operator[]): New.
      	(vec<T, A, vl_ptr>::operator!=): New.
      	(vec<T, A, vl_ptr>::operator==): New.
      	(vec<T, A, vl_ptr>::last): New.
      	(vec<T, A, vl_ptr>::space): New.
      	(vec<T, A, vl_ptr>::iterate): New.
      	(vec<T, A, vl_ptr>::copy): New.
      	(vec<T, A, vl_ptr>::reserve): New.
      	(vec<T, A, vl_ptr>::reserve_exact): New.
      	(vec<T, A, vl_ptr>::splice): New.
      	(vec<T, A, vl_ptr>::safe_splice): New.
      	(vec<T, A, vl_ptr>::quick_push): New.
      	(vec<T, A, vl_ptr>::safe_push): New.
      	(vec<T, A, vl_ptr>::pop): New.
      	(vec<T, A, vl_ptr>::truncate): New.
      	(vec<T, A, vl_ptr>::safe_grow): New.
      	(vec<T, A, vl_ptr>::safe_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_grow): New.
      	(vec<T, A, vl_ptr>::quick_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_insert): New.
      	(vec<T, A, vl_ptr>::safe_insert): New.
      	(vec<T, A, vl_ptr>::ordered_remove): New.
      	(vec<T, A, vl_ptr>::unordered_remove): New.
      	(vec<T, A, vl_ptr>::block_remove): New.
      	(vec<T, A, vl_ptr>::qsort): New.
      	(vec<T, A, vl_ptr>::lower_bound): New.
      	(vec_stack_alloc): Define.
      	(FOR_EACH_VEC_SAFE_ELT): Define.
      	* vecir.h: Remove.  Update all users.
      	* vecprim.h: Remove.  Update all users.
      	Move uchar to coretypes.h.
      
      	* Makefile.in (VEC_H): Add $(GGC_H).
      	Remove vecir.h and vecprim.h dependencies everywhere.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	* gengtype-lex.l (VEC): Remove.
      	Add characters in the set [\!\>\.-].
      	* gengtype-parse.c (token_names): Remove "VEC".
      	(require_template_declaration): Remove handling of VEC_TOKEN.
      	(type): Likewise.
      	Call create_user_defined_type when parsing GTY((user)).
      	* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
      	(write_state_undefined_type): New.
      	(write_state_type): Call write_state_undefined_type for
      	TYPE_UNDEFINED.
      	(read_state_type): Call read_state_undefined_type for
      	TYPE_UNDEFINED.
      	* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
      	(create_user_defined_type): Make extern.
      	(type_for_name): Factor out of resolve_typedef.
      	(create_undefined_type): New
      	(resolve_typedef): Call it when we cannot find a previous
      	typedef and the type is not a template.
      	(find_structure): Accept TYPE_UNDEFINED.
      	(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
      	default to false.
      	Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
      	ALLOWED_UNDEFINED_TYPES is set.
      	Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
      	(filter_type_name): Accept templates with more than one
      	argument.
      	(output_mangled_typename): Handle TYPE_UNDEFINED
      	(walk_type): Likewise.
      	(write_types_process_field): Likewise.
      	(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
      	should not be a user-defined type.
      	(write_types_local_user_process_field): Handle TYPE_ARRAY,
      	TYPE_NONE and TYPE_UNDEFINED.
      	(write_types_local_process_field): Likewise.
      	(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
      	(write_root): Reject user-defined types that are not pointers.
      	Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
      	and TYPE_PARAM_STRUCT.
      	(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
      	TYPE_ARRAY.
      	(dump_typekind): Handle TYPE_UNDEFINED.
      	* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
      	(create_user_defined_type): Declare.
      	(enum gty_token): Remove VEC_TOKEN.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* coretypes.h (uchar): Define.
      	* alias.c: Use new vec API in vec.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* data-streamer.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genextract.c: Likewise.
      	* genopinit.c: Likewise
      	* ggc-common.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* graphds.c: Likewise.
      	* graphds.h: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* godump.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* hw-doloop.h: Likewise.
      	* ifcvt.c: Likewise.
      	* insn-addr.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref-inline.h: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-ref.h: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* mcf.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-common.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      	* read-rtl.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regrename.c: Likewise.
      	* regrename.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-int.h: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* statistics.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      
      From-SVN: r193595
      Diego Novillo committed
  26. 01 Nov, 2012 2 commits
    • This patch normalizes more bitmap function names. · d7c028c0
        sbitmap.h
      
          TEST_BIT -> bitmap_bit_p
          SET_BIT -> bitmap_set_bit
          SET_BIT_WITH_POPCOUNT -> bitmap_set_bit_with_popcount
          RESET_BIT -> bitmap_clear_bit
          RESET_BIT_WITH_POPCOUNT -> bitmap_clear_bit_with_popcount
      
        basic-block.h
      
          sbitmap_intersection_of_succs -> bitmap_intersection_of_succs
          sbitmap_intersection_of_preds -> bitmap_intersection_of_preds
          sbitmap_union_of_succs -> bitmap_union_of_succs
          sbitmap_union_of_preds -> bitmap_union_of_preds
      
      The sbitmap.h functions also needed their numeric paramter changed
      from unsigned int to int to match the bitmap functions.
      
      Callers updated to match.
      
      Tested on x86-64, config-list.mk testing.
      
      
      Index: gcc/ChangeLog
      
      2012-11-01  Lawrence Crowl  <crowl@google.com>
      
      	* sbitmap.h (TEST_BIT): Rename bitmap_bit_p, normalizing parameter
      	type. Update callers to match.
      	(SET_BIT): Rename bitmap_set_bit, normalizing parameter type. Update
      	callers to match.
      	(SET_BIT_WITH_POPCOUNT): Rename bitmap_set_bit_with_popcount,
      	normalizing parameter type. Update callers to match.
      	(RESET_BIT): Rename bitmap_clear_bit, normalizing parameter type.
      	Update callers to match.
      	(RESET_BIT_WITH_POPCOUNT): Rename bitmap_clear_bit_with_popcount,
      	normalizing parameter type. Update callers to match.
      	* basic-block.h (sbitmap_intersection_of_succs): Rename
      	bitmap_intersection_of_succs. Update callers to match.
      	* basic-block.h (sbitmap_intersection_of_preds): Rename
      	bitmap_intersection_of_preds. Update callers to match.
      	* basic-block.h (sbitmap_union_of_succs): Rename
      	bitmap_union_of_succs. Update callers to match.
      	* basic-block.h (sbitmap_union_of_preds): Rename
      	bitmap_union_of_preds. Update callers to match.
      
      From-SVN: r193066
      Lawrence Crowl committed
    • invoke.texi: Update -fopt-info documentation. · 2b4e6bf1
      2012-11-01  Sharad Singhai  <singhai@google.com>
      
          * doc/invoke.texi: Update -fopt-info documentation.
          * dumpfile.c: Move dump_flags here from passes.c.
          Rename opt_info_options to optinfo_verbosity_options.
          Add optgroup_options.
          (dump_files): Add field for optinfo_flags in the static initializer.
          (dump_register): Handle additional parameter for optgroup_flags.
          (opt_info_enable_passes): Renamed opt_info_enable_all. Handle
          optgroup_flags. Fix documentation.
          (opt_info_switch_p_1): Handle optgroup options.
          (opt_info_switch_p): Handle optgroup_flags. Warn on multiple files.
          * dumpfile.h (dump_register): Additional argument for optgroup_flags.
          All callers updated.
          (struct dump_file_info): Add field for optgroup_flags.
          Define OPTGROUP_* flags.
          * tree-pass.h (struct opt_pass): Add addtional field for optinfo_flags.
          All opt_pass static initializers updated.
          * opts-global.c (dump_remap_tree_vectorizer_verbose): Use 'all'
          instead of 'optall'.
          (handle_common_deferred_options): Fix typo in error message.
          * passes.c (register_one_dump_file): Add argument for optgroup_flags.
          Turn on OPTGROUP_IPA for IPA passes.
          Move dump_flags from here to dumpfile.c.
          * statistics.c (statistics_early_init): Use OPTGROUP_NONE in call to
          dump_register.
      
      testsuite/ChangeLog
      
          * testsuite/gcc.dg/plugin/selfassign.c: Add opgtroup_flags initializer.
          * testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
          * testsuite/g++.dg/plugin/selfassign.c: Likewise.
          * testsuite/g++.dg/plugin/dumb_plugin.c: Likewise.
      
      From-SVN: r193061
      Sharad Singhai committed
  27. 30 Oct, 2012 1 commit
    • This patch implements the unification of the *bitmap interfaces as discussed. · f61e445a
      Essentially, we rename ebitmap and sbitmap functions to use the same names
      as the bitmap functions.  This rename works because we can now overload
      on the bitmap type.  Some macros now become inline functions to enable
      that overloading.
      
      The sbitmap non-bool returning bitwise operations have been merged with
      the bool versions.  Sometimes this merge involved modifying the non-bool
      version to compute the bool value, and sometimes modifying bool version to
      add additional work from the non-bool version.  The redundant routines have
      been removed.
      
      The allocation functions have not been renamed, because we often do not
      have an argument on which to overload.  The cardinality functions have not
      been renamed, because they have different parameters, and are thus not
      interchangable.  The iteration functions have not been renamed, because
      they are functionally different.
      
      Tested on x86_64, contrib/config-list.mk testing passed.
      
      
      Index: gcc/ChangeLog
      
      2012-10-29  Lawrence Crowl  <crowl@google.com>
      
      	* sbitmap.h (sbitmap_copy): Rename bitmap_copy.
      	(sbitmap_copy_n): Rename bitmap_copy_n.
      	(sbitmap_equal): Rename bitmap_equal_p.
      	(sbitmap_empty_p): Rename bitmap_empty_p.
      	(sbitmap_range_empty_p): Rename bitmap_range_empty_p.
      	(sbitmap_zero): Rename bitmap_clear.
      	(sbitmap_ones): Rename bitmap_ones.
      	(sbitmap_vector_zero): Rename bitmap_vector_clear.
      	(sbitmap_vector_ones): Rename bitmap_vector_ones.
      	(sbitmap_not): Rename bitmap_not.
      	(sbitmap_a_and_b_cg): Commented out.
      	(sbitmap_a_and_b): Rename bitmap_and.  Add bool return.
      	(sbitmap_difference): Rename bitmap_and_compl.
      	(sbitmap_a_or_b_cg): Commented out.
      	(sbitmap_a_or_b): Rename bitmap_xor.  Add bool return.
      	(sbitmap_a_xor_b_cg): Commented out.
      	(sbitmap_a_xor_b): Rename bitmap_xor.  Add bool return.
      	(sbitmap_a_and_b_or_c_cg): Rename bitmap_and_or.
      	(sbitmap_a_and_b_or_c): Commented out.
      	(sbitmap_a_or_b_and_c_cg): Rename bitmap_or_and.
      	(sbitmap_a_or_b_and_c): Commented out.
      	(sbitmap_union_of_diff_cg): Rename bitmap_ior_and_compl.
      	(sbitmap_union_of_diff): Commented out.
      	(dump_sbitmap): Rename dump_bitmap.
      	(dump_sbitmap_file): Rename dump_bitmap_file.
      	(debug_sbitmap): Rename debug_bitmap.
      	(dump_sbitmap_vector): Rename dump_bitmap_vector.
      	(sbitmap_first_set_bit): Rename bitmap_first_set_bit.
      	(sbitmap_last_set_bit): Rename bitmap_last_set_bit.
      	(sbitmap_a_subset_b_p): Rename bitmap_subset_p.
      	(sbitmap_any_common_bits): Rename bitmap_intersect_p.
      	(#define sbitmap_free): Reimplement as inline function.
      	(#define sbitmap_vector_free): Reimplement as inline function.
      	* bitmap.h (#define bitmap_zero): Remove as redundant.
      	(#define bitmap_empty_p): Reimplement as inline function.
      	(#define dump_bitmap): Reimplement as inline function.
      
      From-SVN: r192969
      Lawrence Crowl committed
  28. 02 Aug, 2012 1 commit
    • cfgexpand.c (expand_debug_locations): Encapsulate test for CONST_DOUBLE in macro. · 48175537
      2012-08-02  Kenneth Zadeck <zadeck@naturalbridge.com>
      
      	* cfgexpand.c (expand_debug_locations):  Encapsulate test for
      	CONST_DOUBLE in macro.
      	* combine.c (try_combine, gen_lowpart_for_combine): Ditto.
      	* cprop.c (implicit_set_cond_p): Ditto.
      	* cselib.c (rtx_equal_for_cselib_1): Ditto.
      	* expmed.c (expand_mult): Ditto.
      	* expr.c (convert_modes): Ditto.
      	* ira-costs.c (record_reg_classes): Ditto.
      	* ira-lives.c (single_reg_class): Ditto.
      	* optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
      	* print-rtl.c (print_rtx): Ditto.
      	* recog.c (simplify_while_replacing, const_double_operand)
      	(asm_operand_ok, constrain_operands): Ditto.
      	* reg-stack.c (subst_stack_regs_pat): Ditto.
      	* reload.c (find_reloads, find_equiv_reg): Ditto.
      	* rtlanal.c (replace_rtx): Remove test.
      	* rtlanal.c (constant_pool_constant_p, split_double): Encapsulate test for
      	CONST_DOUBLE in macro.
      	* simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
      	(simplify_unary_operation_1, simplify_const_unary_operation)
      	(simplify_binary_operation_1, simplify_const_binary_operation)
      	(simplify_relational_operation_1)
      	(simplify_const_relational_operations)
      	(implify_subreg): Ditto.
      	* varasm.c (output_constant_pool_2): Ditto.
      	* rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New
      	macros.
      	* rtl.def (CONST_DOUBLE):  Updated comments.
      
      From-SVN: r190105
      Kenneth Zadeck committed
  29. 16 Jul, 2012 1 commit
    • system.h (dump_file): Do not define. · 7ee2468b
      gcc/
      	* system.h (dump_file): Do not define.
      	* tree-pass.h: Include dumpfile.h, which is a new file containing...
      	(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
      	dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
      	dump_flag_name, dump_file, dump_flags, dump_file_name,
      	get_dump_file_info, struct dump_file_info): all of this, moved to...
      	* dumpfile.h: Here, new file.
      	* tree-dump.h: Include dumpfile.h, but not tree-pass.h.
      	(dump_stmt): Remove prototype for C++ specific function.
      	(dump_enumerated_decls): Move prototype from here...
      	* tree-flow.h (dump_enumerated_decls): ... to here.
      	(get_ref_base_and_extent) Move prototype from here ...
      	* tree.h (get_ref_base_and_extent) ... to here.
      	* tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
      	gimple-pretty-print.h is enough.  Do not include tree-dump.h,
      	include timevar.h and dumpfile.h instead.
      	(struct numbered_tree_d, compare_decls_by_uid,
      	dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
      	* tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
      	dump_enumerated_decls_push, dump_enumerated_decls):... to here.
      	Do not include timevar.h.
      	* tree.c: Do not include timevar.h.
      	* tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
      	timevar.h.
      	(dump_cfg_stats): Use current_function_name.
      	(gimple_cfg2vcg): Likewise.
      	(dump_function_to_file): Likewise.
      	* df-scan.c: Do not include tree-pass.h and timevar.h.
      	Include dumpfile.h.
      	(df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
      	use print_current_pass.
      	* df-problems.c: Include dumpfile.h.
      	Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
      	leads to errors in the code not selected.
      	(df_note_compute): Do not print_rtl_with_bb here.  Fix compilation
      	bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
      	* lcm.c: Include dumpfile.h.
      	Remove obsolete include of insn-attr.h.
      	* dojump.c (do_compare_rtx_and_jump): Remove failure printing for
      	missing probability notes.
      	* stmt.c: Include dumpfile.h.
      	(emit_case_decision_tree): Re-enable printing expand details only
      	if TDF_DETAILS.
      	* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c, 
      	cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c, 
      	cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c, 
      	coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c, 
      	dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c, 
      	function.c, fwprop.c, gcse.c, gimple-fold.c, 
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, 
      	gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, 
      	graphite-dependences.c, graphite-interchange.c, 
      	graphite-optimize-isl.c, graphite-poly.c, 
      	graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c, 
      	ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c, 
      	ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c, 
      	ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c, 
      	jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, 
      	loop-unroll.c, loop-unswitch.c, lower-subreg.c, 
      	lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c, 
      	mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c, 
      	plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c, 
      	print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c, 
      	regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c, 
      	sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c, 
      	store-motion.c, tracer.c, trans-mem.c, tree-affine.c, 
      	tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c, 
      	tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
      	tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c, 
      	tree-mudflap.c, tree-nrv.c, tree-object-size.c, 
      	tree-optimize.c, tree-outof-ssa.c, tree-predcom.c, 
      	tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, 
      	tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.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-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, 
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, 
      	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, 
      	tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c, 
      	tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, 
      	tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c, 
      	tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c, 
      	tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c, 
      	tree-ssa-threadedge.c, tree-ssa-threadupdate.c, 
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, 
      	tree-switch-conversion.c, tree-tailcall.c, 
      	tree-vect-data-refs.c, tree-vect-loop.c, 
      	tree-vect-loop-manip.c, tree-vectorizer.c, 
      	tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, 
      	tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
      	only if needed.  If tree-pass.h is included, do not include timevar.h
      	and dumpfile.h.  If tree-pass.h is not included but dump_file, or
      	dump_flags, or the TDF_* flags are used, include dumpfile.h.
      	If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
      	Remove assorted unnecessary includes.
      
      	* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
      	config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
      	config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
      	Include dumpfile.h.
      	* config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
      	* arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
      	spu/t-spu-elf: Fix dependencies.
      
      c-family/
      	* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
      	* c-ada-spec.c: Likewise.
      	* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
      
      c/
      	* c-decl.c: Include dumpfile.h instead of tree-dump.h.
      	* Make-lang.in: Fix dependencies.
      
      cp/
      	* dump.c (dump_stmt): Moved here from c-dump.c.
      	* optimize.c: Include dumpfile.h instead of tree-dump.h.
      	* class.c: Likewise.
      	* decl2.c: Likewise.
      	* Make-lang.in: Fix dependencies.
      
      fortran/
      	* f95-lang.c: Include dumpfile.h instead of tree-dump.h.
      	* Make-lang.in: Fix dependencies.
      
      java/
      	* java-gimplify.c Include dumpfile.h instead of tree-dump.h
      	* Make-lang.in: Fix dependencies.
      
      lto/
      	* lto.c: Do not include timevar.h.
      	* Make-lang.in: Fix dependencies.
      
      ada/
      	* gcc-interface/utils.c: Include timevar.h.
      	* Make-lang.in: Fix dependencies.
      
      From-SVN: r189519
      Steven Bosscher committed
  30. 31 May, 2012 1 commit
    • output.h (__gcc_host_wide_int__): Move to hwint.h. · be7a421e
      	* output.h (__gcc_host_wide_int__): Move to hwint.h.
      	(decl_default_tls_model): Move to tree.h
      	(dump_file): Move to system.h.
      	(default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
      	dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
      	dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
      	dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
      	dbxout_stab_value_zero, dbxout_stab_value_label_diff,
      	dbxout_stab_value_internal_label,
      	dbxout_stab_value_internal_label_diff): Move from here ...
      	* dbxout.h: ... to here.
      	* system.h (dump_file): Moved here from output.h.
      	* hwint.h (__gcc_host_wide_int__): Moved here from output.h.
      	* tree.h (decl_default_tls_model): Moved here from output.h.
      	* varasm.c (default_stabs_asm_out_destructor,
      	default_stabs_asm_out_constructor): Move from here ...
      	* dbxout.c: ... to here.
      
      	* gcov-dump.c (dump_file): Rename to dump_gcov_file.  Update callers.
      
      	* collect2.h (dump_file): Rename to dump_ld_file.
      	* collect2.c: Likewise.
      	* tlink.c: Likewise.
      
      	* alias.c: Do not include output.h.
      	* auto-inc-dec.c: Likewise.
      	* bt-load.c: Likewise.
      	* caller-save.c: Likewise.
      	* cfg.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraphclones.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dojump.c: Likewise.
      	* fwprop.c: Likewise.
      	* gcse.c: Likewise.
      	* graph.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-emit.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* regmove.c: Likewise.
      	* regstat.c: Likewise.
      	* reload1.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* value-prof.c: Likewise.
      	* var-tracking.c: Likewise.
      	* web.c: Likewise.
      
      	* config/m32r/m32r.c: Include dbxout.h.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      
      	* Makefile.in: Fix dependencies.
      	* config/rs6000/t-rs5000: Likewise.
      
      c-family/
      	* c-ada-spec.c: Do not include output.h.
      	* c-semantics.c: Likewise.
      
      cp/
      	* call.c: Do not include output.h.
      	* class.c: Likewise.
      	* except.c: Likewise.
      	* friend.c: Likewise.
      	* init.c: Likewise.
      	* lex.c: Likewise.
      	* method.c: Likewise.
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      
      objc/
      	* objc-act.c: Do not include output.h.
      
      fortran/
      	* trans-common.c: Do not include output.h.
      	* trans-decl.c: Likewise.
      
      java/
      	* resource.c: Do not include output.h.
      
      From-SVN: r188082
      Steven Bosscher committed
  31. 02 Apr, 2012 1 commit
  32. 28 Mar, 2012 1 commit
    • loop-init.c (loop_optimizer_init): If loops are preserved perform incremental… · 7d776ee2
      loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features.
      
      2012-03-28  Richard Guenther  <rguenther@suse.de>
      
      	* loop-init.c (loop_optimizer_init): If loops are preserved
      	perform incremental initialization of required loop features.
      	(loop_optimizer_finalize): If loops are to be preserved only
      	clean up optional loop features.
      	(rtl_loop_done): Forcefully free loops here.
      	* cgraph.c (cgraph_release_function_body): Forcefully free
      	loops.
      	* cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks
      	to existing loops.
      	(construct_init_block): Likewise.
      	(construct_exit_block): Likewise.
      	(gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state.  Cleanup
      	the CFG after expanding.
      	* cfgloop.c (verify_loop_structure): Calculate or verify
      	dominators.  If we needed to calculate them, free them afterwards.
      	* tree-pass.h (PROP_loops): New define.
      	* tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops.
      	* basic-block.h (CLEANUP_CFG_CHANGED): New.
      	* cfgcleanup.c (merge_blocks_move): Protect loop latches.
      	(cleanup_cfg): If we did something and have loops around, fix
      	them up.
      	* cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg
      	with CLEANUP_CFG_CHANGED.
      	* cfghooks.c (merge_blocks): If we merge a loop header into
      	its predecessor, update the loop structure.
      	(duplicate_block): If we copy a loop latch, adjust loop state
      	to note we may have multiple latches.
      	(delete_basic_block): Mark loops for fixup if we remove a loop.
      	* cfganal.c (forwarder_block_p): Protect loop latches, headers
      	and preheaders.
      	* cfgrtl.c (rtl_can_merge_blocks): Protect loop latches.
      	(cfg_layout_can_merge_blocks_p): Likewise.
      	* cprop.c (bypass_block): If we create a loop with multiple
      	entries, mark it for removal.
      	* except.c (emit_to_new_bb_before): Add the new basic-block
      	to existing loops.
      	* tree-eh.c (lower_resx): Likewise.
      	* omp-low.c (finalize_task_copyfn): Do not copy PROP_loops.
      	(expand_omp_taskreg): Likewise.
      	* tree-inline.c (initialize_cfun): Likewise.
      	* tree-mudflap.c (add_bb_to_loop): Prototype.
      	(mf_build_check_statement_for): Properly add new basic-blocks
      	to existing loops.
      	* tree-ssa-threadupdate.c (thread_block): Mark loops for fixup
      	if we remove a loop.
      	(thread_through_loop_header): Likewise.
      	* trans-mem.c (tm_log_emit_save_or_restores): Properly add
      	new basic-blocks to existing loops.
      	(expand_transaction): Likewise.
      	* Makefile.in (except.o): Add $(CFGLOOP_H).
      	(expr.o): Likewise.
      	(cgraph.o): Likewise.
      	(cprop.o): Likewise.
      	(cfgexpand.o): Likewise.
      	(cfganal.o): Likewise.
      	(trans-mem.o): Likewise.
      	(tree-eh.o): Likewise.
      
      From-SVN: r185913
      Richard Guenther committed
  33. 17 Nov, 2011 1 commit
    • re PR rtl-optimization/50663 (conditional propagation missed in cprop.c pass) · cfb99521
      	PR rtl-optimization/50663
      	* cprop.c (implicit_set_indexes): New global variable.
      	(insert_set_in_table): Add additional parameter and record implicit
      	set information.
      	(hash_scan_set): Add additional parameter and pass it to above.
      	(hash_scan_insn): Pass false to hash_scan_set.
      	(compute_hash_table_work): Pass true to hash_scan_set.
      	(compute_cprop_data): Add implicit set to AVIN of block which the
      	implicit set is recorded for.
      	(one_cprop_pass): Handle implicit_set_indexes array.
      
      From-SVN: r181446
      Bin Cheng committed