summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* target.def (rtx_costs): Remove "code" param, add "mode".Alan Modra2015-07-0873-766/+1001
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * target.def (rtx_costs): Remove "code" param, add "mode". * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype. (set_src_cost, get_full_set_src_cost): Likewise. Move later in file. (set_rtx_cost, get_full_set_rtx_cost): Move later in file. * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs call. Track mode when given in rtx. (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls. (default_address_cost): Pass Pmode to rtx_cost. (insn_rtx_cost): Pass dest mode of set to set_src_cost. * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called with NULL set. * cse.c (COST, COST_IN): Add MODE param. Update all uses. (notreg_cost): Add mode param. Use it. * gcse.c (want_to_gcse_p): Delete forward declaration. Add mode param and pass to set_src_cost. Update all calls. (hash_scan_set): Formatting. * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete. (hook_bool_rtx_mode_int_int_intp_bool_false): New function. * hooks.h: Ditto. * expmed.c (init_expmed_one_conv, init_expmed_one_mode, init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2, emit_store_flag): Update set_src_cost and rtx_cost calls. * auto-inc-dec.c (attempt_change): Likewise. * calls.c (precompute_register_parameters): Likewise. * combine.c (expand_compound_operation, make_extraction, force_to_mode, distribute_and_simplify_rtx): Likewise. * dojump.c (prefer_and_bit_test): Likewise. * dse.c (find_shift_sequence): Likewise. * expr.c (compress_float_constant): Likewise. * fwprop.c (should_replace_address, try_fwprop_subst): Likewise. * ifcvt.c (noce_try_sign_mask): Likewise. * loop-doloop.c (doloop_optimize): Likewise. * loop-invariant.c (create_new_invariant): Likewise. * lower-subreg.c (shift_cost, compute_costs): Likewise. * optabs.c (avoid_expensive_constant, prepare_cmp_insn, lshift_cheap_p): Likewise. * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands, try_replace_in_use, reload_cse_move2add): Likewise. * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly): Likewise. * simplify-rtx.c (simplify_binary_operation_1): Likewise. * tree-ssa-loop-ivopts.c (computation_cost): Likewise. * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise. * tree-switch-conversion.c (emit_case_bit_tests): Likewise. * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param, add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode to rtx_cost calls. * config/alpha/alpha.c (alpha_rtx_costs): Likewise. * config/arc/arc.c (arc_rtx_costs): Likewise. * config/arm/arm.c (arm_rtx_costs): Likewise. * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise. * config/bfin/bfin.c (bfin_rtx_costs): Likewise. * config/c6x/c6x.c (c6x_rtx_costs): Likewise. * config/cris/cris.c (cris_rtx_costs): Likewise. * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise. * config/frv/frv.c (frv_rtx_costs): Likewise. * config/h8300/h8300.c (h8300_rtx_costs): Likewise. * config/i386/i386.c (ix86_rtx_costs): Likewise. * config/ia64/ia64.c (ia64_rtx_costs): Likewise. * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise. * config/lm32/lm32.c (lm32_rtx_costs): Likewise. * config/m32c/m32c.c (m32c_rtx_costs): Likewise. * config/m32r/m32r.c (m32r_rtx_costs): Likewise. * config/m68k/m68k.c (m68k_rtx_costs): Likewise. * config/mcore/mcore.c (mcore_rtx_costs): Likewise. * config/mep/mep.c (mep_rtx_cost): Likewise. * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise. * config/mips/mips.c (mips_rtx_costs): Likewise. * config/mmix/mmix.c (mmix_rtx_costs): Likewise. * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise. * config/msp430/msp430.c (msp430_rtx_costs): Likewise. * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise. * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise. * config/nds32/nds32.c (nds32_rtx_costs): Likewise. * config/nios2/nios2.c (nios2_rtx_costs): Likewise. * config/pa/pa.c (hppa_rtx_costs): Likewise. * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise. * config/rl78/rl78.c (rl78_rtx_costs): Likewise. * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise. * config/s390/s390.c (s390_rtx_costs): Likewise. * config/sh/sh.c (sh_rtx_costs): Likewise. * config/sparc/sparc.c (sparc_rtx_costs): Likewise. * config/spu/spu.c (spu_rtx_costs): Likewise. * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise. * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise. * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise. * config/v850/v850.c (v850_rtx_costs): Likewise. * config/vax/vax.c (vax_rtx_costs): Likewise. * config/visium/visium.c (visium_rtx_costs): Likewise. * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise. * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of "code" param, and pass as outer_code to first rtx_cost call. Pass mode to rtx_cost calls. (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost calls. (aarch64_rtx_costs_wrapper): Update. * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs, arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update rtx_cost calls. * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost and rtx_cost calls. (avr_operand_rtx_cost): Similarly. (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE. * config/mips/mips.c (mips_stack_address_p): Comment typo. (mips_binary_cost): Update rtx_cost and set_src_cost calls. (mips_rtx_costs): Use GET_MODE (x) to detect const_int. * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to rtx_cost. (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost. * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update. * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call. * doc/tm.texi: Regenerate. From-SVN: r225532
* tree-core.h: Include symtab.h.Andrew MacLeod2015-07-08574-4688/+2180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * tree-core.h: Include symtab.h. * rtl.h: Include hard-reg-set.h but not flags.h. (HARD_CONST): Remove condition compilation involving HARD_CONST since hard-reg-set.h is always included. * regs.h: Don't include hard-reg-set.h or rtl.h. * cfg.h: Include dominance.h. * gimple.h: Include tree-ssa-alias.h and gimple-expr.h. * backend.h: New. Aggregate commonly used backend header files. * gimple-ssa.h: Don't include tree-hasher.h. * ssa.h: New. Aggregate commonly used SSA header files. * regset.h: Remove bitmap.h and hard-reg-set.h #includes. * sel-sched-ir.h: Flatten includes. * lra-int.h: Flatten completely. * sel-sched-dump.h: Flatten includes. * ira-int.h: Flatten includes. * gimple-streamer.h: Remove all includes. * cfgloop.h: Remove all #includes except cfgloopmanip.h. * resource.h: Flatten hard-reg-set.h and df.h. * sched-int.h: Flatten insn-arrt.h and df.h. * valtrack.h: flatten bitmap.h, df.h, and rtl.h * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h. * genattrtab.c (write_header): Adjust generated includes. * genautomata.c (main): Likewise. * genconditions.c (write-header): Likewise. * genemit.c (main): Likewise. * gengtype.c (open_base_files): Likewise. * genopinit.c (main): Likewise. * genoutput.c (output_prologue): Likewise. * genpeep.c (main): Likewise. * genpreds.c (write_insn_preds_c): Likewise. * genrecog.c (write_header): Likewise. * alias.c: Adjust includes. * asan.c: Likewise. * attribs.c: Likewise. * auto-inc-dec.c: Likewise. * auto-profile.c: Likewise. * bb-reorder.c: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. * ccmp.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgbuild.c: Likewise. * cfgcleanup.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfgloop.c: Likewise. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * cilk-common.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * compare-elim.c: Likewise. * convert.c: Likewise. * coverage.c: Likewise. * cppbuiltin.c: Likewise. * cprop.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * data-streamer-in.c: Likewise. * data-streamer-out.c: Likewise. * data-streamer.c: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * ddg.c: Likewise. * debug.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * dfp.c: Likewise. * dojump.c: Likewise. * dominance.c: Likewise. * domwalk.c: Likewise. * double-int.c: Likewise. * dse.c: Likewise. * dumpfile.c: Likewise. * dwarf2asm.c: Likewise. * dwarf2cfi.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * except.c: Likewise. * explow.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fixed-value.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * fwprop.c: Likewise. * gcc-plugin.h: Likewise. * gcse-common.c: Likewise. * gcse.c: Likewise. * generic-match-head.c: Likewise. * ggc-page.c: Likewise. * gimple-builder.c: Likewise. * gimple-expr.c: Likewise. * gimple-fold.c: Likewise. * gimple-iterator.c: Likewise. * gimple-low.c: Likewise. * gimple-match-head.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple-ssa-isolate-paths.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimple-streamer-in.c: Likewise. * gimple-streamer-out.c: Likewise. * gimple-walk.c: Likewise. * gimple.c: Likewise. * gimplify-me.c: Likewise. * gimplify.c: Likewise. * godump.c: Likewise. * graph.c: Likewise. * graphite-blocking.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-isl-ast-to-gimple.c: Likewise. * graphite-optimize-isl.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * hw-doloop.c: Likewise. * ifcvt.c: Likewise. * init-regs.c: Likewise. * internal-fn.c: Likewise. * ipa-chkp.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-icf-gimple.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-ref.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-utils.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-emit.c: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * jump.c: Likewise. * langhooks.c: Likewise. * lcm.c: Likewise. * loop-doloop.c: Likewise. * loop-init.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-assigns.c: Likewise. * lra-coalesce.c: Likewise. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * lra-spills.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * mcf.c: Likewise. * mode-switching.c: Likewise. * modulo-sched.c: Likewise. * omega.c: Likewise. * omp-low.c: Likewise. * optabs.c: Likewise. * opts-global.c: Likewise. * passes.c: Likewise. * plugin.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * real.c: Likewise. * realmpfr.c: Likewise. * recog.c: Likewise. * ree.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * reginfo.c: Likewise. * regrename.c: Likewise. * regstat.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl-chkp.c: Likewise. * rtlanal.c: Likewise. * rtlhooks.c: Likewise. * sanopt.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sched-vis.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * shrink-wrap.c: Likewise. * simplify-rtx.c: Likewise. * stack-ptr-mod.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * stringpool.c: Likewise. * symtab.c: Likewise. * target-globals.c: Likewise. * targhooks.c: Likewise. * toplev.c: Likewise. * tracer.c: Likewise. * trans-mem.c: Likewise. * tree-affine.c: Likewise. * tree-browser.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chkp-opt.c: Likewise. * tree-chkp.c: Likewise. * tree-chrec.c: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-dfa.c: Likewise. * tree-diagnostic.c: Likewise. * tree-dump.c: Likewise. * tree-eh.c: Likewise. * tree-emutls.c: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-iterator.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nested.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.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-profile.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-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-live.c: Likewise. * tree-ssa-loop-ch.c: 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-loop-unswitch.c: Likewise. * tree-ssa-loop.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-scopedtables.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-ter.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-switch-conversion.c: Likewise. * tree-tailcall.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-vrp.c: Likewise. * tree.c: Likewise. * tsan.c: Likewise. * ubsan.c: Likewise. * valtrack.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vmsdbgout.c: Likewise. * vtable-verify.c: Likewise. * web.c: Likewise. * wide-int.cc: Likewise. * xcoffout.c: Likewise. * config/aarch64/aarch64-builtins.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/aarch64/cortex-a57-fma-steering.c: Likewise. * config/alpha/alpha.c: Likewise. * config/arc/arc.c: Likewise. * config/arm/aarch-common.c: Likewise. * config/arm/arm-builtins.c: Likewise. * config/arm/arm-c.c: Likewise. * config/arm/arm.c: Likewise. * config/avr/avr-c.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.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/ft32/ft32.c: Likewise. * config/h8300/h8300.c: Likewise. * config/i386/i386-c.c: Likewise. * config/i386/i386.c: Likewise. * config/i386/msformat-c.c: Likewise. * config/i386/winnt-cxx.c: Likewise. * config/i386/winnt-stubs.c: Likewise. * config/i386/winnt.c: Likewise. * config/ia64/ia64-c.c: Likewise. * config/ia64/ia64.c: Likewise. * config/iq2000/iq2000.c: Likewise. * config/lm32/lm32.c: Likewise. * config/m32c/m32c-pragma.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.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.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/nvptx/nvptx.c: Likewise. * config/pa/pa.c: Likewise. * config/pdp11/pdp11.c: Likewise. * config/rl78/rl78-c.c: Likewise. * config/rl78/rl78.c: Likewise. * config/rs6000/rs6000-c.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rx/rx.c: Likewise. * config/s390/s390-c.c: Likewise. * config/s390/s390.c: Likewise. * config/sh/sh-c.c: Likewise. * config/sh/sh-mem.cc: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh_optimize_sett_clrt.cc: Likewise. * config/sh/sh_treg_combine.cc: Likewise. * config/sol2-c.c: Likewise. * config/sol2-cxx.c: Likewise. * config/sol2-stubs.c: Likewise. * config/sol2.c: Likewise. * config/sparc/sparc-c.c: Likewise. * config/sparc/sparc.c: Likewise. * config/spu/spu-c.c: Likewise. * config/spu/spu.c: Likewise. * config/stormy16/stormy16.c: Likewise. * config/tilegx/mul-tables.c: Likewise. * config/tilegx/tilegx-c.c: Likewise. * config/tilegx/tilegx.c: Likewise. * config/tilepro/mul-tables.c: Likewise. * config/tilepro/tilepro-c.c: Likewise. * config/tilepro/tilepro.c: Likewise. * config/v850/v850-c.c: Likewise. * config/v850/v850.c: Likewise. * config/vax/vax.c: Likewise. * config/visium/visium.c: Likewise. * config/vms/vms-c.c: Likewise. * config/vms/vms.c: Likewise. * config/vxworks.c: Likewise. * config/xtensa/xtensa.c: Likewise. ada 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * gcc-interface/cuintp.c: Adjust includes. * gcc-interface/decl.c: Likewise. * gcc-interface/misc.c: Likewise. * gcc-interface/targtyps.c: Likewise. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. * gcc-interface/utils2.c: Likewise. c 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * c-array-notation.c: Adjust includes. * c-aux-info.c: Likewise. * c-convert.c: Likewise. * c-decl.c: Likewise. * c-errors.c: Likewise. * c-lang.c: Likewise. * c-objc-common.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. c-family 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * array-notation-common.c: Adjust includes. * c-ada-spec.c: Likewise. * c-cilkplus.c: Likewise. * c-common.h: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-format.c: Likewise. * c-gimplify.c: Likewise. * c-indentation.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-pch.c: Likewise. * c-ppoutput.c: Likewise. * c-pragma.c: Likewise. * c-pretty-print.c: Likewise. * c-semantics.c: Likewise. * c-ubsan.c: Likewise. * cilk.c: Likewise. * stub-objc.c: Likewise. cp 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * call.c: Adjust includes. * class.c: Likewise. * constexpr.c: Likewise. * cp-array-notation.c: Likewise. * cp-gimplify.c: Likewise. * cp-lang.c: Likewise. * cp-objcp-common.c: Likewise. * cp-ubsan.c: Likewise. * cvt.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * dump.c: Likewise. * error.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * friend.c: Likewise. * init.c: Likewise. * lambda.c: Likewise. * lex.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * optimize.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * ptree.c: Likewise. * repo.c: Likewise. * rtti.c: Likewise. * search.c: Likewise. * semantics.c: Likewise. * tree.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. fortran 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * convert.c: Adjust includes. * cpp.c: Likewise. * decl.c: Likewise. * f95-lang.c: Likewise. * iresolve.c: Likewise. * match.c: Likewise. * module.c: Likewise. * options.c: Likewise. * target-memory.c: Likewise. * trans-array.c: Likewise. * trans-common.c: Likewise. * trans-const.c: Likewise. * trans-decl.c: Likewise. * trans-expr.c: Likewise. * trans-intrinsic.c: Likewise. * trans-io.c: Likewise. * trans-openmp.c: Likewise. * trans-stmt.c: Likewise. * trans-types.c: Likewise. * trans.c: Likewise. go 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * go-backend.c: Adjust includes. * go-gcc.cc: Likewise. * go-lang.c: Likewise. java 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * boehm.c: Adjust includes. * builtins.c: Likewise. * class.c: Likewise. * constants.c: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * java-gimplify.c: Likewise. * jcf-dump.c: Likewise. * jcf-io.c: Likewise. * jcf-parse.c: Likewise. * jvgenmain.c: Likewise. * lang.c: Likewise. * mangle.c: Likewise. * mangle_name.c: Likewise. * resource.c: Likewise. * typeck.c: Likewise. * verify-glue.c: Likewise. jit 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * dummy-frontend.c: Adjust includes. * jit-common.h: Likewise. * jit-playback.c: Likewise. lto 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * lto-lang.c: Adjust includes. * lto-object.c: Likewise. * lto-partition.c: Likewise. * lto-symtab.c: Likewise. * lto.c: Likewise. objc 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * objc-act.c: Adjust includes. * objc-encoding.c: Likewise. * objc-gnu-runtime-abi-01.c: Likewise. * objc-lang.c: Likewise. * objc-map.c: Likewise. * objc-next-runtime-abi-01.c: Likewise. * objc-next-runtime-abi-02.c: Likewise. * objc-runtime-shared-support.c: Likewise. objcp 2015-07-07 Andrew MacLeod <amacleod@redhat.com> * objcp-decl.c: Adjust includes. * objcp-lang.c: Likewise. From-SVN: r225531
* Daily bump.GCC Administrator2015-07-081-1/+1
| | | | From-SVN: r225530
* i386.md (*jcc_bt<mode>): Only split before reload.Uros Bizjak2015-07-075-105/+174
| | | | | | | | | | | | | | | | | | * config/i386/i386.md (*jcc_bt<mode>): Only split before reload. Remove operand constraints. Change operand 2 predicate to nonmemory operand. Limit const_int values to mode bitsize. Only allow const_int values less than 32 when optimizing for size. (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload. Remove operand constraints. (*bt<mode>): Use SImode for const_int values less than 32. (regmode): Remove mode attribute. testsuite/ChangeLog: * gcc.target/i386/bt-3.c: New test. * gcc.target/i386/bt-4.c: Ditto. From-SVN: r225527
* c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.Eric Botcazou2015-07-077-3/+33
| | | | | | | | | | c-family/ * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR. * c-ada-spec.c (print_ada_declaration): Skip move constructors. cp/ * decl2.c (cpp_check): Deal with IS_MOVE_CONSTRUCTOR. From-SVN: r225525
* [MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESSAnatoly Sokolov2015-07-073-24/+48
| | | | From-SVN: r225524
* PR jit/66783: prevent use of opaque structsDavid Malcolm2015-07-078-1/+147
| | | | | | | | | | | | | | | | | | | | | | | | | gcc/jit/ChangeLog: PR jit/66783 * jit-recording.h: Within namespace gcc:jit::recording... (type::has_known_size): New virtual function. (struct_has_known_size): New function. * libgccjit.c (gcc_jit_context_new_field): Verify that the type has a known size. (gcc_jit_context_new_global): Likewise. (gcc_jit_function_new_local): Likewise. gcc/testsuite/ChangeLog: PR jit/66783 * jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New test case. * jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c: New test case. * jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c: New test case. * jit.dg/test-error-mismatching-types-in-call.c (create_code): Avoid using an opaque struct for local "f". From-SVN: r225523
* PR jit/66779: fix segfaultDavid Malcolm2015-07-075-0/+176
| | | | | | | | | | | | | | gcc/jit/ChangeLog: PR jit/66779 * dummy-frontend.c (jit_langhook_type_for_mode): Ensure that we handle modes QI, HI, SI, DI, TI. gcc/testsuite/ChangeLog: PR jit/66779 * jit.dg/all-non-failing-tests.h: Add test-pr66779.c. * jit.dg/test-pr66779.c: New testcase. From-SVN: r225522
* Add empty loop exit block in transform_to_exit_first_loop_altTom de Vries2015-07-075-14/+81
| | | | | | | | | | | | | | | | | | 2015-07-07 Tom de Vries <tom@codesourcery.com> PR tree-optimization/66642 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function header comment. Rename split_edge variable to edge_at_split. Split exit edge to create new loop exit bb. Insert loop exit phis in new loop exit bb. * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low iteration count case. * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New function, factor out of ... (main): ... here. Test low iteration count case. From-SVN: r225521
* Add rewrite_virtuals_into_loop_closed_ssaTom de Vries2015-07-076-35/+90
| | | | | | | | | | | | | | | | 2015-07-07 Tom de Vries <tom@codesourcery.com> * tree-cfg.c (get_virtual_phi): New function. * tree-cfg.h (get_virtual_phi): Declare. * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs) (rewrite_virtuals_into_loop_closed_ssa): New function. * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa): Declare. * tree-parloops.c (replace_uses_in_bbs_by): Remove. (transform_to_exit_first_loop_alt): Use rewrite_virtuals_into_loop_closed_ssa. From-SVN: r225520
* MIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcaseAndrew Bennett2015-07-072-1/+6
| | | | | | | | | | | The LWXS instruction is part of the micromips ISA which means it is valid to generate it for the no-smartmips-lwxs.c testcase. testsuite/ * gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to NOCOMPRESSION. From-SVN: r225519
* fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << ↵Richard Biener2015-07-075-23/+31
| | | | | | | | | | | | | | | | C1) simplification ... 2015-07-07 Richard Biener <rguenther@suse.de> * fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ... * match.pd: ... here. Add (X * C1) % C2 -> 0 simplification pattern derived from extract_muldiv_1. * gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust. From-SVN: r225517
* MIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be ↵Andrew Bennett2015-07-074-8/+14
| | | | | | | | | | | | | | matched when testing with microMIPS. When building the call-[1,5,6].c tests for micromips the jrc rather than the jr instruction is used to call the tail* functions. testsuite/ * gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction. * gcc.target/mips/call-5.c: Ditto. * gcc.target/mips/call-6.c: Ditto. From-SVN: r225516
* re PR target/66780 (Compiling with -fstack-protector-strong causes binary to ↵Kaz Kojima2015-07-072-6/+6
| | | | | | | | | segfault) PR target/66780 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 change for target/65249. From-SVN: r225512
* symtab.c (address_matters_1): Fix typo in comment above.Paulo Matos2015-07-072-2/+7
| | | | | | | | | 2015-07-07 Paulo Matos <pmatos@broadcom.com> * symtab.c (address_matters_1): Fix typo in comment above. (can_increase_alignment_p): Likewise. From-SVN: r225509
* function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.Prathamesh Kulkarni2015-07-074-0/+14
| | | | | | | | | | 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties. testsuite/ * gcc.dg/dx-test.c: New test-case. From-SVN: r225508
* re PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)Andre Vehreschild2015-07-074-22/+73
| | | | | | | | | | | | | | | | | | | | | | gcc/testsuite/ChangeLog: 2015-07-07 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/66578 * gfortran.dg/allocate_with_source_9.f08: New test. gcc/fortran/ChangeLog: 2015-07-07 Mikael Morin <mikael@gcc.gnu.org> Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/66578 * trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor is one-based for non-full array refs. Correct the offset when a rank_remap occurs. From-SVN: r225507
* tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.Richard Biener2015-07-072-19/+63
| | | | | | | | | | | | | | | | 2015-07-07 Richard Biener <rguenther@suse.de> * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to. (add_control_edge): Remove excessive vertical space in dumping. (process_ssa_edge_worklist): Simulate at most one statement and return whether we did. Do not simulate PHIs if they are in a BB not yet simulated. (ssa_propagate): Adjust to always drain the BB worklist whenever a BB is available there, likewise the VARYING edges list before the interesting edge list. From-SVN: r225504
* Cleanup arch file directive.Christian Bruel2015-07-077-12/+24
| | | | | | | | | | | | | | PR target/52144 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete. PR target/52144 * gcc.target/arm/flip-thumb.c: Fix scan. * gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan. * gcc.target/arm/attr_arm.c: Test for all targets. Fix scan. * gcc.target/arm/attr_thumb-static.c: Test for all targets. Fix return value. From-SVN: r225503
* re PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c ↵Richard Biener2015-07-072-2/+9
| | | | | | | | | | | | scan-assembler subs\tw[0-9]) 2015-07-07 Richard Biener <rguenther@suse.de> PR middle-end/66739 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use A - B. From-SVN: r225502
* Daily bump.GCC Administrator2015-07-071-1/+1
| | | | From-SVN: r225501
* pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template ↵Jason Merrill2015-07-062-17/+20
| | | | | | | | | | | template parameter. * pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template parameter. (tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built by reduce_template_parm_level. From-SVN: r225495
* pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.Jason Merrill2015-07-062-0/+8
| | | | | | | * pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion. From-SVN: r225494
* i386.md (insv<mode>): Rename from insv.Uros Bizjak2015-07-063-37/+51
| | | | | | | | | | | | | | * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48 modes for operands 0 and 3. Use SImode for operands 2 and 3. Copy operand 0 to a temporary if !ext_register_operand. Remove ancient extract_bit_field workaround. (insv<mode>_1): Rename from mov<mode>_insv_1. (*insvqi): Rename from *movqi_insv_2. * config/i386/i386.c (emit_i386_cw_initialization): Update calls for renamed insvsi_1. (promote_duplicated_reg): Ditto for renamed insv<mode>_1. From-SVN: r225484
* nvptx.c (nvptx_reorg): Remove unused vars.Nathan Sidwell2015-07-062-4/+6
| | | | | | | * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix call to nvptx_reorg_subreg. From-SVN: r225481
* * s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.John Marino2015-07-062-3/+8
| | | | From-SVN: r225480
* graphite-blocking.c (HAVE_isl): Include <stddef.h>.Jim Wilson2015-07-0610-0/+35
| | | | | | | | | | | gcc/ * graphite-blocking.c (HAVE_isl): Include <stddef.h>. * graphite-dependencies.c, graphite-interchange.c, graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c, graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c: Likewise. From-SVN: r225478
* match.pd: Remove element_mode inside HONOR_*.Marc Glisse2015-07-064-19/+41
| | | | | | | | | | | | 2015-07-06 Marc Glisse <marc.glisse@inria.fr> * match.pd: Remove element_mode inside HONOR_*. (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types. (~X | X -> -1, ~X ^ X -> -1): Merge. * tree.c (build_each_one_cst): New function. * tree.h (build_each_one_cst): Likewise. From-SVN: r225473
* Handle PROCESSOR_IAMCU in ix86_target_macros_internalH.J. Lu2015-07-061-0/+5
| | | | | | | | | | Define __i586__/__pentium__ for -march=iamcu and __tune_iamcu__ for -mtune=iamcu. * config/i386/i386-c.c (ix86_target_macros_internal): Handle PROCESSOR_IAMCU. From-SVN: r225471
* config.gcc: Add fused-madd.opt.Steve Ellcey2015-07-066-130/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-07-06 Steve Ellcey <sellcey@imgtec.com> * config.gcc <mips*-*-*>: Add fused-madd.opt. * config/mips/mips.opt (mfused-madd): Remove. * config/mips/mips.c (mips_rtx_costs): Update cost calculations. * config/mips/mips.h (TARGET_MIPS8000): New. (ISA_HAS_FP_MADD4_MSUB4): Remove. (ISA_HAS_FP_MADDF_MSUBF): Remove. (ISA_HAS_FP_MADD3_MSUB3): Remove. (ISA_HAS_NMADD4_NMSUB4): Remove. (ISA_HAS_NMADD3_NMSUB3): Remove. (ISA_HAS_FUSED_MADD4): New. (ISA_HAS_UNFUSED_MADD4): New. (ISA_HAS_FUSED_MADDF): New. (ISA_HAS_FUSED_MADD3): New. * config/mips/mips.md: (fma<mode>4) Change from insn to expand. (*fma<mode>4_madd3) New. (*fma<mode>4_madd4) New. (*fma<mode>4_maddf) New. (fms<mode>4) New. (*fms<mode>4_msub3) New. (*fms<mode>4_msub4) New. (fnma<mode>4) New. (*fnma<mode>4_nmadd3) New. (*fnma<mode>4_nmadd4) New. (fnms<mode>4) New. (*fnms<mode>4_nmsub3) New. (*fnms<mode>4_nmsub4) New. (*madd4<mode>) Modify to be unfused only. (*msub4<mode>) Modify to be unfused only. (*nmadd4<mode>) Modify to be unfused only. (*nmsub4<mode>) Modify to be unfused only. (*madd3<mode>) Remove. (*msub3<mode>) Remove. (*nmadd3<mode>) Remove. (*nmsub3<mode>) Remove. (*nmadd3<mode>_fastmath) Remove. (*nmsub3<mode>_fastmath) Remove. (*nmadd4<mode>_fastmath) Update condition. (*nmsub4<mode>_fastmath) Update condition. From-SVN: r225468
* Fix eipa_src AAPCS issue (PR target/65956)Jakub Jelinek2015-07-062-0/+72
| | | | | | | | | 2015-05-05 Jakub Jelinek <jakub@redhat.com> PR target/65956 * gcc.c-torture/execute/pr65956.c: New test. From-SVN: r225466
* [ARM] PR/65956 AAPCS update for alignment attributeAlan Lawrence2015-07-0613-2/+385
| | | | | | | | | | | | | | | | | | | | | | gcc/: PR target/65956 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer alignment attribute, exploring one level down for records and arrays. gcc/testsuite/: * gcc.target/arm/aapcs/align1.c: New. * gcc.target/arm/aapcs/align_rec1.c: New. * gcc.target/arm/aapcs/align2.c: New. * gcc.target/arm/aapcs/align_rec2.c: New. * gcc.target/arm/aapcs/align3.c: New. * gcc.target/arm/aapcs/align_rec3.c: New. * gcc.target/arm/aapcs/align4.c: New. * gcc.target/arm/aapcs/align_rec4.c: New. * gcc.target/arm/aapcs/align_vararg1.c: New. * gcc.target/arm/aapcs/align_vararg2.c: New. From-SVN: r225465
* Optimize i?86-*-elfiamcu for iamcu by defaultH.J. Lu2015-07-062-1/+10
| | | | | | | | | | | Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets. * config.gcc (x86_archs): Add iamcu. (with_cpu): Default to iamcu for i[34567]86-*-elfiamcu. (with_arch): Likewise. * doc/invoke.texi: Add iamcu. From-SVN: r225464
* i386.md (extv<mode>): Rename from extv.Uros Bizjak2015-07-062-141/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24 modes for operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 to a temporary if !ext_register_operand. Remove ancient extract_bit_field workaround. (*extv<mode>): Rename from *mov<mode>_extv_1. (*extvqi): Rename from *movqi_extv_q. (extzv<mode>): Rename from extzv. Use SWI248 modes for operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1 to a temporary if !ext_register_operand. Remove ancient extract_bit_field workaround. (*extzv<mode>): Rename from *mov<mode>_extzv_1. (*extzvqi): Rename from *movqi_extzv_1. (*testqi_ext_3): Remove modes from const_int_operand predicated operands. Add "n" constraint. (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated operand. Add "J" constraint. (*btsq, *btrq, *btcq peephole2s): Remove mode from const_0_to_63 predicated operand. (regmode): New insn attribute. (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate to nonmemory_operand. Use regmode insn attribute. (*jcc_bt<mode>_1): Convert operand 2 to SImode. (*jcc_bt<mode>_mask): Remove mode from operand 3. (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns. (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated operands. Use "N" constraint instead of "n". From-SVN: r225463
* io.c (check_char_variable): New function.Steven G. Kargl2015-07-064-7/+88
| | | | | | | | | | | | | | | 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> * io.c (check_char_variable): New function. (match_open_element, match_close_element, match_file_element, match_dt_element, match_inquire_element, match_wait_element): Use it. 2015-07-06 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/iomsg_2.f90: New test. From-SVN: r225462
* [ARM] fix movdi expander to avoid illegal ldrd/strdAlan Lawrence2015-07-062-0/+40
| | | | | | * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state. From-SVN: r225461
* Add -march=iamcu to optimize for IA MCUH.J. Lu2015-07-064-16/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | IA MCU is based on Intel Pentium ISA without x87 and passing parameters in registers. We want to optimize for IA MCU without changing existing Pentium codegen. This patch adds PROCESSOR_IAMCU for -march=iamcu, which is based on -march=pentium with updated cost tables. gcc/ PR target/66749 * config/i386/i386.c (iamcu_cost): New. (m_IAMCU): Likewise. (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU. (processor_target_table): Add an entry for "iamcu". (processor_alias_table): Likewise. (ix86_issue_rate): Handle PROCESSOR_IAMCU. (ix86_adjust_cost): Likewise. (ia32_multipass_dfa_lookahead): Likewise. * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU. * config/i386/x86-tune.def: Updated for m_IAMCU. gcc/testsuite/ PR target/66749 * gcc.target/i386/pr66749.c: New test. From-SVN: r225460
* re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)Richard Biener2015-07-065-0/+104
| | | | | | | | | | | | | | 2015-07-06 Richard Biener <rguenther@suse.de> PR tree-optimization/66772 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy values are available in the PHI node BB when there are still unexecutable edges. * gcc.dg/torture/pr66772-1.c: New testcase. * gcc.dg/torture/pr66772-2.c: Likewise. From-SVN: r225459
* MIPS: For micromips allow the near-far-3.c test to use the jals instruction ↵Andrew Bennett2015-07-062-1/+6
| | | | | | | | | | | to call near_func. testsuite/ * gcc.target/mips/near-far-3.c: Allow the call to near_func to use the jals instruction. From-SVN: r225457
* re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)Richard Biener2015-07-062-1/+9
| | | | | | | | | | | | 2015-07-06 Richard Biener <rguenther@suse.de> PR tree-optimization/66767 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Make sure to build the alignment test on a SSA name without final alignment info valid only if the alignment test evaluates to true. From-SVN: r225454
* Fix assert caused by bad cfg manipulation in bfin.Bernd Schmidt2015-07-062-1/+18
| | | | | | | | PR target/66620 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and loop start when inserting LSETUP. From-SVN: r225453
* Allow -mincoming-stack-boundary=3 with -mno-sseH.J. Lu2015-07-066-4/+42
| | | | | | | | | | | | | | | | | | | | Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is allowed with -mno-sse in 64-bit mode. gcc/ PR target/53383 * config/i386/i386.c (ix86_option_override_internal): Allow -mincoming-stack-boundary=3 for 64-bit if SSE is disabled. gcc/testsuite/ PR target/53383 * gcc.target/i386/pr53383-1.c: New file. * gcc.target/i386/pr53383-2.c: Likewise. * gcc.target/i386/pr53383-3.c: Likewise. From-SVN: r225452
* Rename read-md.c:decimal_stringRainer Orth2015-07-062-2/+8
| | | | | | | | * read-md.c (decimal_string): Rename to ... (md_decimal_string): ... this. (handle_enum): Reflect this. From-SVN: r225451
* [AArch64] PR target/66731 Fix fnmul insn with -frounding-mathSzabolcs Nagy2015-07-067-0/+88
| | | | | | | | | | | | | | | | | | | | gcc/Changelog: 2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com> PR target/66731 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math. gcc/testsuite/Changelog: 2015-07-03 Szabolcs Nagy <szabolcs.nagy@arm.com> * gcc.target/aarch64/fnmul-1.c: New. * gcc.target/aarch64/fnmul-2.c: New. * gcc.target/aarch64/fnmul-3.c: New. * gcc.target/aarch64/fnmul-4.c: New. From-SVN: r225450
* re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)Richard Biener2015-07-064-1/+23
| | | | | | | | | | | | 2015-07-06 Richard Biener <rguenther@suse.de> PR middle-end/66759 * match.pd: Add missing constraint of y to REAL_CST in REAL_CST - x CMP y to y - CST CMP x simplification. * gcc.dg/torture/pr66759.c: New testcase. From-SVN: r225449
* Added missing Changelog entry for testsuite.Andre Vehreschild2015-07-061-0/+6
| | | | From-SVN: r225448
* re PR fortran/58586 (ICE with derived type with allocatable component passed ↵Andre Vehreschild2015-07-067-14/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by value) gcc/testsuite/ChangeLog: 2015-07-06 Andre Vehreschild <vehre@gmx.de> PR fortran/58586 * gfortran.dg/alloc_comp_class_3.f03: New test. * gfortran.dg/alloc_comp_class_4.f03: New test. gcc/fortran/ChangeLog: 2015-07-06 Andre Vehreschild <vehre@gmx.de> PR fortran/58586 * resolve.c (resolve_symbol): Non-private functions in modules with allocatable or pointer components are marked referenced now. Furthermore is the default init especially for those components now done in gfc_conf_procedure_call preventing duplicate code. * trans-decl.c (gfc_generate_function_code): Generate a fake result decl for functions returning an object with allocatable components and initialize them. * trans-expr.c (gfc_conv_procedure_call): For value typed trees use the tree without indirect ref. And for non-decl trees add a temporary variable to prevent evaluating the tree multiple times (prevent multiple function evaluations). * trans.h: Made gfc_trans_structure_assign () protoype available, which is now needed by trans-decl.c:gfc_generate_ function_code(), too. From-SVN: r225447
* re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)Eric Botcazou2015-07-064-3/+27
| | | | | | | PR tree-optimization/66757 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C. From-SVN: r225446
* re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)Francois-Xavier Coudert2015-07-064-95/+23
| | | | | | | | | PR libfortran/40267 * Makefile.am: Remove libgfortranbegin targets. * Makefile.in: Regenerate. * fmain.c: Remove. From-SVN: r225445
* libgomp: Add comment to clarify last_team usageSebastian Huber2015-07-062-0/+7
| | | | | | | | | libgomp/ChangeLog 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de> * libgomp.h (gomp_thread_pool): Comment last_team field. From-SVN: r225444