gcc.git
9 years agore PR c++/66748 (Crash with abi_tag attribute)
Marek Polacek [Wed, 8 Jul 2015 10:36:26 +0000 (10:36 +0000)]
re PR c++/66748 (Crash with abi_tag attribute)

PR c++/66748
* tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
accessing TYPE_LANG_SPECIFIC node.

* g++.dg/abi/abi-tag15.C: New test.

From-SVN: r225541

9 years agoMIPS: Fix failing branch range checks for micromips.
Andrew Bennett [Wed, 8 Jul 2015 09:40:35 +0000 (09:40 +0000)]
MIPS: Fix failing branch range checks for micromips.

The current branch range tests assume that the MIPS branch instructions
have a 16 bit branch offset which is shifted by 2.  Unfortunately for microMIPS
this offset is shifted by 1 which reduces the branch range and caused the
branch-*.c tests to fail.

testsuite/
* gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION.
* gcc.target/mips/branch-3.c: Ditto
* gcc.target/mips/branch-4.c: Ditto.
* gcc.target/mips/branch-5.c: Ditto.
* gcc.target/mips/branch-6.c: Ditto.
* gcc.target/mips/branch-7.c: Ditto.
* gcc.target/mips/branch-8.c: Ditto.
* gcc.target/mips/branch-9.c: Ditto.
* gcc.target/mips/branch-10.c: Ditto.
* gcc.target/mips/branch-11.c: Ditto.
* gcc.target/mips/branch-12.c: Ditto.
* gcc.target/mips/branch-13.c: Ditto.
* gcc.target/mips/umips-branch-5.c: New file.
* gcc.target/mips/umips-branch-6.c: New file.
* gcc.target/mips/umips-branch-7.c: New file.
* gcc.target/mips/umips-branch-8.c: New file.
* gcc.target/mips/umips-branch-9.c: New file.
* gcc.target/mips/umips-branch-10.c: New file.
* gcc.target/mips/umips-branch-11.c: New file.
* gcc.target/mips/umips-branch-12.c: New file.
* gcc.target/mips/umips-branch-13.c: New file.
* gcc.target/mips/umips-branch-14.c: New file.
* gcc.target/mips/umips-branch-15.c: New file.
* gcc.target/mips/umips-branch-16.c: New file.
* gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define.
(OCCUPY_0xfffc): New define.

From-SVN: r225540

9 years agoi386.md (*jcc_bt<mode>): Only allow const_int values more than or equal 8 and less...
Uros Bizjak [Wed, 8 Jul 2015 09:31:34 +0000 (11:31 +0200)]
i386.md (*jcc_bt<mode>): Only allow const_int values more than or equal 8 and less than 32 when...

* config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
more than or equal 8 and less than 32 when optimizing for size.

From-SVN: r225539

9 years ago[PATCH][ARM]Adjust compiling options for "gcc.target/arm/unsigned-float.c"
Renlin Li [Wed, 8 Jul 2015 09:15:31 +0000 (09:15 +0000)]
[PATCH][ARM]Adjust compiling options for "gcc.target/arm/unsigned-float.c"
with hardfloat toolchain.

gcc/testsuite/

2015-07-08  Renlin Li  <renlin.li@arm.com>

* gcc.target/arm/unsignedned-float.c: Different options for hf toolchain.

From-SVN: r225538

9 years ago[ARM] Initialise cost to COSTS_N_INSNS (1) and increment in arm rtx costs
Kyrylo Tkachov [Wed, 8 Jul 2015 09:14:24 +0000 (09:14 +0000)]
[ARM] Initialise cost to COSTS_N_INSNS (1) and increment in arm rtx costs

* config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
COSTS_N_INSNS (1) and increment it appropriately throughout the
function.

From-SVN: r225537

9 years agoMIPS: Do not build the stack-1.c testcase for micromips.
Andrew Bennett [Wed, 8 Jul 2015 08:37:22 +0000 (08:37 +0000)]
MIPS: Do not build the stack-1.c testcase for micromips.

testsuite/
* gcc.target/mips/stack-1.c: Do not build the testcase for micromips.

From-SVN: r225536

9 years agofold-const.c (fold_widened_comparison): Fix inverted comparison.
Richard Biener [Wed, 8 Jul 2015 08:16:50 +0000 (08:16 +0000)]
fold-const.c (fold_widened_comparison): Fix inverted comparison.

2015-07-08  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_widened_comparison): Fix inverted comparison.

From-SVN: r225535

9 years agogetruntime.c (get_run_time): Use RUSAGE_SELF as argument 1 of getrusage call.
Uros Bizjak [Wed, 8 Jul 2015 07:05:11 +0000 (09:05 +0200)]
getruntime.c (get_run_time): Use RUSAGE_SELF as argument 1 of getrusage call.

* getruntime.c (get_run_time) [__USE_GNU]: Use RUSAGE_SELF as
argument 1 of getrusage call.

From-SVN: r225534

9 years agofix changelog pasto
Alan Modra [Wed, 8 Jul 2015 03:27:08 +0000 (12:57 +0930)]
fix changelog pasto

From-SVN: r225533

9 years agotarget.def (rtx_costs): Remove "code" param, add "mode".
Alan Modra [Wed, 8 Jul 2015 03:02:27 +0000 (12:32 +0930)]
target.def (rtx_costs): Remove "code" param, add "mode".

* 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

9 years agotree-core.h: Include symtab.h.
Andrew MacLeod [Wed, 8 Jul 2015 00:53:03 +0000 (00:53 +0000)]
tree-core.h: Include symtab.h.

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

9 years agoDaily bump.
GCC Administrator [Wed, 8 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225530

9 years agoi386.md (*jcc_bt<mode>): Only split before reload.
Uros Bizjak [Tue, 7 Jul 2015 21:03:02 +0000 (23:03 +0200)]
i386.md (*jcc_bt<mode>): Only split before reload.

* 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

9 years agoc-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
Eric Botcazou [Tue, 7 Jul 2015 20:13:59 +0000 (20:13 +0000)]
c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.

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

9 years ago[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS
Anatoly Sokolov [Tue, 7 Jul 2015 19:46:14 +0000 (22:46 +0300)]
[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS

From-SVN: r225524

9 years agoPR jit/66783: prevent use of opaque structs
David Malcolm [Tue, 7 Jul 2015 19:29:58 +0000 (19:29 +0000)]
PR jit/66783: prevent use of opaque structs

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

9 years agoPR jit/66779: fix segfault
David Malcolm [Tue, 7 Jul 2015 19:22:01 +0000 (19:22 +0000)]
PR jit/66779: fix segfault

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

9 years agoAdd empty loop exit block in transform_to_exit_first_loop_alt
Tom de Vries [Tue, 7 Jul 2015 16:25:22 +0000 (16:25 +0000)]
Add empty loop exit block in transform_to_exit_first_loop_alt

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

9 years agoAdd rewrite_virtuals_into_loop_closed_ssa
Tom de Vries [Tue, 7 Jul 2015 16:25:12 +0000 (16:25 +0000)]
Add rewrite_virtuals_into_loop_closed_ssa

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

9 years agoMIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase
Andrew Bennett [Tue, 7 Jul 2015 16:07:51 +0000 (16:07 +0000)]
MIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase

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

9 years agofold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplif...
Richard Biener [Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)]
fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << 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

9 years agoMIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when...
Andrew Bennett [Tue, 7 Jul 2015 14:01:53 +0000 (14:01 +0000)]
MIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be 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

9 years agore PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)
Kaz Kojima [Tue, 7 Jul 2015 12:29:16 +0000 (12:29 +0000)]
re PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)

PR target/66780
* config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 change for target/65249.

From-SVN: r225512

9 years agosymtab.c (address_matters_1): Fix typo in comment above.
Paulo Matos [Tue, 7 Jul 2015 11:25:35 +0000 (11:25 +0000)]
symtab.c (address_matters_1): Fix typo in comment above.

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

9 years agofunction.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
Prathamesh Kulkarni [Tue, 7 Jul 2015 11:19:27 +0000 (11:19 +0000)]
function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.

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

9 years agore PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)
Andre Vehreschild [Tue, 7 Jul 2015 11:10:12 +0000 (13:10 +0200)]
re PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)

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

9 years agotree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.
Richard Biener [Tue, 7 Jul 2015 07:59:40 +0000 (07:59 +0000)]
tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.

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

9 years agoCleanup arch file directive.
Christian Bruel [Tue, 7 Jul 2015 07:56:10 +0000 (09:56 +0200)]
Cleanup arch file directive.

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

9 years agore PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs...
Richard Biener [Tue, 7 Jul 2015 07:46:57 +0000 (07:46 +0000)]
re PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c 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

9 years agoDaily bump.
GCC Administrator [Tue, 7 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225501

9 years agopt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template...
Jason Merrill [Mon, 6 Jul 2015 22:13:42 +0000 (18:13 -0400)]
pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template 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

9 years agopt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.
Jason Merrill [Mon, 6 Jul 2015 22:13:37 +0000 (18:13 -0400)]
pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.

* pt.c (argument_pack_element_is_expansion_p): A decl pack is an
expansion.

From-SVN: r225494

9 years agoi386.md (insv<mode>): Rename from insv.
Uros Bizjak [Mon, 6 Jul 2015 21:26:12 +0000 (23:26 +0200)]
i386.md (insv<mode>): Rename from insv.

* 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

9 years agonvptx.c (nvptx_reorg): Remove unused vars.
Nathan Sidwell [Mon, 6 Jul 2015 20:53:34 +0000 (20:53 +0000)]
nvptx.c (nvptx_reorg): Remove unused vars.

* config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars.  Fix
call to nvptx_reorg_subreg.

From-SVN: r225481

9 years ago* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
John Marino [Mon, 6 Jul 2015 20:51:40 +0000 (20:51 +0000)]
* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.

From-SVN: r225480

9 years agographite-blocking.c (HAVE_isl): Include <stddef.h>.
Jim Wilson [Mon, 6 Jul 2015 20:37:44 +0000 (20:37 +0000)]
graphite-blocking.c (HAVE_isl): Include <stddef.h>.

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

9 years agomatch.pd: Remove element_mode inside HONOR_*.
Marc Glisse [Mon, 6 Jul 2015 18:19:41 +0000 (20:19 +0200)]
match.pd: Remove element_mode inside HONOR_*.

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

9 years agoHandle PROCESSOR_IAMCU in ix86_target_macros_internal
H.J. Lu [Mon, 6 Jul 2015 17:51:12 +0000 (10:51 -0700)]
Handle PROCESSOR_IAMCU in ix86_target_macros_internal

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

9 years agoconfig.gcc: Add fused-madd.opt.
Steve Ellcey [Mon, 6 Jul 2015 17:29:33 +0000 (17:29 +0000)]
config.gcc: Add fused-madd.opt.

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

9 years agoFix eipa_src AAPCS issue (PR target/65956)
Jakub Jelinek [Mon, 6 Jul 2015 17:06:00 +0000 (19:06 +0200)]
Fix eipa_src AAPCS issue (PR target/65956)

2015-05-05  Jakub Jelinek  <jakub@redhat.com>

PR target/65956
* gcc.c-torture/execute/pr65956.c: New test.

From-SVN: r225466

9 years ago[ARM] PR/65956 AAPCS update for alignment attribute
Alan Lawrence [Mon, 6 Jul 2015 16:58:16 +0000 (16:58 +0000)]
[ARM] PR/65956 AAPCS update for alignment attribute

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

9 years agoOptimize i?86-*-elfiamcu for iamcu by default
H.J. Lu [Mon, 6 Jul 2015 16:56:11 +0000 (09:56 -0700)]
Optimize i?86-*-elfiamcu for iamcu by default

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

9 years agoi386.md (extv<mode>): Rename from extv.
Uros Bizjak [Mon, 6 Jul 2015 16:43:33 +0000 (18:43 +0200)]
i386.md (extv<mode>): Rename from extv.

* 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

9 years agoio.c (check_char_variable): New function.
Steven G. Kargl [Mon, 6 Jul 2015 16:33:38 +0000 (16:33 +0000)]
io.c (check_char_variable): New function.

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

9 years ago[ARM] fix movdi expander to avoid illegal ldrd/strd
Alan Lawrence [Mon, 6 Jul 2015 16:21:55 +0000 (16:21 +0000)]
[ARM] fix movdi expander to avoid illegal ldrd/strd

        * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.

From-SVN: r225461

9 years agoAdd -march=iamcu to optimize for IA MCU
H.J. Lu [Mon, 6 Jul 2015 15:17:44 +0000 (08:17 -0700)]
Add -march=iamcu to optimize for IA MCU

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

9 years agore PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 6 Jul 2015 14:41:22 +0000 (14:41 +0000)]
re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)

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

9 years agoMIPS: For micromips allow the near-far-3.c test to use the jals instruction to call...
Andrew Bennett [Mon, 6 Jul 2015 14:16:14 +0000 (14:16 +0000)]
MIPS: For micromips allow the near-far-3.c test to use the jals instruction 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

9 years agore PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
Richard Biener [Mon, 6 Jul 2015 13:12:39 +0000 (13:12 +0000)]
re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)

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

9 years agoFix assert caused by bad cfg manipulation in bfin.
Bernd Schmidt [Mon, 6 Jul 2015 12:49:26 +0000 (12:49 +0000)]
Fix assert caused by bad cfg manipulation in bfin.

PR target/66620
* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
loop start when inserting LSETUP.

From-SVN: r225453

9 years agoAllow -mincoming-stack-boundary=3 with -mno-sse
H.J. Lu [Mon, 6 Jul 2015 11:50:47 +0000 (11:50 +0000)]
Allow -mincoming-stack-boundary=3 with -mno-sse

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

9 years agoRename read-md.c:decimal_string
Rainer Orth [Mon, 6 Jul 2015 11:43:07 +0000 (11:43 +0000)]
Rename read-md.c:decimal_string

* read-md.c (decimal_string): Rename to ...
(md_decimal_string): ... this.
(handle_enum): Reflect this.

From-SVN: r225451

9 years ago[AArch64] PR target/66731 Fix fnmul insn with -frounding-math
Szabolcs Nagy [Mon, 6 Jul 2015 11:00:03 +0000 (11:00 +0000)]
[AArch64] PR target/66731 Fix fnmul insn with -frounding-math

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

9 years agore PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
Richard Biener [Mon, 6 Jul 2015 10:37:33 +0000 (10:37 +0000)]
re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)

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

9 years agoAdded missing Changelog entry for testsuite.
Andre Vehreschild [Mon, 6 Jul 2015 10:27:38 +0000 (12:27 +0200)]
Added missing Changelog entry for testsuite.

From-SVN: r225448

9 years agore PR fortran/58586 (ICE with derived type with allocatable component passed by value)
Andre Vehreschild [Mon, 6 Jul 2015 10:26:12 +0000 (12:26 +0200)]
re PR fortran/58586 (ICE with derived type with allocatable component passed 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

9 years agore PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
Eric Botcazou [Mon, 6 Jul 2015 08:43:58 +0000 (08:43 +0000)]
re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)

PR tree-optimization/66757
* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.

From-SVN: r225446

9 years agore PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
Francois-Xavier Coudert [Mon, 6 Jul 2015 08:22:34 +0000 (08:22 +0000)]
re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)

PR libfortran/40267
* Makefile.am: Remove libgfortranbegin targets.
* Makefile.in: Regenerate.
* fmain.c: Remove.

From-SVN: r225445

9 years agolibgomp: Add comment to clarify last_team usage
Sebastian Huber [Mon, 6 Jul 2015 07:21:48 +0000 (07:21 +0000)]
libgomp: Add comment to clarify last_team usage

libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* libgomp.h (gomp_thread_pool): Comment last_team field.

From-SVN: r225444

9 years agore PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
Bin Cheng [Mon, 6 Jul 2015 05:57:56 +0000 (05:57 +0000)]
re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)

PR tree-optimization/66720
* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
vect_int_mult.

From-SVN: r225443

9 years agoDaily bump.
GCC Administrator [Mon, 6 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225440

9 years agonios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
Chung-Lin Tang [Sun, 5 Jul 2015 21:49:08 +0000 (21:49 +0000)]
nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.

2015-07-05  Chung-Lin Tang  <cltang@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
Delete extern declaration.
(gprel_constant_p): Add extern declaration.
* config/nios2/constraints.md ("S"): Use gprel_constant_p
instead of nios2_symbol_ref_in_small_data_p.
* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
(nios2_symbol_ref_in_small_data_p): Make static.
(gprel_constant_p): Make non-static.

gcc/testsuite/
* gcc.target/nios2/gprel-offset.c: New test.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225437

9 years agohashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
François Dumont [Sun, 5 Jul 2015 21:16:07 +0000 (21:16 +0000)]
hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.

2015-07-05  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
rehash container.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Adapt.

From-SVN: r225436

9 years agofragments.texi (Target Fragment): Convert debian.org link to use https.
Gerald Pfeifer [Sun, 5 Jul 2015 20:36:22 +0000 (20:36 +0000)]
fragments.texi (Target Fragment): Convert debian.org link to use https.

* doc/fragments.texi (Target Fragment): Convert debian.org
link to use https.
* doc/install.texi (Configuration): Ditto.

From-SVN: r225435

9 years agore PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
Jakub Jelinek [Sun, 5 Jul 2015 12:14:41 +0000 (14:14 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)

PR tree-optimization/66718
* tree-vect-stmts.c (vectorizable_call): Replace uses of
GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.

From-SVN: r225434

9 years agore PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
Jakub Jelinek [Sun, 5 Jul 2015 12:11:57 +0000 (14:11 +0200)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)

PR tree-optimization/66718
* tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
vectorizable_load, vectorizable_condition): Move vectype,
nunits, ncopies computation after checking what kind of statement
stmt is.

From-SVN: r225433

9 years agotarget-insns.def (extv, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 08:02:59 +0000 (08:02 +0000)]
target-insns.def (extv, [...]): New targetm instruction patterns.

gcc/
* target-insns.def (extv, extzv, insv): New targetm instruction
patterns.
* optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
interface.
* recog.c (simplify_while_replacing): Likewise.

From-SVN: r225432

9 years agotarget-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 08:01:48 +0000 (08:01 +0000)]
target-insns.def (doloop_begin, doloop_end): New targetm instruction patterns.

gcc/
* target-insns.def (doloop_begin, doloop_end): New targetm
instruction patterns.
* loop-init.c: Include target.h.
(pass_loop2::gate): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(pass_rtl_doloop::gate): Likewise.
(pass_rtl_doloop::execute): Remove preprocessor condition.
* hw-doloop.c: Build unconditionally.
* loop-doloop.c: Likewise.
(doloop_optimize): Use the new targetm patterns instead of
HAVE_*/gen_* interface.
(doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
* modulo-sched.c (doloop_register_get): Likewise.

From-SVN: r225431

9 years agotarget-insns.def (clear_cache): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:59:14 +0000 (07:59 +0000)]
target-insns.def (clear_cache): New targetm instruction pattern.

gcc/
* target-insns.def (clear_cache): New targetm instruction pattern.
* builtins.c (expand_builtin___clear_cache): Use it instead of
HAVE_*/gen_* interface.

From-SVN: r225430

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:58:30 +0000 (07:58 +0000)]
gcc/
* target-insns.def (allocate_stack, check_stack, probe_stack)
(probe_stack_address, split_stack_prologue, split_stack_space_check):
New targetm instruction patterns.
* explow.c (allocate_dynamic_stack_space): Use them instead of
HAVE_*/gen_* interface.
(emit_stack_probe): Likewise.
(probe_stack_range): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.

From-SVN: r225429

9 years agotarget-insns.def (stack_protect_set, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 07:56:45 +0000 (07:56 +0000)]
target-insns.def (stack_protect_set, [...]): New targetm instruction patterns.

gcc/
* target-insns.def (stack_protect_set, stack_protect_test): New
targetm instruction patterns.
* cfgexpand.c (stack_protect_prologue): Use them instead of
HAVE_*/gen_* interface.
* function.c (stack_protect_epilogue): Likewise.

From-SVN: r225428

9 years agoexpr.h (gen_move_insn_uncast): Delete.
Richard Sandiford [Sun, 5 Jul 2015 07:55:03 +0000 (07:55 +0000)]
expr.h (gen_move_insn_uncast): Delete.

gcc/
* expr.h (gen_move_insn_uncast): Delete.
* expr.c (gen_move_insn_uncast): Delete.

From-SVN: r225427

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:52:32 +0000 (07:52 +0000)]
gcc/
* target-insns.def (restore_stack_block, restore_stack_function)
(restore_stack_nonlocal, save_stack_block, save_stack_function)
(save_stack_nonlocal): New targetm instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
* explow.c (emit_stack_save, emit_stack_restore): Likewise.

From-SVN: r225426

9 years agotarget-insns.def (trap): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:51:07 +0000 (07:51 +0000)]
target-insns.def (trap): New targetm instruction pattern.

gcc/
* target-insns.def (trap): New targetm instruction pattern.
* builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
interface.
* explow.c (allocate_dynamic_stack_space): Likewise.
* ifcvt.c (find_if_header): Likewise.

From-SVN: r225425

9 years agotarget-insns.def (prefetch): New targetm instruction pattern.
Richard Sandiford [Sun, 5 Jul 2015 07:50:31 +0000 (07:50 +0000)]
target-insns.def (prefetch): New targetm instruction pattern.

gcc/
* target-insns.def (prefetch): New targetm instruction pattern.
* tree-ssa-loop-prefetch.c: Include targeth.
(tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
of HAVE_*/gen_* interface.
* builtins.c (expand_builtin_prefetch): Likewise.
* toplev.c (process_options): Likewise.

From-SVN: r225424

9 years agotarget-insns.def (untyped_call, [...]): New targetm instruction patterns.
Richard Sandiford [Sun, 5 Jul 2015 07:49:16 +0000 (07:49 +0000)]
target-insns.def (untyped_call, [...]): New targetm instruction patterns.

gcc/
* target-insns.def (untyped_call, untyped_return): New targetm
instruction patterns.
* builtins.c (expand_builtin_apply): Use them instead of
HAVE_*/gen_* interface.
(result_vector): Define unconditionally.

From-SVN: r225423

9 years agogcc/
Richard Sandiford [Sun, 5 Jul 2015 07:48:04 +0000 (07:48 +0000)]
gcc/
* target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
(builtin_setjmp_setup, exception_receiver, nonlocal_goto)
(nonlocal_goto_receiver): New targetm instruction patterns.
* builtins.c (expand_builtin_setjmp_setup): Use them instead
of HAVE_*/gen_* interface.
(expand_builtin_setjmp_receiver): Likewise.
(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
* except.c (expand_dw2_landing_pad_for_region): Likewise.

From-SVN: r225422

9 years agotarget.def: Add code_for_* hooks.
Richard Sandiford [Sun, 5 Jul 2015 07:44:45 +0000 (07:44 +0000)]
target.def: Add code_for_* hooks.

gcc/
* target.def: Add code_for_* hooks.
* gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
* defaults.h (HAVE_tablejump, gen_tablejump): Delete.
* target-insns.def (casesi, tablejump): New targetm instruction
patterns.
* expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
(do_tablejump): Likewise.
* stmt.c (expand_switch_as_decision_tree_p): Likewise.
(expand_sjlj_dispatch_table): Likewise.
* targhooks.c (default_case_values_threshold): Likewise.

From-SVN: r225421

9 years agonios2.c (save_reg, [...]): Use plus_constant.
Sandra Loosemore [Sun, 5 Jul 2015 02:56:18 +0000 (22:56 -0400)]
nios2.c (save_reg, [...]): Use plus_constant.

2015-07-04  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
Use rtx_insn * instead of rtx.
(nios2_emit_add_constant): Use rtx_insn * instead of rtx.
(nios2_expand_prologue, nios2_expand_epilogue): Likewise.
(nios2_call_tls_get_addr): Likewise.
(nios2_emit_expensive_div): Likewise.
(nios2_emit_move_sequence): Change return type to bool.
* config/nios2/nios2-protos.h (nios2_emit_move_sequence):
Change return type to bool.

From-SVN: r225420

9 years agoDaily bump.
GCC Administrator [Sun, 5 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225419

9 years agore PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux...
Bernd Edlinger [Sat, 4 Jul 2015 19:02:18 +0000 (19:02 +0000)]
re PR target/66747 (The commit r225260 broke the builds of the mips-{mti,img}-linux-gnu tool chains.)

2015-07-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR target/66747
        * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.

From-SVN: r225416

9 years ago[multiple changes]
Steven G. Kargl [Sat, 4 Jul 2015 15:37:04 +0000 (15:37 +0000)]
[multiple changes]

2015-07-04  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66725
* io.c (is_char_type): New function to test for BT_CHARACTER
(gfc_match_open, gfc_match_close, match_dt_element): Use it.

2015-07-03  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66725
* gfortran.dg/pr66725.f90: New test.

From-SVN: r225415

9 years agore PR target/66114 (some indirect_jump patterns use operands[] in their condition...
John David Anglin [Sat, 4 Jul 2015 13:42:55 +0000 (13:42 +0000)]
re PR target/66114 (some indirect_jump patterns use operands[] in their condition when they shouldn't)

PR target/66114
* config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
of register_operand.  Remove constraint.

From-SVN: r225412

9 years agotree-cfg.c (verify_gimple_assign_ternary): Check the first argument.
Marc Glisse [Sat, 4 Jul 2015 11:15:33 +0000 (13:15 +0200)]
tree-cfg.c (verify_gimple_assign_ternary): Check the first argument.

2015-07-04  Marc Glisse  <marc.glisse@inria.fr>

* tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
the first argument.

From-SVN: r225411

9 years agoDaily bump.
GCC Administrator [Sat, 4 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225409

9 years agoattribs.c (decl_attributes): Guard inform with the return value of the preceding...
Paolo Carlini [Fri, 3 Jul 2015 18:56:40 +0000 (18:56 +0000)]
attribs.c (decl_attributes): Guard inform with the return value of the preceding warning.

2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

* attribs.c (decl_attributes): Guard inform with the return value
of the preceding warning.

From-SVN: r225402

9 years agore PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))
Carlos Sánchez de La Lama [Fri, 3 Jul 2015 17:28:43 +0000 (17:28 +0000)]
re PR libitm/52482 (libitm INVALID MNEMONIC in .S (powerpc asm))

2015-07-03  Carlos Sánchez de La Lama  <csanchezdll@gmail.com>

PR target/52482
* config/powerpc/sjlj.S: Port to Xcode 2.5.

From-SVN: r225388

9 years ago[Patch docs obvious AArch64] Fix position of -moverride documentation
James Greenhalgh [Fri, 3 Jul 2015 14:49:05 +0000 (14:49 +0000)]
[Patch docs obvious AArch64] Fix position of -moverride documentation

gcc/

* doc/invoke.texi (moverride): Move to correct section.

From-SVN: r225384

9 years agowide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.
Jason Merrill [Fri, 3 Jul 2015 14:42:21 +0000 (10:42 -0400)]
wide-int_plugin.c (test_double_int_round_udiv): Avoid narrowing error.

* gcc.dg/plugin/wide-int_plugin.c (test_double_int_round_udiv):
Avoid narrowing error.

From-SVN: r225383

9 years agore PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))
Segher Boessenkool [Fri, 3 Jul 2015 14:37:26 +0000 (16:37 +0200)]
re PR rtl-optimization/66706 (Redundant bitmask instruction on x >> (n & 32))

PR rtl-optimization/66706
* gcc.target/powerpc/shift-int.c: New testcase.

From-SVN: r225382

9 years agostatus_cxx2017.xml: Update status table.
Jonathan Wakely [Fri, 3 Jul 2015 14:08:48 +0000 (15:08 +0100)]
status_cxx2017.xml: Update status table.

* doc/xml/manual/status_cxx2017.xml: Update status table.
* doc/html/manual/*: Regenerate.

From-SVN: r225380

9 years agoImplement std::experimental::fundamentals_v2::propagate_const.
Ville Voutilainen [Fri, 3 Jul 2015 14:08:37 +0000 (17:08 +0300)]
Implement std::experimental::fundamentals_v2::propagate_const.

2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement std::experimental::fundamentals_v2::propagate_const.
* include/Makefile.am: Add propagate_const.
* include/Makefile.in: Regenerate.
* include/experimental/propagate_const: New.
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
Likewise.
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.

From-SVN: r225379

9 years agogenmatch.c (commutative_tree_code, [...]): Copy from tree.c
Richard Biener [Fri, 3 Jul 2015 13:46:34 +0000 (13:46 +0000)]
genmatch.c (commutative_tree_code, [...]): Copy from tree.c

2015-07-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
Copy from tree.c
(dt_operand::gen_gimple_expr): After valueizing operands
re-canonicalize operand order for commutative tree codes.

From-SVN: r225378

9 years agoAdd the missing file
H.J. Lu [Fri, 3 Jul 2015 13:08:35 +0000 (06:08 -0700)]
Add the missing file

From-SVN: r225377

9 years agoAdd IA MCU support to x86intrin.h
H.J. Lu [Fri, 3 Jul 2015 12:25:10 +0000 (12:25 +0000)]
Add IA MCU support to x86intrin.h

x86intrin.h has useful intrinsics for instructions for IA MCU.  This
patch adds __iamcu__ check to x86intrin.h and ia32intrin.h.

gcc/

PR target/66746.
* config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
is defined.
(__crc32w): Likewise.
(__crc32d): Likewise.
(__rdpmc): Likewise.
(__rdtscp): Likewise.
(_rdpmc): Likewise.
(_rdtscp): Likewise.
* config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
is defined.

gcc/testsuite/

PR target/66746.
* gcc.target/i386/pr66746.c: New file.

From-SVN: r225376

9 years agofold-const.c (fold_mathfn_compare): Remove.
Richard Biener [Fri, 3 Jul 2015 12:02:35 +0000 (12:02 +0000)]
fold-const.c (fold_mathfn_compare): Remove.

2015-07-03  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_mathfn_compare): Remove.
(fold_inf_compare): Likewise.
(fold_comparison): Move floating point comparison simplifications...
* match.pd: ... to patterns here.  Introduce simple_comparisons
operator list and use it for patterns formerly in fold_comparison.

From-SVN: r225375

9 years agovget_lane.c: New testcase.
Christophe Lyon [Fri, 3 Jul 2015 10:52:03 +0000 (10:52 +0000)]
vget_lane.c: New testcase.

2015-07-03  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: New testcase.

From-SVN: r225374

9 years ago2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Fri, 3 Jul 2015 09:42:52 +0000 (09:42 +0000)]
2015-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix component of my last ChangeLog entries.

From-SVN: r225371

9 years ago[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
James Greenhalgh [Fri, 3 Jul 2015 09:25:54 +0000 (09:25 +0000)]
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA

gcc/

PR tree-optimization/66119
* toplev.c (process_options): Don't set up default values for
the sra_max_scalarization_size_{speed,size} parameters.
* tree-sra (analyze_all_variable_accesses): If no values
have been set for the sra_max_scalarization_size_{speed,size}
parameters, call get_move_ratio to get target defaults.

gcc/testsuite/

PR tree-optimization/66119
* g++.dg/opt/pr66119.C: New.

From-SVN: r225369

9 years agofold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
Richard Biener [Fri, 3 Jul 2015 07:55:10 +0000 (07:55 +0000)]
fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...

2015-07-03  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
* match.pd: ... here.

From-SVN: r225368