aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
AgeCommit message (Collapse)AuthorFilesLines
2014-11-12rtl.h (rtx_function, [...]): Delete.Richard Sandiford1-140/+1
gcc/ * rtl.h (rtx_function, for_each_rtx, for_each_rtx_in_insn): Delete. * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, for_each_rtx): (for_each_rtx_in_insn): Delete. (init_rtlanal): Remove initialization of non_rtx_starting_operands. * df-core.c: Remove reference to for_each_rtx in comment. From-SVN: r217407
2014-10-29decl.c, [...]: Remove redundant enum from machine_mode.Richard Sandiford1-47/+47
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
2014-10-27ggcplug.c: Shuffle includes to include gcc-plugin.h earlier.Andrew MacLeod1-0/+2
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
2014-10-24Handle SCRATCH in decompose_addressMaxim Kuvyrkov1-1/+2
* rtlanal.c (get_base_term): Handle SCRATCH. From-SVN: r216624
2014-10-21cfgloopanal.c (seq_cost): Delete.Zhenqiang Chen1-0/+20
2014-10-21 Zhenqiang Chen <zhenqiang.chen@arm.com> * cfgloopanal.c (seq_cost): Delete. * rtl.h (seq_cost): New prototype. * rtlanal.c (seq_cost): New function. * tree-ssa-loop-ivopts.c (seq_cost): Delete. From-SVN: r216501
2014-10-16function.h: Flatten file.Andrew MacLeod1-0/+5
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
2014-10-13rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the ↵Richard Sandiford1-22/+51
parts of an insn in reverse order, with the pattern at the top of the queue. gcc/ * rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the parts of an insn in reverse order, with the pattern at the top of the queue. Detect when we're iterating over a SEQUENCE pattern and in that case just consider patterns of subinstructions. From-SVN: r216137
2014-09-22rtl.h (subreg_info): Expand commentaryRichard Sandiford1-1/+14
gcc/ * rtl.h (subreg_info): Expand commentary * rtlanal.c (subreg_get_info): Likewise. From-SVN: r215447
2014-09-12params 2 and 3 of reg_set_between_pDavid Malcolm1-3/+2
gcc/ChangeLog: * config/alpha/alpha.c (alpha_ra_ever_killed): Replace NULL_RTX with NULL when dealing with an insn. * config/sh/sh.c (sh_reorg): Strengthen local "last_float_move" from rtx to rtx_insn *. * rtl.h (reg_set_between_p): Strengthen params 2 and 3 from const_rtx to const rtx_insn *. * rtlanal.c (reg_set_between_p): Likewise, removing a checked cast. From-SVN: r215222
2014-09-11Introduce LABEL_REF_LABELDavid Malcolm1-3/+5
gcc/ChangeLog: 2014-09-11 David Malcolm <dmalcolm@redhat.com> * rtl.h (LABEL_REF_LABEL): New macro. * alias.c (rtx_equal_for_memref_p): Use LABEL_REF_LABEL in place of XEXP (, 0), where we know that we have a LABEL_REF. * cfgbuild.c (make_edges): Likewise. (purge_dead_tablejump_edges): Likewise. * cfgexpand.c (convert_debug_memory_address): Likewise. * cfgrtl.c (patch_jump_insn): Likewise. * combine.c (distribute_notes): Likewise. * cse.c (hash_rtx_cb): Likewise. (exp_equiv_p): Likewise. (fold_rtx): Likewise. (check_for_label_ref): Likewise. * cselib.c (rtx_equal_for_cselib_1): Likewise. (cselib_hash_rtx): Likewise. * emit-rtl.c (mark_label_nuses): Likewise. * explow.c (convert_memory_address_addr_space): Likewise. * final.c (output_asm_label): Likewise. (output_addr_const): Likewise. * gcse.c (add_label_notes): Likewise. * genconfig.c (walk_insn_part): Likewise. * genrecog.c (validate_pattern): Likewise. * ifcvt.c (cond_exec_get_condition): Likewise. (noce_emit_store_flag): Likewise. (noce_get_alt_condition): Likewise. (noce_get_condition): Likewise. * jump.c (maybe_propagate_label_ref): Likewise. (mark_jump_label_1): Likewise. (redirect_exp_1): Likewise. (rtx_renumbered_equal_p): Likewise. * lra-constraints.c (operands_match_p): Likewise. * reload.c (operands_match_p): Likewise. (find_reloads): Likewise. * reload1.c (set_label_offsets): Likewise. * reorg.c (get_branch_condition): Likewise. * rtl.c (rtx_equal_p_cb): Likewise. (rtx_equal_p): Likewise. * rtlanal.c (reg_mentioned_p): Likewise. (rtx_referenced_p): Likewise. (get_condition): Likewise. * sched-vis.c (print_value): Likewise. * varasm.c (const_hash_1): Likewise. (compare_constant): Likewise. (const_rtx_hash_1): Likewise. (output_constant_pool_1): Likewise. From-SVN: r215190
2014-09-09single_set takes an insnDavid Malcolm1-1/+1
gcc/ChangeLog: 2014-09-09 David Malcolm <dmalcolm@redhat.com> * rtl.h (single_set_2): Strengthen first param from const_rtx to const rtx_insn *, and move prototype to above... (single_set): ...this. Convert this from a macro to an inline function, enforcing the requirement that the param is a const rtx_insn *. (find_args_size_adjust): Strengthen param from rtx to rtx_insn *. * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue): Strengthen both params from rtx to rtx_insn *. * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): Likewise; introduce locals "producer_set", "consumer_set", using them in place of "producer" and "consumer" when dealing with SET rather than insn. * config/avr/avr.c (avr_out_plus): Add checked cast to rtx_insn * when invoking single_set in region guarded by INSN_P. (avr_out_bitop): Likewise. (_reg_unused_after): Introduce local rtx_sequence * "seq" in region guarded by GET_CODE check, using methods to strengthen local "this_insn" from rtx to rtx_insn *, and for clarity. * config/avr/avr.md (define_insn_and_split "xload8<mode>_A"): Strengthen local "insn" from rtx to rtx_insn *. (define_insn_and_split "xload<mode>_A"): Likewise. * config/bfin/bfin.c (trapping_loads_p): Likewise for param "insn". (find_load): Likewise for return type. (workaround_speculation): Likewise for both locals named "load_insn". * config/cris/cris.c (cris_cc0_user_requires_cmp): Likewise for local "cc0_user". * config/cris/cris.md (define_peephole2 ; moversideqi): Likewise for local "prev". * config/h8300/h8300-protos.h (notice_update_cc): Likewise for param 2. * config/h8300/h8300.c (notice_update_cc): Likewise. * config/i386/i386.c (ix86_flags_dependent): Likewise for params "insn" and "dep_insn". (exact_store_load_dependency): Likewise for both params. (ix86_macro_fusion_pair_p): Eliminate local named "single_set" since this now clashes with inline function. Instead, delay calling single_set until the point where its needed, and then assign the result to "compare_set" and rework the conditional that follows. * config/ia64/ia64.md (define_expand "tablejump"): Strengthen local "last" from rtx to rtx_insn *. * config/mips/mips-protos.h (mips_load_store_insns): Likewise for second param. (mips_store_data_bypass_p): Likewise for both params. * config/mips/mips.c (mips_load_store_insns): Likewise for second param. (mips_store_data_bypass_p): Likewise for both params. (mips_orphaned_high_part_p): Likewise for param "insn". * config/mn10300/mn10300.c (extract_bundle): Likewise. (mn10300_bundle_liw): Likewise for locals "r", "insn1", "insn2". Introduce local rtx "insn2_pat". * config/rl78/rl78.c (move_elim_pass): Likewise for locals "insn", "ninsn". (rl78_remove_unused_sets): Likewise for locals "insn", "ninsn". Introduce local rtx "set", using it in place of "insn" for the result of single_set. This appears to fix a bug, since the call to find_regno_note on a SET does nothing. * config/rs6000/rs6000.c (set_to_load_agen): Strengthen both params from rtx to rtx_insn *. (set_to_load_agen): Likewise. * config/s390/s390.c (s390_label_align): Likewise for local "prev_insn". Introduce new rtx locals "set" and "src", using them in place of "prev_insn" for the results of single_set and SET_SRC respectively. (s390_swap_cmp): Strengthen local "jump" from rtx to rtx_insn *. Introduce new rtx local "set" using in place of "jump" for the result of single_set. Use SET_SRC (set) rather than plain XEXP (set, 1). * config/sh/sh.c (noncall_uses_reg): Strengthen param 2from rtx to rtx_insn *. (noncall_uses_reg): Likewise. (reg_unused_after): Introduce local rtx_sequence * "seq" in region guarded by GET_CODE check, using its methods for clarity, and to enable strengthening local "this_insn" from rtx to rtx_insn *. * config/sh/sh.md (define_expand "mulhisi3"): Strengthen local "insn" from rtx to rtx_insn *. (define_expand "umulhisi3"): Likewise. (define_expand "smulsi3_highpart"): Likewise. (define_expand "umulsi3_highpart"): Likewise. * config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for local "after". Replace GET_CODE check with a dyn_cast, introducing new local rtx_sequence * "seq", using insn method for typesafety. * dwarf2cfi.c (dwarf2out_frame_debug): Strengthen param "insn" from rtx to rtx_insn *. Introduce local rtx "pat", using it in place of "insn" once we're dealing with patterns rather than the input insn. (scan_insn_after): Strengthen param "insn" from rtx to rtx_insn *. (scan_trace): Likewise for local "elt", updating lookups within sequence to use insn method rather than element method. * expr.c (find_args_size_adjust): Strengthen param "insn" from rtx to rtx_insn *. * gcse.c (gcse_emit_move_after): Likewise for local "new_rtx". * ifcvt.c (noce_try_abs): Likewise for local "insn". * ira.c (fix_reg_equiv_init): Add checked cast to rtx_insn * when invoking single_set. * lra-constraints.c (insn_rhs_dead_pseudo_p): Strengthen param "insn" from rtx to rtx_insn *. (skip_usage_debug_insns): Likewise for return type, adding a checked cast. (check_secondary_memory_needed_p): Likewise for local "insn". (inherit_reload_reg): Likewise. * modulo-sched.c (sms_schedule): Likewise for local "count_init". * recog.c (peep2_attempt): Likewise for local "old_insn", adding checked casts. (store_data_bypass_p): Likewise for both params. (if_test_bypass_p): Likewise. * recog.h (store_data_bypass_p): Likewise for both params. (if_test_bypass_p): Likewise. * reload.c (find_equiv_reg): Likewise for local "where". * reorg.c (delete_jump): Likewise for param "insn". * rtlanal.c (single_set_2): Strenghen param "insn" from const_rtx to const rtx_insn *. * store-motion.c (replace_store_insn): Likewise for param "del". (delete_store): Strengthen local "i" from rtx to rtx_insn_list *, and use its methods for clarity, and to strengthen local "del" from rtx to rtx_insn *. (build_store_vectors): Use insn method of "st" when calling replace_store_insn for typesafety and clarity. From-SVN: r215089
2014-09-06re PR target/63171 (Segfault in rs6000.c:rs6000_emit_move for multiple tls ↵Richard Sandiford1-1/+1
tests starting with r214658) gcc/ PR middle-end/63171 * rtlanal.c (tls_referenced_p): Don't skip constant subrtxes. From-SVN: r214989
2014-09-05Use rtx_insn for various jump-handling functions and predicatesDavid Malcolm1-1/+1
gcc/ChangeLog: 2014-09-05 David Malcolm <dmalcolm@redhat.com> * config/arc/arc.c (arc_print_operand): Use insn method of final_sequence for type-safety. * config/bfin/bfin.c (bfin_hardware_loop): Strengthen param "insn" from rtx to rtx_insn *. * config/frv/frv.c (frv_print_operand_jump_hint): Likewise. * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Likewise for locals "branch", "label". * config/h8300/h8300.c (same_cmp_preceding_p): Likewise for locals "i1", "i2". Use NULL rather than NULL_RTX in comparisons. (same_cmp_following_p): Likewise for locals "i2", "i3". * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::sh_cbranch_ccreg_value): Likewise for param "cbranch_insn". * function.c (convert_jumps_to_returns): Likewis for local "jump". * ifcvt.c (cond_exec_get_condition): Likewise for param "jump". * jump.c (simplejump_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (condjump_p): Likewise. (condjump_in_parallel_p): Likewise. (pc_set): Likewise. (any_uncondjump_p): Likewise. (any_condjump_p): Likewise. (condjump_label): Likewise. (returnjump_p): Strengthen param "insn" from rtx to const rtx_insn *. (onlyjump_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (jump_to_label_p): Likewise. (invert_jump_1): Strengthen param "jump" from rtx to rtx_insn *. (invert_jump): Likewise. * reorg.c (simplejump_or_return_p): Add checked cast when calling simplejump_p. (get_jump_flags): Strengthen param "insn" from rtx to const rtx_insn *. (get_branch_condition): Likewise. (condition_dominates_p): Likewise. (make_return_insns): Move declaration of local "pat" earlier, to after we've handled NONJUMP_INSN_P and non-sequences, using its methods to simplify the code and for type-safety. * rtl.h (find_constant_src): Strengthen param from const_rtx to const rtx_insn *. (jump_to_label_p): Strengthen param from rtx to const rtx_insn *. (condjump_p): Strengthen param from const_rtx to const rtx_insn *. (any_condjump_p): Likewise. (any_uncondjump_p): Likewise. (pc_set): Likewise. (condjump_label): Likewise. (simplejump_p): Likewise. (returnjump_p): Likewise. (onlyjump_p): Likewise. (invert_jump_1): Strengthen param 1 from rtx to rtx_insn *. (invert_jump): Likewise. (condjump_in_parallel_p): Strengthen param from const_rtx to const rtx_insn *. * rtlanal.c (find_constant_src): Strengthen param from const_rtx to const rtx_insn *. * sel-sched-ir.c (fallthru_bb_of_jump): Strengthen param from rtx to const rtx_insn *. * sel-sched-ir.h (fallthru_bb_of_jump): Likewise. From-SVN: r214970
2014-09-05Params to modified_between_pDavid Malcolm1-3/+1
gcc/ 2014-09-05 David Malcolm <dmalcolm@redhat.com> * rtl.h (modified_between_p): Strengthen params 2 and 3 from const_rtx to const rtx_insn *. * rtlanal.c (modified_between_p): Likewise, eliminating a checked cast. From-SVN: r214931
2014-09-04Change the types of arguments and return values for several functions from ↵Trevor Saunders1-2/+3
rtx to rtx_insn * gcc/ChangeLog: 2014-09-04 Trevor Saunders <tsaunders@mozilla.com> * emit-rtl.c (get_first_nonnote_insn): Return rtx_insn * instead of rtx. (get_last_nonnote_insn): Likewise. (next_nonnote_insn_bb): Take rtx_insn * instead of rtx. * resource.c (find_basic_block): Likewise. * rtl.h: Adjust. * rtlanal.c (keep_with_call_p): Take const rtx_insn * instead of const_rtx. From-SVN: r214922
2014-08-29re PR bootstrap/62301 (PowerPC bootstrap broken since r214654)Richard Sandiford1-1/+1
gcc/ PR bootstrap/62301 * rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call. From-SVN: r214733
2014-08-28NEXT_INSN and PREV_INSN take a const rtx_insnDavid Malcolm1-6/+11
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (RTX_PREV): Added checked casts to uses of PREV_INSN and NEXT_INSN. (PREV_INSN): Strengthen param from const_rtx to const rtx_insn *. (NEXT_INSN): Likewise. (JUMP_LABEL_AS_INSN): Add a "const" modifier to param. (reg_used_between_p): Strengthen params 2 and 3 from const_rtx to const rtx_insn *. (no_labels_between_p): Likewise for both params. * config/aarch64/aarch64.c (aarch64_output_casesi): Add a checked cast when using NEXT_INSN on operands[2]. * config/alpha/alpha.c (alpha_set_memflags): Strengthen local "insn" from rtx to rtx_insn *, adding a checked cast. (alpha_handle_trap_shadows): Strengthen locals "i", "n" from rtx to rtx_insn *. * config/arc/arc-protos.h (arc_ccfsm_record_condition): Likewise for third param. (arc_text_label): Likewise for param "insn". * config/arc/arc.c (arc_expand_epilogue): Likewise for local "insn". (arc_ccfsm_record_condition): Likewise for param "jump". (arc_text_label): Likewise for local "label". * config/arc/arc.md (doloop_begin_i): Likewise for local "scan". Introduce a local "seq" via a dyn_cast to rtx_sequence *, and use a method for typesafety. Add a checked cast. * config/arc/constraints.md (Clb): Add a checked cast when getting the CODE_LABEL from a LABEL_REF. * config/arm/arm.c (require_pic_register): Strengthen locals "seq", "insn" from rtx to rtx_insn *. (create_fix_barrier): Likewise for locals "selected", "next". (thumb1_reorg): Likewise for locals "prev", "insn". (arm_expand_prologue): Likewise for local "last". (thumb1_output_casesi): Add a checked cast when using NEXT_INSN on operands[0]. (thumb2_output_casesi): Likewise for operands[2]. * config/avr/avr-log.c (avr_log_vadump): Within 'L' case, strengthen local "insn" from rtx to rtx_insn *. * config/bfin/bfin.c (find_next_insn_start): Likewise for return type and param "insn". (find_prev_insn_start): Likewise. (hwloop_optimize): Likewise for locals "insn", "last_insn", "prev". (gen_one_bundle): Likewise for loal "t". (find_load): Likewise for param "insn". (workaround_speculation): Likewise for locals "insn", "next", "target", "next_tgt". * config/c6x/c6x.c (assign_reservations): Likewise for both params and for locals "insn", "within", "last". (count_unit_reqs): Likewise for params "head", "tail" and local "insn". (try_rename_operands): Likewise for params "head", "tail". (reshuffle_units): Likewise for locals "head", "tail", "insn". (struct c6x_sched_context): Likewise for fields "last_scheduled_insn", "last_scheduled_iter0". (init_sched_state): Replace NULL_RTX with NULL. (reorg_split_calls): Strengthen local "new_cycle_first" from rtx to rtx_insn *. (undo_split_delayed_nonbranch): Likewise for param and for local "prev". (conditionalize_after_sched): Likewise for local "insn". (bb_earliest_end_cycle): Likewise. (filter_insns_above): Likewise for locals "insn", "next". (hwloop_optimize): Remove redundant checked cast. (hwloop_fail): Strengthen local "t" from rtx to rtx_insn *. * config/cris/cris.c (cris_initial_frame_pointer_offset): Replace NULL_RTX with NULL. (cris_simple_epilogue): Likewise. (cris_expand_prologue): Likewise. (cris_expand_epilogue): Likewise. * config/frv/frv.c (frv_function_contains_far_jump): Strengthen local "insn" from rtx to rtx_insn *. (frv_ifcvt_modify_tests): Likewise for locals "last_insn", "insn". (struct frv_packet_group): Likewise for the elements within array fields "insns", "sorted", and for field "nop". (frv_packet): Likewise for the elements within array field "insns". (frv_add_insn_to_packet): Likewise for param "insn". (frv_insert_nop_in_packet): Likewise for param "insn" and local "last". (frv_for_each_packet): Likewise for locals "insn", "next_insn". (frv_sort_insn_group_1): Likewise for local "insn". (frv_optimize_membar_local): Likewise. (frv_align_label): Likewise for locals "x", "last", "barrier", "label". * config/ia64/ia64.c (last_scheduled_insn): Likewise for this local. (ia64_sched_init): Likewise for local "insn". (scheduled_good_insn): Likewise for param "last". (struct _ia64_sched_context): Likewise for field "last_scheduled_insn". (ia64_init_sched_context): Replace NULL_RTX with NULL. (struct bundle_state): Likewise for field "insn". (issue_nops_and_insn): Likewise for param "insn". (get_next_important_insn): Likewise for return type and both params. (ia64_add_bundle_selector_before): Likewise for param "insn". (bundling): Likewise for params "prev_head_insn", "tail" and locals "insn", "next_insn", "b". Eliminate top-level local rtx "nop" in favor of new locals rtx "nop_pat" and rtx_insn *nop; * config/iq2000/iq2000-protos.h (iq2000_fill_delay_slot): Strengthen final param from rtx to rtx_insn *. (iq2000_move_1word): Likewise for second param. * config/iq2000/iq2000.c (iq2000_fill_delay_slot): Likewise for param "cur_insn" and local "next_insn". (iq2000_move_1word): Likewise for param "insn". * config/iq2000/iq2000.md (insn before ADDR_DIFF_VEC): Add checked casts when using NEXT_INSN on operands[1]. * config/m32c/m32c.c (m32c_function_needs_enter): Strengthen local "insn" from rtx to rtx_insn *. * config/m68k/m68k.c (m68k_jump_table_ref_p): Split out uses of "x", introducing local rtx_insn * "insn" for when working with the CODE_LABEL of the LABEL_REF. (m68k_sched_md_init_global): Strengthen local "insn" from rtx to rtx_insn *. * config/mcore/mcore-protos.h (mcore_is_dead): Likewise for first param. * config/mcore/mcore.c (emit_new_cond_insn): Likewise for return type. (conditionalize_block): Likewise for return type and param. (mcore_is_dead): Likewise for param "first" and local "insn". (emit_new_cond_insn): Likewise for return type. (conditionalize_block): Likewise for return type, param, and locals "insn", "blk_1_br", "end_blk_2_insn", "start_blk_3_lab", "newinsn". (conditionalize_optimization): Likewise for local "insn". * config/mep/mep.c (mep_jmp_return_reorg): Add checked cast when using NEXT_INSN. * config/microblaze/microblaze.md: Add checked casts when using NEXT_INSN. * config/mips/mips.c (mips_expand_prologue): Eliminate top-level rtx "insn" in favor of various more tightly-scoped rtx "insn" and and rtx_insn * "insn". * config/mips/mips.md (casesi_internal_mips16_<mode>): Add a checked cast when using NEXT_INSN on operands[2]. * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Strengthen local "insn" from rtx to rtx_insn *. * config/nds32/nds32-fp-as-gp.c (nds32_fp_as_gp_check_available): Likewise. * config/nds32/nds32-md-auxiliary.c (nds32_output_casesi_pc_relative): Add a checked cast when using NEXT_INSN on operands[1]. * config/pa/pa-protos.h (pa_following_call): Strengthen param from rtx to rtx_insn *. (pa_output_cbranch): Likewise for final param. (pa_output_lbranch): Likewise for second param. (pa_output_bb): Likewise for third param. (pa_output_bvb): Likewise. (pa_output_dbra): Likewise for second param. (pa_output_movb): Likewise. (pa_output_parallel_movb): Likewise. (pa_output_parallel_addb): Likewise. (pa_output_millicode_call): Likewise for first param. (pa_output_mul_insn): Likewise for second param. (pa_output_div_insn): Likewise for third param. (pa_output_mod_insn): Likewise for second param. (pa_jump_in_call_delay): Likewise for param. * config/pa/pa.c (pa_output_mul_insn): Likewise for param "insn". (pa_output_div_insn): Likewise. (pa_output_mod_insn): Likewise. (pa_output_cbranch): Likewise. (pa_output_lbranch): Likewise. (pa_output_bb): Likewise. (pa_output_bvb): Likewise. (pa_output_dbra): Likewise. (pa_output_movb): Likewise. (pa_output_millicode_call): Likewise; use method of rtx_sequence * to simplify and for typesafety. (pa_output_call): Use method of rtx_sequence *. (forward_branch_p): Strengthen param "insn" from rtx to rtx_insn *. (pa_jump_in_call_delay): Likewise. (pa_output_parallel_movb): Likewise. (pa_output_parallel_addb): Likewise. (pa_following_call): Likewise. (pa_combine_instructions): Likewise for locals "anchor", "floater". (pa_can_combine_p): Likewise for params "anchor", "floater" and locals "start", "end". * config/picochip/picochip.c (picochip_reset_vliw): Likewise for param "insn" and local "local_insn". (picochip_final_prescan_insn): Likewise for local "local_insn". * config/rs6000/rs6000.c (compute_save_world_info): Likewise for local "insn". (uses_TOC): Likewise. * config/s390/s390.c (get_some_local_dynamic_name): Likewise. (s390_mainpool_finish): Eliminate top-level local rtx "insn", splitting out to more tightly-scoped locals, 3 as rtx and one as rtx_insn *. (s390_optimize_nonescaping_tx): Strengthen local "tmp" from rtx to rtx_insn *. (s390_emit_prologue): Introduce a local "insn" to be an rtx_insn * where needed. * config/sh/sh-protos.h (barrier_align): Strenghten param from rtx to rtx_insn *. (fixup_addr_diff_vecs): Likewise. (reg_unused_after): Likewise for param 2. (sh_can_redirect_branch): Likewise for both params. (check_use_sfunc_addr): Likewise for param 1. * config/sh/sh.c (fixup_mova): Likewise for local "worker". (find_barrier): Likewise for local "last_got". (gen_block_redirect): Likewise for return type, param "jump" and locals "prev", "scan", "next", "insn". (struct far_branch): Likewise for fields "near_label", "insert_place", "far_label". (gen_far_branch): Likewise for local "jump". (fixup_addr_diff_vecs): Likewise for param "first" and locals "insn", "prev". (barrier_align): Likewise for param and for locals "prev", "x". Introduce local rtx_sequence * "prev_seq" and use insn method for typesafety and clarity. (sh_reorg): Strengthen local "scan" from rtx to rtx_insn *. (get_dest_uid): Likewise for local "dest". (split_branches): Likewise for locals "next", "beyond", "label", "block", "far_label". Add checked casts when assigning to bp->far_label and "far_label". (reg_unused_after): Strengthen param "scan" from rtx to rtx_insn *. (sequence_insn_p): Likewise. (mark_constant_pool_use): Likewise for locals "insn", "lab". Add a more loop-scoped rtx "insn" when walking LABEL_REFS. (sh_can_redirect_branch): Strengthen both params from rtx to rtx_insn *. (check_use_sfunc_addr): Likewise for param "insn". Introduce a new local rtx_sequence * "seq" via a dyn_cast, and use a method for clarity and typesafety. * config/sh/sh.md (define_expand "epilogue"): Strengthen local "insn" from rtx to rtx_insn *. (define_insn "casesi_worker_1"): Add a checked cast to rtx_insn * when using NEXT_INSN on the CODE_LABEL in operands[2]. (define_insn "casesi_worker_2"): Likewise. (define_insn "casesi_shift_media"): Likewise. (define_insn "casesi_load_media"): Likewise for the CODE_LABEL in operands[3]. * config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value): Strengthen field "insn" from rtx to rtx_insn *. (sh_optimize_sett_clrt::execute): Likewise for locals "next_i", "i". (sh_optimize_sett_clrt::find_last_ccreg_values): Likewise for param "start_insn" and local "start_insn". * config/sh/sh_treg_combine.cc (struct set_of_reg): Likewise for field "insn". (find_set_of_reg_bb): Likewise for param "insn". (trace_reg_uses_1): Likewise for param "start_insn" and local "i". (trace_reg_uses): Likewise for param "start_insn". (sh_treg_combine::cbranch_trace): Likewise for field "cbranch_insn". (sh_treg_combine::cbranch_trace::cbranch_trace): Likewise for param "insn". (sh_treg_combine::record_set_of_reg): Likewise for param "start_insn" and local "i". (sh_treg_combine::can_remove_cstore): Likewise for local "prev_insn". (sh_treg_combine::try_optimize_cbranch): Likewise for param "insn". (sh_treg_combine::execute): Likewise for local "i". * config/sparc/sparc-protos.h (empty_delay_slot): Likewise for param. (sparc_check_64): Likewise for second param. * config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for locals "insn", "next". Introduce local rtx_sequence * "seq" via a dyn_cast, using its insn method for typesafety and clarity. (empty_delay_slot): Strengthen param "insn" from rtx to rtx_insn *. (set_extends): Likewise. (sparc_check_64): Likewise. * config/stormy16/stormy16.c (xstormy16_split_cbranch): Likewise for locals "seq", "last_insn". (combine_bnp): Likewise for param "insn". (xstormy16_reorg): Likewise for local "insn". * config/v850/v850.c (substitute_ep_register): Likewise for params "first_insn", "last_insn" and local "insn". (v850_reorg): Likewise for fields "first_insn", "last_insn" within elements of "regs" array, and local "insn". * except.c (emit_note_eh_region_end): Likewise for param "insn". * final.c (final_sequence): Strengthen this global from rtx to rtx_sequence *. (shorten_branches): Strenthen locals "rel_lab", "prev" from rtx to rtx_insn *. (final_scan_insn): Update assignment to "final_sequence" to be from "seq", the cast version of "body", for type-safety. * function.c (assign_parm_setup_reg): Strengthen locals "insn", "insns" from rtx to rtx_insn *. (thread_prologue_and_epilogue_insns): Likewise for local "seq". * genattr.c (main): When writing out generated insn-attr.h, strengthen params 1 and 3 of eligible_for_delay, eligible_for_annul_true, eligible_for_annul_false from rtx to rtx_insn *. * genattrtab.c (write_eligible_delay): Likewise when writing out generated insn-attrtab.c; also local "insn" the generated functions. * hw-doloop.c (discover_loops): Strengthen local "insn" from rtx to rtx_insn *. * hw-doloop.h (struct GTY hwloop_info_d): Strengthen field "start_label" from rtx to rtx_insn *. * ira.c (decrease_live_ranges_number): Likewise for local "p". (ira_update_equiv_info_by_shuffle_insn): Likewise for param "insns" and local "insn". (validate_equiv_mem): Likewise for param "start" and local "insn". (memref_used_between_p): Likewise for params "start", "end" and local "insn". * ira.h (ira_update_equiv_info_by_shuffle_insn): Likewise for final param. * loop-doloop.c (doloop_optimize): Within region guarded by INSN_P (doloop_pat), introduce a new local rtx_insn * "doloop_insn" via a checked cast, and use it for typesafety, eventually writing the value back into doloop_pat. * output.h (final_sequence): Strengthen this global from rtx to rtx_sequence *. * recog.c (peep2_attempt): Rename param "insn" to "uncast_insn", reintroducing "insn" as an rtx_insn * via a checked cast. Strengthen param "attempt" and local "new_insn"from rtx to rtx_insn *. (peephole2_optimize): Strengthen locals "insn", "attempt" from rtx to rtx_insn *. * ree.c (emit_note_eh_region_end): Likewise for local "insn". * reload1.c (reload_as_needed): Eliminate top-level locals "x" and "p" in favor of more tightly-scoped replacements, sometimes rtx and sometimes rtx_insn *, as appropriate. (delete_output_reload): Eliminate top-level rtx "i1", splitting into two loop-scoped locals, one an rtx, the other an rtx_insn *. * reorg.c (delete_scheduled_jump): Add checked cast. Strengthen local "trial" from rtx to rtx_insn *. (redirect_with_delay_slots_safe_p): Strengthen param "jump" from rtx to rtx_insn *. Strenghten local "pat" from rtx to rtx_sequence * and use methods for clarity and typesafety. (redirect_with_delay_list_safe_p): Strengthen param "jump" from rtx to rtx_insn *. Strenghten local "li" from rtx to rtx_insn_list * and use its methods for clarity and typesafety. (steal_delay_list_from_target): Strengthen param "insn" from rtx to rtx_insn *. (steal_delay_list_from_fallthrough): Likewise. (try_merge_delay_insns): Likewise for param "thread" and locals "trial", "next_trial", "delay_insn". (redundant_insn): Likewise for param "target" and local "trial". (own_thread_p): Likewise for param "thread" and locals "active_insn", "insn". (get_label_before): Likewise for param "insn". (fill_simple_delay_slots): Likewise for local "new_label"; use JUMP_LABEL_AS_INSN as necessary when calling own_thread_p. (label_before_next_insn): Strengthen return type and local "insn" from rtx to rtx_insn *. (relax_delay_slots): Likewise for locals "other", "tmp". (make_return_insns): Likewise for param "first" and locals "insn", "jump_insn", "prev". Move declaration of "pat" to its assignment and strengthen from rtx to rtx_sequence *. Use its methods for clarity and typesafety. * rtlanal.c (no_labels_between_p): Strengthen params from const_rtx to const rtx_insn *. Strengthen local "p" from rtx to rtx_insn *. (reg_used_between_p): Strengthen params "from_insn", "to_insn" from const_rtx to const rtx_insn *. (reg_set_between_p): Rename param "from_insn" to "uncast_from_insn", and reintroduce "from_insn" as a const rtx_insn * via a checked cast. (modified_between_p): Likewise for param "start" as "uncast_start". (tablejump_p): Add a cast when invoking NEXT_INSN on "label". * sel-sched-ir.c (get_seqno_by_preds): Strengthen param and locals "tmp", head" from rtx to rtx_insn *. (recompute_rev_top_order): Likewise for local "insn". * sel-sched-ir.h (get_seqno_by_preds): Likewise for param. * store-motion.c (build_store_vectors): Likewise for local "insn". Strengthen local "st" from rtx to rtx_insn_list * and use methods for clarity and typesafety. * tree-ssa-loop-ivopts.c (seq_cost): Strengthen param "seq" from rtx to rtx_insn *. (computation_cost): Likewise for local "seq". (get_address_cost): Likewise. / 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): NEXT_INSN/PREV_INSN are done. From-SVN: r214698
2014-08-28tablejump_p takes an rtx_insnDavid Malcolm1-2/+2
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (tablejump_p): Strengthen first param from const_rtx to const rtx_insn *. (label_is_jump_target_p): Likewise for second param. * rtlanal.c (tablejump_p): Likewise for param "insn". (label_is_jump_target_p): Likewise for param "jump_insn". From-SVN: r214696
2014-08-28find_first_parameter_load params and return typeDavid Malcolm1-3/+4
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (find_first_parameter_load): Strengthen return type and both params from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type, both params and locals "before", "first_set" from rtx to rtx_insn *. Remove now-redundant cast. * except.c (sjlj_mark_call_sites): Use NULL rather than NULL_RTX. From-SVN: r214695
2014-08-28Delete find_last_valueDavid Malcolm1-46/+0
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (find_last_value): Delete. * rtlanal.c (find_last_value): Delete. From-SVN: r214694
2014-08-28Convert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LISTDavid Malcolm1-0/+29
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * function.h (struct rtl_data): Convert field "x_nonlocal_goto_handler_labels" from rtx_expr_list * to rtx_insn_list *. * rtl.h (remove_node_from_insn_list): New prototype. * builtins.c (expand_builtin): When prepending to nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than gen_rtx_EXPR_LIST. * cfgbuild.c (make_edges): Convert local "x" from rtx_expr_list * to rtx_insn_list *, and use its "insn" method rather than "element" method. * cfgrtl.c (delete_insn): Use new function remove_node_from_insn_list rather than remove_node_from_expr_list. (cfg_layout_initialize): Convert local "x" from rtx_expr_list * to rtx_insn_list *, and use its "insn" method rather than "element" method. * dwarf2cfi.c (create_trace_edges): Likewise for local "lab". * reload1.c (set_initial_label_offsets): Likewise for local "x". * rtlanal.c (remove_node_from_insn_list): New function, adapted from remove_node_from_expr_list. * stmt.c (expand_label): When prepending to nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than gen_rtx_EXPR_LIST. From-SVN: r214687
2014-08-28rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx.Richard Sandiford1-10/+6
gcc/ * rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx. * rtlanal.c (tls_referenced_p_1): Delete. (tls_referenced_p): Take a const_rtx rather than an rtx. Use FOR_EACH_SUBRTX rather than for_each_rtx. From-SVN: r214658
2014-08-28rtl.h (for_each_inc_dec_fn): Remove special case for -1.Richard Sandiford1-75/+32
gcc/ * rtl.h (for_each_inc_dec_fn): Remove special case for -1. (for_each_inc_dec): Take an rtx rather than an rtx *. * cselib.c (cselib_record_autoinc_cb): Update accordingly. (cselib_record_sets): Likewise. * dse.c (emit_inc_dec_insn_before, check_for_inc_dec_1) (check_for_inc_dec): Likewise. * rtlanal.c (for_each_inc_dec_ops): Delete. (for_each_inc_dec_find_inc_dec): Take the MEM as argument, rather than a pointer to the memory address. Replace for_each_inc_dec_ops argument with separate function and data arguments. Abort on non-autoinc addresses. (for_each_inc_dec_find_mem): Delete. (for_each_inc_dec): Take an rtx rather than an rtx *. Use FOR_EACH_SUBRTX_VAR to visit every autoinc MEM. From-SVN: r214657
2014-08-28rtl.h (find_all_hard_regs): Declare.Richard Sandiford1-17/+14
gcc/ * rtl.h (find_all_hard_regs): Declare. * rtlanal.c (find_all_hard_regs): New function. (record_hard_reg_uses_1): Delete. (record_hard_reg_uses): Use find_all_hard_regs. From-SVN: r214656
2014-08-28rtl.h (replace_label_data): Delete.Richard Sandiford1-44/+67
gcc/ * rtl.h (replace_label_data): Delete. (replace_label): Take the old label, new label and update-nuses flag as direct arguments. Return void. * cfgcleanup.c (outgoing_edges_match): Update accordingly. * rtlanal.c (replace_label): Update interface as above. Handle JUMP_TABLE_DATA as a special case. Handle JUMPs outside the iterator. Use FOR_EACH_SUBRTX_PTR. From-SVN: r214655
2014-08-28rtl.h (get_pool_constant, [...]): Replace rtx parameters with const_rtx ↵Richard Sandiford1-28/+18
parameters. gcc/ * rtl.h (get_pool_constant, rtx_referenced_p): Replace rtx parameters with const_rtx parameters. * varasm.c (get_pool_constant): Likewise. * rtlanal.c (rtx_referenced_p_1): Delete. (rtx_referenced_p): Use FOR_EACH_SUBRTX instead of for_each_rtx. Assert that the rtx we're looking for is nonnull. Allow searches for constant pool SYMBOL_REFs. From-SVN: r214654
2014-08-28rtl-iter.h: New file.Richard Sandiford1-1/+130
gcc/ * rtl-iter.h: New file. * rtlanal.c: Include it. (rtx_all_subrtx_bounds, rtx_nonconst_subrtx_bounds): New variables. (generic_subrtx_iterator <T>::add_single_to_queue) (generic_subrtx_iterator <T>::add_subrtxes_to_queue) (generic_subrtx_iterator <T>::free_array): New functions. (generic_subrtx_iterator <T>::LOCAL_ELEMS): Define. (generic_subrtx_iterator <const_rtx_accessor>) (generic_subrtx_iterator <rtx_var_accessor> (generic_subrtx_iterator <rtx_ptr_accessor>): Instantiate. (setup_reg_subrtx_bounds): New function. (init_rtlanal): Call it. From-SVN: r214618
2014-08-27rtl_data.x_nonlocal_goto_handler_labels becomes an rtx_expr_listDavid Malcolm1-6/+6
gcc/ 2014-08-27 David Malcolm <dmalcolm@redhat.com> * function.h (struct rtl_data): Strengthen field x_nonlocal_goto_handler_labels from rtx to rtx_expr_list *. * rtl.h (remove_node_from_expr_list): Strengthen second param from rtx * to rtx_expr_list **. * cfgbuild.c (make_edges): In loop over nonlocal_goto_handler_labels, strengthen local "x" from rtx to rtx_expr_list *, and use methods of the latter class to clarify the code. * cfgrtl.c (cfg_layout_initialize): Strengthen local "x" from rtx to rtx_expr_list *, and use methods of the latter class to clarify the code. * dwarf2cfi.c (create_trace_edges): Likewise for local "lab". * reload1.c (set_initial_label_offsets): Likewise for local "x". * rtlanal.c (remove_node_from_expr_list): Strengthen param "listp" from rtx * to rtx_expr_list **. Strengthen local "temp" from rtx to rtx_expr_list *. Use methods of the latter class to clarify the code. From-SVN: r214603
2014-08-26Remove DF_REF_INSN scaffoldingDavid Malcolm1-1/+1
gcc/ 2014-08-26 David Malcolm <dmalcolm@redhat.com> * df.h (df_dump_insn_problem_function): Strengthen first param of this callback from const_rtx to const rtx_insn *. (struct df_insn_info): Strengthen field "insn" from rtx to rtx_insn *. (DF_REF_INSN): Eliminate this function, reinstating the older macro definition. (df_find_def): Strengthen param 1 from rtx to rtx_insn *. (df_reg_defined): Likewise. (df_find_use): Likewise. (df_reg_used): Likewise. (df_dump_insn_top): Strengthen param 1 from const_rtx to const rtx_insn *. (df_dump_insn_bottom): Likewise. (df_insn_debug): Strengthen param 1 from rtx to rtx_insn *. (df_insn_debug_regno): Likewise. (debug_df_insn): Likewise. (df_rd_simulate_one_insn): Likewise for param 2. (df_word_lr_simulate_defs): Likewise for param 1. (df_word_lr_simulate_uses): Likewise. (df_md_simulate_one_insn): Likewise for param 2. (df_simulate_find_noclobber_defs): Likewise for param 1. (df_simulate_find_defs): Likewise. (df_simulate_defs): Likewise. (df_simulate_uses): Likewise. (df_simulate_one_insn_backwards): Likewise for param 2. (df_simulate_one_insn_forwards): Likewise. (df_uses_create): Likewise for param 2. (df_insn_create_insn_record): Likewise for param 1. (df_insn_delete): Likewise. (df_insn_rescan): Likewise. (df_insn_rescan_debug_internal): Likewise. (df_insn_change_bb): Likewise. (df_notes_rescan): Likewise. * rtl.h (remove_death): Likewise for param 2. (print_rtl_with_bb): Strengthen param 2 from const_rtx to const rtx_insn *. * sched-int.h (reemit_notes): Strengthen param from rtx to rtx_insn *. * valtrack.h (propagate_for_debug): Likewise for param 1. * cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and local "tmp_rtx" from const_rtx to const rtx_insn *. * combine.c (remove_death): Strengthen param "insn" from rtx to rtx_insn *. (move_deaths): Likewise for local "where_dead". * cse.c (delete_trivially_dead_insns): Introduce local "bind_var_loc" so that "bind" can be strengthened to an rtx_insn *. * df-core.c (df_find_def): Strengthen param "insn" from rtx to rtx_insn *. (df_reg_defined): Likewise. (df_find_use): Likewise. (df_reg_used): Likewise. (df_dump_insn_problem_data): Strengthen param "insn" from const_rtx to const rtx_insn *. (df_dump_insn_top): Likewise. (df_dump_insn_bottom): Likewise. (df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *. (df_insn_debug_regno): Likewise. (debug_df_insn): Likewise. (DF_REF_INSN): Delete. * df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn" from rtx to rtx_insn *. (df_chain_insn_top_dump): Strengthen param "insn" from const_rtx to const rtx_insn *. (df_chain_insn_bottom_dump): Likewise. (df_word_lr_simulate_defs): Strengthen param "insn" from rtx to rtx_insn *. (df_word_lr_simulate_uses): Likewise. (df_print_note): Likewise. (df_remove_dead_and_unused_notes): Likewise. (df_set_unused_notes_for_mw): Likewise. (df_set_dead_notes_for_mw): Likewise. (df_create_unused_note): Likewise. (df_simulate_find_defs): Likewise. (df_simulate_find_uses): Likewise. (df_simulate_find_noclobber_defs): Likewise. (df_simulate_defs): Likewise. (df_simulate_uses): Likewise. (df_simulate_one_insn_backwards): Likewise. (df_simulate_one_insn_forwards): Likewise. (df_md_simulate_one_insn): Likewise. * df-scan.c (df_uses_create): Likewise. (df_insn_create_insn_record): Likewise. (df_insn_delete): Likewise. (df_insn_rescan): Likewise. (df_insn_rescan_debug_internal): Likewise. (df_insn_change_bb): Likewise. (df_notes_rescan): Likewise. (df_refs_add_to_chains): Likewise. (df_insn_refs_verify): Likewise. * emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn * when invoking df_insn_delete. (reorder_insns): Strengthen local "x" from rtx to rtx_insn *. (set_unique_reg_note): Add checked cast. * final.c (cleanup_subreg_operands): Likewise. * gcse.c (update_ld_motion_stores): Likewise, strengthening local "insn" from rtx to rtx_insn *. * haifa-sched.c (reemit_notes): Strengthen param "insn" and local "last" from rtx to rtx_insn *. * ira-emit.c (change_regs_in_insn): New function. (change_loop): Strengthen local "insn" from rtx to rtx_insn *. Invoke change_regs_in_insn rather than change_regs. * ira.c (update_equiv_regs): Strengthen locals "insn", "init_insn", "new_insn" from rtx to rtx_insn *. Invoke for_each_rtx_in_insn rather than for_each_rtx. * recog.c (confirm_change_group): Add checked casts. (peep2_update_life): Strengthen local "x" from rtx to rtx_insn *. Add checked cast. (peep2_fill_buffer): Add checked cast. * rtlanal.c (remove_note): Likewise. * valtrack.c (propagate_for_debug): Strengthen param "insn" and locals "next" "end" from rtx to rtx_insn *. / 2014-08-26 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt (TODO): DF_REF_INSN is done. From-SVN: r214548
2014-08-26Various condition-handling callsDavid Malcolm1-3/+5
gcc/ 2014-08-26 David Malcolm <dmalcolm@redhat.com> * rtl.h (canonicalize_condition): Strengthen param 1 from rtx to rtx_insn * and param 4 from rtx * to rtx_insn **. (get_condition): Strengthen param 1 from rtx to rtx_insn * and param 2 from rtx * to rtx_insn **. * df.h (can_move_insns_across): Strengthen params 1-4 from rtx to rtx_insn * and final param from rtx * to rtx_insn **. * cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before" from rtx to rtx_insn *. (try_head_merge_bb): Likewise for both locals named "move_upto". * df-problems.c (can_move_insns_across): Likewise for params "from", "to", "across_from", "across_to" and locals "insn", "next", "max_to". Strengthen param "pmove_upto" from rtx * to rtx_insn **. * ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest" from rtx to rtx_insn *. (noce_get_alt_condition): Strengthen param "earliest" from rtx * to rtx_insn **. Strengthen local "insn" from rtx to rtx_insn *. (noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to rtx_insn *. (noce_try_abs): Likewise. (noce_get_condition): Likewise for param "jump". Strengthen param "earliest" from rtx * to rtx_insn **. (noce_find_if_block): Strengthen local "cond_earliest" from rtx to rtx_insn *. (find_cond_trap): Likewise. (dead_or_predicable): Likewise for local "earliest". * loop-iv.c (check_simple_exit): Likewise for local "at". Add checked cast. * rtlanal.c (canonicalize_condition): Likewise for param "insn" and local "prev". Strengthen param "earliest" from rtx * to rtx_insn **. (get_condition): Strengthen param "jump" from rtx to rtx_insn * Strengthen param "earliest" from rtx * to rtx_insn **. From-SVN: r214542
2014-08-26cselib and incdecDavid Malcolm1-3/+3
gcc/ * rtl.h (for_each_inc_dec): Strengthen param 1 from rtx * to rtx_insn **. (check_for_inc_dec): Strengthen param "insn" from rtx to rtx_insn *. * cselib.h (cselib_process_insn): Likewise. * cselib.c (cselib_record_sets): Likewise. (cselib_process_insn): Likewise. * dse.c (struct insn_info): Likewise for field "insn". (check_for_inc_dec_1): Likewise for local "insn". (check_for_inc_dec): Likewise for param "insn". (scan_insn): Likewise. (dse_step1): Likewise for local "insn". * rtlanal.c (for_each_inc_dec): Strengthen param 1 from rtx * to rtx_insn **. Use for_each_rtx_in_insn rather than for_each_rtx. From-SVN: r214531
2014-08-25Add rtx_jump_table_data::get_labels methodDavid Malcolm1-2/+1
gcc/ * rtl.h (rtx_jump_table_data::get_labels): New method. * cfgbuild.c (make_edges): Replace hand-coded lookup of labels with use of the new rtx_jump_table_data::get_labels method. (purge_dead_tablejump_edges): Strengthen param "table" from rtx to rtx_jump_table_data *. Simplify by using get_labels method. * cfgrtl.c (delete_insn): Replace use of JUMP_TABLE_DATA_P with a dyn_cast, introducing local "table", using it to replace label-lookup logic with a get_labels method call. (patch_jump_insn): Simplify using get_labels method. * dwarf2cfi.c (create_trace_edges): Likewise. * rtlanal.c (label_is_jump_target_p): Likewise. From-SVN: r214476
2014-08-22rtlanal.c: Use rtx_insnDavid Malcolm1-5/+5
gcc/ 2014-08-22 David Malcolm <dmalcolm@redhat.com> * rtlanal.c (reg_used_between_p): Strengthen local "insn" from rtx to rtx_insn *. (reg_set_between_p): Strengthen local "insn" from const_rtx to const rtx_insn *. (modified_between_p): Strengthen local "insn" from rtx to rtx_insn *. (remove_reg_equal_equiv_notes_for_regno): Likewise. (keep_with_call_p): Strengthen local "i2" from const_rtx to const rtx_insn *. From-SVN: r214373
2014-08-21find_first_parameter_load returns an rtx_insnDavid Malcolm1-2/+2
2014-08-21 David Malcolm <dmalcolm@redhat.com> * rtl.h (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. Add checked cast for now, to postpone strengthening the params. From-SVN: r214252
2014-08-19Make tablejump_p accept a rtx_jump_table_data **David Malcolm1-5/+6
2014-08-19 David Malcolm <dmalcolm@redhat.com> * rtl.h (tablejump_p): Strengthen third param from rtx * to rtx_jump_table_data **. * cfgbuild.c (make_edges): Introduce local "table", using it in place of "tmp" for jump table data. (find_bb_boundaries): Strengthen local "table" from rtx to rtx_jump_table_data *. * cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise. (outgoing_edges_match): Likewise for locals "table1" and "table2". (try_crossjump_to_edge): Likewise. * cfgrtl.c (try_redirect_by_replacing_jump): Likewise for local "table". (patch_jump_insn): Introduce local "table", using it in place of "tmp" for jump table data. (force_nonfallthru_and_redirect): Introduce local "table", so that call to tablejump_p can receive an rtx_jump_table_data **. Update logic around the call to overwrite "note" appropriately if tablejump_p returns non-zero. (get_last_bb_insn): Introduce local "table", using it in place of "tmp" for jump table data. * dwarf2cfi.c (create_trace_edges): Likewise. * config/arm/arm.c (get_jump_table_size): Strengthen param "insn" from rtx to rtx_jump_table_data *. (create_fix_barrier): Strengthen local "tmp" from rtx to rtx_jump_table_data *. (arm_reorg): Likewise for local "table". * config/s390/s390.c (s390_chunkify_start): Likewise. * config/spu/spu.c (spu_emit_branch_hint): Likewise. * jump.c (delete_related_insns): Strengthen local "lab_next" from rtx to rtx_jump_table_data *. * rtlanal.c (tablejump_p): Strengthen param "tablep" from rtx * to rtx_jump_table_data **. Add a checked cast when writing through the pointer: we know there that local "table" is non-NULL and that JUMP_TABLE_DATA_P (table) holds. (label_is_jump_target_p): Introduce local "table", using it in place of "tmp" for jump table data. From-SVN: r214184
2014-08-18New function: for_each_rtx_in_insnDavid Malcolm1-0/+16
gcc/ 2014-08-18 David Malcolm <dmalcolm@redhat.com> * rtl.h (for_each_rtx_in_insn): New function. * rtlanal.c (for_each_rtx_in_insn): Likewise. From-SVN: r214119
2014-08-08calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of ↵Kugan Vivekanandarajah1-3/+3
SUBREG_PROMOTED_UNSIGNED_SET. gcc/ 2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org> * calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET. (expand_call): Likewise. * cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN to get promoted mode. * combine.c (record_promoted_value): Skip > 0 comparison with SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1. * expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P. (convert_modes): Likewise. (store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode. Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P. (expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET. * function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET. * ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and SUBREG_PROMOTED_SET. * internal-fn.c (ubsan_expand_si_overflow_mul_check): Use SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET. * optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P. * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove. (SUBREG_PROMOTED_SET): New define. (SUBREG_PROMOTED_GET): Likewise. (SUBREG_PROMOTED_SIGN): Likewise. (SUBREG_PROMOTED_SIGNED_P): Likewise. (SUBREG_CHECK_PROMOTED_SIGN): Likewise. (SUBREG_PROMOTED_UNSIGNED_P): Updated. * rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET instead of SUBREG_PROMOTED_UNSIGNED_GET. (nonzero_bits1): Skip > 0 comparison with the results as SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1. (num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P. * simplify-rtx.c (simplify_unary_operation_1): Use new SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P. (simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P, SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET. From-SVN: r213749
2014-07-26rtl.h (tls_referenced_p): Declare.Richard Sandiford1-0/+19
gcc/ * rtl.h (tls_referenced_p): Declare. * rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions. * config/mips/mips.c (mips_tls_symbol_ref_1): Delete. (mips_cannot_force_const_mem): Use tls_referenced_p. * config/pa/pa-protos.h (pa_tls_referenced_p): Delete. * config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p instead of pa_tls_referenced_p. * config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem) (pa_emit_move_sequence, pa_emit_move_sequence): Likewise. (pa_legitimate_constant_p): Likewise. (pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete. * config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete. (rs6000_cannot_force_const_mem, rs6000_emit_move) (rs6000_address_for_altivec): Use tls_referenced_p instead of rs6000_tls_referenced_p. (rs6000_tls_symbol_ref_1): Delete. From-SVN: r213077
2014-05-06Merge in wide-int.Kenneth Zadeck1-1/+24
From-SVN: r210113
2014-04-25Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_setsTom de Vries1-2/+8
2014-04-25 Tom de Vries <tom@codesourcery.com> * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE clobbers. From-SVN: r209799
2014-04-25Add implicit parameter to find_all_hard_reg_setsRadovan Obradovic1-2/+2
2014-04-25 Radovan Obradovic <robradovic@mips.com> Tom de Vries <tom@codesourcery.com> * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and handle. * rtl.h (find_all_hard_reg_sets): Add bool parameter. * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add new argument to find_all_hard_reg_sets call. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r209798
2014-03-26re PR rtl-optimization/60452 (wrong code at -O1 with large offsets in the frame)Eric Botcazou1-12/+30
PR rtl-optimization/60452 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment. <case REG>: Return 1 for invalid offsets from the frame pointer. From-SVN: r208837
2014-01-25rtlanal.c (canonicalize_condition): Split out duplicated mode check.Richard Sandiford1-20/+31
gcc/ * rtlanal.c (canonicalize_condition): Split out duplicated mode check. Handle XOR. gcc/testsuite/ * gcc.dg/unroll_1.c: Add -fenable-rtl-loop2. From-SVN: r207076
2014-01-02Update copyright years in gcc/Richard Sandiford1-1/+1
From-SVN: r206289
2013-12-05Eliminate redundant vec_select moves.Tejas Belagod1-0/+21
gcc/ * rtlanal.c (set_noop_p): Return nonzero in case of redundant vec_select for overlapping register lanes. testsuite/ * config/gcc.dg/vect/vect-nop-move.c: New. From-SVN: r205712
2013-11-18c-common.c, [...]: Replace tree_low_cst (..., 0) with tree_to_shwi throughout.Richard Sandiford1-1/+1
gcc/c-family/ * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/c/ * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/cp/ * class.c, dump.c, error.c, init.c, method.c, parser.c, semantics.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/go/ * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/java/ * class.c, expr.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/objc/ * objc-next-runtime-abi-02.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. gcc/ * builtins.c, cilk-common.c, config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c, config/c6x/predicates.md, config/i386/i386.c, config/ia64/predicates.md, config/s390/s390.c, coverage.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c, expr.h, fold-const.c, gimple-fold.c, godump.c, ipa-prop.c, omp-low.c, predict.c, rtlanal.c, sdbout.c, stmt.c, stor-layout.c, targhooks.c, tree-cfg.c, tree-data-ref.c, tree-inline.c, tree-ssa-forwprop.c, tree-ssa-loop-prefetch.c, tree-ssa-phiopt.c, tree-ssa-sccvn.c, tree-ssa-strlen.c, tree-stdarg.c, tree-vect-data-refs.c, tree-vect-patterns.c, tree.c, tree.h, var-tracking.c, varasm.c: Replace tree_low_cst (..., 0) with tree_to_shwi throughout. From-SVN: r204959
2013-11-18cuintp.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout.Richard Sandiford1-1/+1
gcc/ada/ * gcc-interface/cuintp.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/c-family/ * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/c/ * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/cp/ * error.c, init.c, parser.c, semantics.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/go/ * gofrontend/expressions.cc: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/java/ * class.c, expr.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. gcc/ * builtins.c, config/alpha/alpha.c, config/c6x/predicates.md, config/ia64/predicates.md, config/iq2000/iq2000.c, config/mips/mips.c, config/s390/s390.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c, expr.h, fold-const.c, gimple-fold.c, gimple-ssa-strength-reduction.c, gimple.c, godump.c, graphite-scop-detection.c, graphite-sese-to-poly.c, omp-low.c, predict.c, rtlanal.c, sdbout.c, simplify-rtx.c, stor-layout.c, tree-data-ref.c, tree-dfa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-alias.c, tree-ssa-forwprop.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c, tree-ssa-phiopt.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c, tree-ssa-structalias.c, tree-vect-data-refs.c, tree-vect-patterns.c, tree-vectorizer.h, tree.c, var-tracking.c, varasm.c: Replace host_integerp (..., 0) with tree_fits_shwi_p throughout. From-SVN: r204955
2013-11-05rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow ↵Steven Bosscher1-2/+1
immediately after a label for a... * rtlanal.c (tablejump_p): Expect a JUMP_TABLE_DATA to always follow immediately after a label for a tablejump pattern. * config/arm/arm.c (is_jump_table): Remove. (create_fix_barrier): Use tablejump_p instead. (arm_reorg): Likewise. (thumb1_output_casesi): Expect JUMP_TABLE_DATA to always be NEXT_INSN. (thumb2_output_casesi): Likewise. * config/aarch64/aarch64.c (aarch64_output_casesi): Likewise. * config/sh/sh.md (casesi_worker_1, casesi_worker_2, casesi_shift_media, casesi_load_media): Likewise. * config/iq2000/iq2000.md: Likewise (in anonymous define_insn). * config/microblaze/microblaze.md: Likewise. From-SVN: r204424
2013-09-28alloc-pool.c, [...]: Add missing whitespace before "(".Richard Sandiford1-1/+1
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
2013-09-27rtlanal.c (must_be_base_p, [...]): Delete.Richard Sandiford1-43/+58
gcc/ * rtlanal.c (must_be_base_p, must_be_index_p): Delete. (binary_scale_code_p, get_base_term, get_index_term): New functions. (set_address_segment, set_address_base, set_address_index) (set_address_disp): Accept the argument unconditionally. (baseness): Remove must_be_base_p and must_be_index_p checks. (decompose_normal_address): Classify as much as possible in the main loop. From-SVN: r202970