1. 17 Oct, 2014 8 commits
    • Fix misplaced changelog entry · 1bc4a978
      From-SVN: r216366
      Markus Trippelsdorf committed
    • Use fuse-caller-save info in cprop-hardreg · 8d696651
      2014-10-17  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/61605
      	* regcprop.c (copyprop_hardreg_forward_1): Use
      	regs_invalidated_by_this_call instead of regs_invalidated_by_call.
      
      	* gcc.target/i386/fuse-caller-save.c: Update addition check.  Add movl
      	absence check.
      
      From-SVN: r216365
      Tom de Vries committed
    • Handle copy cycles in pass_cprop_hardreg · 8c8fe663
      2014-10-17  Tom de Vries  <tom@codesourcery.com>
      
      	PR rtl-optimization/61605
      	* regcprop.c (copyprop_hardreg_forward_1): Add copy_p and noop_p.  Don't
      	notice stores for noops.  Don't regard noops as copies.
      
      From-SVN: r216364
      Tom de Vries committed
    • * Add missing ChangeLog entry. · 5dad1619
      From-SVN: r216363
      Uros Bizjak committed
    • cpuid.h (__cpuid): Remove definitions that handle %ebx register in a special way. · 02147868
      	* config/i386/cpuid.h (__cpuid): Remove definitions that handle %ebx
      	register in a special way.
      	(__cpuid_count): Ditto.
      	* config/i386/driver-i386.h: Protect with
      	"#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))".
      	(host_detect_local_cpu): Mention that GCC with non-fixed %ebx
      	is required to compile the function.
      
      From-SVN: r216362
      Uros Bizjak committed
    • Fix pr61848, linux kernel miscompile · 5fcffe51
      This patch cures the linux kernel boot failure when compiled using
      trunk gcc.
      
      At its heart, the problem is caused by merge_decls merging from the
      old decl to the new decl, then copying back to the old decl and
      discarding the new.  When Jan moved some fields to the symtab,
      "copying back to the old decl" was lost for those fields.  Really,
      it would be best if merge_decls was rewritten to merge everything to
      the kept decl, but here I'm just doing that for fields accessed via
      decl_with_vis.symtab_node.
      
      2014-10-17  Alan Modra  <amodra@gmail.com>
      
      gcc/c/
      	PR middle-end/61848
      	* c-decl.c (merge_decls): Don't merge section name or tls model
      	to newdecl symtab node, instead merge to olddecl.  Override
      	existing olddecl section name.  Set tls_model for all thread-local
      	vars, not just OMP thread-private ones.  Remove incorrect comment.
      gcc/cp/
      	PR middle-end/61848
      	* decl.c (merge_decls): Don't merge section name, comdat group or
      	tls model to newdecl symtab node, instead merge to olddecl.
      	Override existing olddecl section name.  Set tls_model for all
      	thread-local vars, not just OMP thread-private ones.  Remove
      	incorrect comment.
      
      2014-10-17  Markus Trippelsdorf  <markus@trippelsdorf.de>
      
      	PR middle-end/61848
      	* g++.dg/torture/pr61848.C: New testcase.
      	* gcc.c-torture/compile/pr61848.c: New testcase.
      
      From-SVN: r216361
      Markus Trippelsdorf committed
    • Daily bump. · d6db0df5
      From-SVN: r216358
      GCC Administrator committed
    • configure: Quote some shell variables. · 204b9fc2
      From Dominik Vogt.
      
      From-SVN: r216355
      Ian Lance Taylor committed
  2. 16 Oct, 2014 32 commits
    • runtime: Don't create threads with a small stack. · 6c4ee063
      We want to create goroutines with a small stack, at least on
      systems where split stacks are supported.  We don't need to
      create threads with a small stack.
      
      From-SVN: r216353
      Ian Lance Taylor committed
    • cmpstr.c: Fix excess failures caused by switch to GNU11. · e4c6530e
      gcc/testsuite/
      	* gcc.target/sh/cmpstr.c: Fix excess failures caused by switch to GNU11.
      	* gcc.target/sh/strlen.c: Likewise.
      	* gcc.target/sh/pr51244-13.c: Likewise.
      	* gcc.target/sh/cmpstrn.c: Likewise.
      	* gcc.target/sh/hiconst.c: Likewise.
      	* gcc.target/sh/pr43417.c: Likewise.
      
      From-SVN: r216351
      Oleg Endo committed
    • lto-object.c (lto_obj_begin_section): In the event that pointer sizes aren't powers of two... · 957f47e6
      * lto-object.c (lto_obj_begin_section): In the event that pointer
      sizes aren't powers of two, choose a more suitable alignment
      than (unsigned)(-1).
      
      From-SVN: r216350
      DJ Delorie committed
    • flag-types.h (sanitize_code): Don't assume targets have 32-bit integers. · 8c0f0118
      * flag-types.h (sanitize_code): Don't assume targets have 32-bit
      integers.
      
      From-SVN: r216349
      DJ Delorie committed
    • rs6000-c.c (rid_int128): New. · 92d0307d
      * config/rs6000/rs6000-c.c (rid_int128): New.
      (rs6000_macro_to_expand): Use instead of RID_INT128.
      
      From-SVN: r216348
      DJ Delorie committed
    • compiler: Method names must be non-blank. · 299874d5
      Fixes issue 8078.
      
      From-SVN: r216347
      Ian Lance Taylor committed
    • compiler: Don't record interface types with blank type names. · ada24741
      Fixes issue 8079.
      
      From-SVN: r216343
      Ian Lance Taylor committed
    • compiler: Check for initialization cycles in bound method expressions. · f6e31dff
      Fixes issue 7961.
      
      From-SVN: r216342
      Ian Lance Taylor committed
    • re PR go/63560 (__go_set_defer_retaddr shouldn't be split by IPA split) · 960224c3
      	PR go/63560
      compiler: Mark functions that call defer_retaddr as not inlinable.
      
      This is to that the GCC middle-end won't split them.  See
      http://gcc.gnu.org/PR63560.
      
      From-SVN: r216341
      Ian Lance Taylor committed
    • compiler: Parse receiver as a single parameter. · 01e4aece
      Fixes issue 8288.
      
      From-SVN: r216340
      Ian Lance Taylor committed
    • IPA ICF fallout: fox for libasan and pr43077-1.c · d13fc1ed
      	* gcc.dg/guality/pr43077-1.c: IPA ICF disabled
      	to match defined expectations.
      
      	* asan/Makefile.am: IPA ICF pass is disabled.
      	* asan/Makefile.in: Likewise.
      
      From-SVN: r216339
      Martin Liska committed
    • function.h: Flatten file. · 83685514
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* function.h: Flatten file.  Remove includes, adjust prototypes to 
      	reflect only what is in function.h.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Relocate
      	from expr.h.
      	(ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Relocate from rtl.h.
      	(optimize_function_for_size_p, optimize_function_for_speed_p): Move
      	prototypes to predict.h.
      	(init_varasm_status): Move prototype to varasm.h.
      	* expr.h: Adjust include files.
      	(enum direction, struct args_size, struct locate_and_pad_arg_data,
      	ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE, ARGS_SIZE_RTX): Move
      	to function.h.
      	(locate_and_pad_parm): Move prototype to function.h.
      	* rtl.h: (assign_stack_local, ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD,
      	assign_stack_local_1, assign_stack_temp, assign_stack_temp_for_type,
      	assign_temp, reposition_prologue_and_epilogue_notes,
      	prologue_epilogue_contains, sibcall_epilogue_contains,
      	update_temp_slot_address, maybe_copy_prologue_epilogue_insn,
      	set_return_jump_label): Move prototypes to function.h.
      	* predict.h (optimize_function_for_size_p,
      	optimize_function_for_speed_p): Relocate prototypes from function.h.
      	* shrink-wrap.h (emit_return_into_block, active_insn_between,
      	convert_jumps_to_returns, emit_return_for_exit): Move prototypes to
      	function.h.
      	* varasm.h (init_varasm_status): Relocate prototype from function.h.
      	* genattrtab.c (write_header): Add predict.h to include list.
      	* genconditions.c (write_header): Add predict.h to include list.
      	* genemit.c (main): Adjust header file includes.
      	* gengtype.c (ifiles): Add flattened function.h header files.
      	* genoutput.c (output_prologue): Add predict.h to include list.
      	* genpreds.c (write_insn_preds_c): Adjust header file includes.
      	* genrecog.c (write_header): Add flattened function.h header files.
      	* alias.c: Adjust include files.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbxout.c: Likewise.
      	* ddg.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dojump.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* explow.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* function.c: Likewise.
      	* gcse.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-streamer.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lcm.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-coalesce.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* passes.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regrename.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* statistics.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* symtab.c: Likewise.
      	* targhooks.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree.c: Likewise.
      	* tsan.c: Likewise.
      	* valtrack.c: Likewise.
      	* varasm.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* testsuite/g++.dg/plugin/pragma_plugin.c: Adjust include files.
      	* config/aarch64/aarch64.c: Add flattened includes from function.h.
      	* config/alpha/alpha.c: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/avr/avr-log.c: Likewise.
      	* config/avr/avr.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/cr16/cr16.c: Likewise.
      	* config/cris/cris.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/epiphany/epiphany.c: Likewise.
      	* config/epiphany/mode-switch-use.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      	* config/fr30/fr30.c: Likewise.
      	* config/frv/frv.c: Likewise.
      	* config/h8300/h8300.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/iq2000/iq2000.c: Likewise.
      	* config/lm32/lm32.c: Likewise.
      	* config/m32c/m32c.c: Likewise.
      	* config/m32r/m32r.c: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.c: Likewise.
      	* config/mep/mep-pragma.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/microblaze/microblaze.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/mmix/mmix.c: Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/moxie/moxie.c: Likewise.
      	* config/msp430/msp430.c: Likewise.
      	* config/nds32/nds32-cost.c: Likewise.
      	* config/nds32/nds32-fp-as-gp.c: Likewise.
      	* config/nds32/nds32-intrinsic.c: Likewise.
      	* config/nds32/nds32-isr.c: Likewise.
      	* config/nds32/nds32-md-auxiliary.c: Likewise.
      	* config/nds32/nds32-memory-manipulation.c: Likewise.
      	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
      	* config/nds32/nds32-predicates.c: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nios2/nios2.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/pdp11/pdp11.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/score/score.c: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sparc/sparc.c: Likewise.
      	* config/spu/spu.c: Likewise.
      	* config/stormy16/stormy16.c: Likewise.
      	* config/tilegx/tilegx.c: Likewise.
      	* config/tilepro/tilepro.c: Likewise.
      	* config/v850/v850.c: Likewise.
      	* config/vax/vax.c: Likewise.
      	* config/xtensa/xtensa.c: Likewise.
      
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* ada/gcc-interface/misc.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c/c-decl.c: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-pragma.c: Adjust include files.
      	* c-family/c-semantics.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* cp/cp-tree.h: Adjust include files.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* fortran/f95-lang.c: Adjust include files.
      	* fortran/trans-decl.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/class.c: Adjust include files.
      	* java/resource.c: Likewise.
      
      2014-10-16  Andrew MacLeod  <amacleod@redhat.com>
      
      	* objc/objc-act.c: Adjust include files.
      
      From-SVN: r216337
      Andrew MacLeod committed
    • aarch64.c (aarch64_legitimize_address): New function. · 0c4ec427
      	* config/aarch64/aarch64.c (aarch64_legitimize_address): New function.
      	(TARGET_LEGITIMIZE_ADDRESS): Redefine.
      
      From-SVN: r216336
      Richard Earnshaw committed
    • IPA ICF fallout: fix for two ipa-icf-*.C tests · 29fe1a72
      	* g++.dg/ipa/ipa-icf-4.C: Correct number of equivalences set.
      	* g++.dg/ipa/ipa-icf-5.C: Likewise
      
      From-SVN: r216335
      Martin Liska committed
    • sh-protos.h (fldi_ok): Remove. · ddfe2bdb
      gcc/
      	* config/sh/sh-protos.h (fldi_ok): Remove.
      	* config/sh/sh.c (fldi_ok): Likewise.
      	(sh_secondary_reload): Don't use fldi_ok.
      	* config/sh/constraints.md (G constraint, H constraint): Don't use
      	fldi_ok.
      
      From-SVN: r216320
      Oleg Endo committed
    • IPA ICF fallout: i586 bootstrap failure fix · 10568163
      	* ipa-icf.c (sem_item_optimizer::process_cong_reduction):
      	Cast to unsigned long.
      	(sem_item_optimizer::dump_cong_classes): Likewise.
      
      From-SVN: r216319
      Martin Liska committed
    • Assert no use with SSA_NAME_IN_FREELIST before using freelist. · 90ad8d00
      2014-10-16  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-into-ssa.c (update_ssa): Assert that there's no ssa use operand
      	with SSA_NAME_IN_FREELIST.
      
      From-SVN: r216318
      Tom de Vries committed
    • re PR target/63260 ([SH] fabs, fneg do not need fp-mode setting and do not use fpscr) · f6d2e222
      gcc/testsuite/
      	PR target/63260
      	* gcc.target/sh/pr63260.c: Fix typo __builtin_fabs vs. __builtin_abs.
      
      From-SVN: r216317
      Oleg Endo committed
    • re PR c/63554 (ice in "execute_todo, at passes.c:1797" with -O3) · 745583f9
      2014-10-16  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/63554
      	* builtins.c (fold_builtin_4): Do not call fold_builtin_strncat_chk.
      	(fold_builtin_strncat_chk): Move ...
      	* gimple-fold.c (gimple_fold_builtin_strncat_chk): ... here.
      	(gimple_fold_builtin): Call gimple_fold_builtin_strncat_chk.
      
      	* gcc.dg/torture/pr63554.c: New testcase.
      
      From-SVN: r216315
      Richard Biener committed
    • re PR target/59401 ([SH] GBR addressing mode optimization produces wrong code) · b7359edc
      gcc/
      	PR target/59401
      	* config/sh/sh.h (CALL_REALLY_USED_REGISTERS): Expand macro and set
      	GBR to 0.
      
      From-SVN: r216314
      Oleg Endo committed
    • pr58673-1.c: Fix defaulting to int. · 6c0975ac
      	* gcc.target/powerpc/pr58673-1.c: Fix defaulting to int.
      	* gcc.target/powerpc/pr58673-2.c: Add declarations.
      
      From-SVN: r216313
      Marek Polacek committed
    • id-1.c: Fix defaulting to int. · 66346a05
      	* gcc.dg/graphite/id-1.c: Fix defaulting to int.
      	* gcc.dg/graphite/id-2.c: Likewise.
      	* gcc.dg/graphite/id-4.c: Likewise.
      	* gcc.dg/graphite/id-8.c: Likewise.
      	* gcc.dg/graphite/id-pr45230-1.c: Likewise.
      	* gcc.dg/graphite/id-pr45230.c: Likewise.
      	* gcc.dg/graphite/id-pr45231.c: Likewise.
      	* gcc.dg/graphite/pr38073.c: Likewise.
      	* gcc.dg/graphite/pr38125.c: Likewise.
      	* gcc.dg/graphite/pr38409.c: Likewise.
      	* gcc.dg/graphite/pr38413.c: Likewise.
      	* gcc.dg/graphite/pr38510.c: Likewise.
      	* gcc.dg/graphite/pr38786.c: Likewise.
      	* gcc.dg/graphite/pr39260.c: Likewise.
      	* gcc.dg/graphite/scop-19.c: Likewise.
      	* gcc.dg/graphite/id-13.c: Fix implicit declarations.
      	* gcc.dg/graphite/id-17.c: Likewise.
      	* gcc.dg/graphite/id-23.c: Likewise.
      	* gcc.dg/graphite/id-26.c: Likewise.
      	* gcc.dg/graphite/id-pr43464-1.c: Likewise.
      	* gcc.dg/graphite/pr37485.c: Likewise.
      	* gcc.dg/graphite/pr38500.c: Likewise.
      	* gcc.dg/graphite/pr42284.c: Likewise.
      	* gcc.dg/graphite/pr42914.c: Likewise.
      	* gcc.dg/graphite/pr46404-1.c: Likewise.
      	* gcc.dg/graphite/pr60979.c: Likewise.
      	* gcc.dg/graphite/id-pr43464.c: Fix implicit declarations and
      	defaulting to int.
      
      From-SVN: r216312
      Marek Polacek committed
    • AVX-512. 79/n. Extend expand_mul_widen_hilo. · 4b88cc6b
      gcc/
      	* config/i386/i386.c (ix86_expand_mul_widen_hilo): Handle V32HI, V16SI,
      	V64QI modes.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r216311
      Alexander Ivchenko committed
    • AVX-512. 78/n. Use blend for inserting. · f40b39a3
      gcc/
      	* config/i386/i386.c (ix86_expand_vector_set): Handle V8DF, V8DI, V16SF,
      	V16SI, V32HI, V64QI modes.
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r216310
      Alexander Ivchenko committed
    • IPA ICF pass, part 5/5 · 6fba99cf
              * g++.dg/ipa/ipa-icf-1.C: New test.
      	* g++.dg/ipa/ipa-icf-2.C: New test.
      	* g++.dg/ipa/ipa-icf-3.C: New test.
      	* g++.dg/ipa/ipa-icf-4.C: New test.
      	* g++.dg/ipa/ipa-icf-5.C: New test.
      	* gcc.dg/ipa/ipa-icf-1.c: New test.
      	* gcc.dg/ipa/ipa-icf-10.c: New test.
      	* gcc.dg/ipa/ipa-icf-11.c: New test.
      	* gcc.dg/ipa/ipa-icf-12.c: New test.
      	* gcc.dg/ipa/ipa-icf-13.c: New test.
      	* gcc.dg/ipa/ipa-icf-14.c: New test.
      	* gcc.dg/ipa/ipa-icf-15.c: New test.
      	* gcc.dg/ipa/ipa-icf-16.c: New test.
      	* gcc.dg/ipa/ipa-icf-17.c: New test.
      	* gcc.dg/ipa/ipa-icf-18.c: New test.
      	* gcc.dg/ipa/ipa-icf-19.c: New test.
      	* gcc.dg/ipa/ipa-icf-2.c: New test.
      	* gcc.dg/ipa/ipa-icf-20.c: New test.
      	* gcc.dg/ipa/ipa-icf-21.c: New test.
      	* gcc.dg/ipa/ipa-icf-22.c: New test.
      	* gcc.dg/ipa/ipa-icf-23.c: New test.
      	* gcc.dg/ipa/ipa-icf-24.c: New test.
      	* gcc.dg/ipa/ipa-icf-25.c: New test.
      	* gcc.dg/ipa/ipa-icf-26.c: New test.
      	* gcc.dg/ipa/ipa-icf-27.c: New test.
      	* gcc.dg/ipa/ipa-icf-28.c: New test.
      	* gcc.dg/ipa/ipa-icf-29.c: New test.
      	* gcc.dg/ipa/ipa-icf-3.c: New test.
      	* gcc.dg/ipa/ipa-icf-30.c: New test.
      	* gcc.dg/ipa/ipa-icf-4.c: New test.
      	* gcc.dg/ipa/ipa-icf-5.c: New test.
      	* gcc.dg/ipa/ipa-icf-6.c: New test.
      	* gcc.dg/ipa/ipa-icf-7.c: New test.
      	* gcc.dg/ipa/ipa-icf-8.c: New test.
      	* gcc.dg/ipa/ipa-icf-9.c: New test.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      
      From-SVN: r216308
      Martin Liska committed
    • re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support) · 3a2317d1
      gcc/
      	PR target/53513
      	* config/sh/sh-protos.h (emit_sf_insn, emit_df_insn, expand_sf_unop,
      	expand_sf_binop, expand_df_unop, expand_df_binop): Remove.
      
      	* config/sh/sh.c (sh_emit_set_t_insn): Adjust generated insn pattern
      	to match fp insn patterns.
      	(calc_live_regs): Add FPSCR_MODES_REG and FPSCR_STAT_REG to the ignore
      	list.
      	(emit_sf_insn, emit_df_insn, expand_sf_unop, expand_sf_binop,
      	expand_df_unop, expand_df_binop): Remove.
      	(sh_conditional_register_usage): Mark FPSCR_MODES_REG and
      	FPSCR_STAT_REG as not call clobbered.
      	(sh_emit_mode_set): Emit fpscr store-modify-load sequence instead of
      	invoking fpscr_set_from_mem.
      
      	* config/sh/sh.h (MAX_REGISTER_NAME_LENGTH): Increase to 6.
      	(SH_REGISTER_NAMES_INITIALIZER): Add names for FPSCR_MODES_REG and
      	FPSCR_STAT_REG.
      	(REGISTER_NAMES): Adjust.
      	(SPECIAL_REGISTER_P): Add FPSCR_MODES_REG and FPSCR_STAT_REG.
      	(FIRST_PSEUDO_REGISTER): Increase to 156.
      	(DWARF_FRAME_REGISTERS): Define as 153 to keep the original value.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add FPSCR_MODES_REG and
      	FPSCR_STAT_REG.
      	(REG_CLASS_CONTENTS): Adjust ALL_REGS bit mask to include
      	FPSCR_MODES_REG and FPSCR_STAT_REG.
      	(REG_ALLOC_ORDER): Add FPSCR_MODES_REG and FPSCR_STAT_REG.
      
      	* config/sh/sh.md (FPSCR_MODES_REG, FPSCR_STAT_REG, FPSCR_PR,
      	FPSCR_SZ): Add new constants.
      	(UNSPECV_FPSCR_MODES, UNSPECV_FPSCR_STAT): Add new unspecv constants.
      
      	(movpsi): Use TARGET_FPU_ANY condition, invoke gen_fpu_switch.
      	(fpu_switch): Add use and set of FPSCR_STAT_REG and FPSCR_MODES_REG.
      	Use TARGET_FPU_ANY condition.
      	(fpu_switch peephole2): Remove.
      	(fpu_switch split): Use simple_mem_operand to capture the mem and
      	adjust split implementation.
      	(extend_psi_si, truncate_si_psi): New insns.
      	(toggle_sz, toggle_pr): Use FPSCR_SZ, FPSCR_PR constants.  Add
      	set of FPSCR_MODES_REG.
      
      	(push_e, push_4, pop_e, pop_4, movdf_i4, reload_indf__frn, movsf_ie,
      	reload_insf__frn, force_mode_for_call, calli, calli_tbr_rel,
      	calli_pcrel, call_pcrel, call_compact, call_compact_rettramp,
      	call_valuei, call_valuei_tbr_rel, call_valuei_pcrel, call_value_pcrel,
      	call_value_compact, call_value_compact_rettramp, call,
      	call_pop_compact, call_pop_compact_rettramp, call_value, sibcalli,
      	sibcalli_pcrel, sibcalli_thunk, sibcall_pcrel, sibcall_compact,
      	sibcall, sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
      	sibcall_value_compact, sibcall_value, call_value_pop_compact,
      	call_value_pop_compact_rettramp, various unnamed splits):
      	Replace use of FPSCR_REG with use of FPSCR_MODES_REG.  Adjust gen_*
      	function uses.
      
      	(floatsisf2_i4, *floatsisf2_ie): Merge into floatsisf2_i4.
      	(fix_truncsfsi2_i4, *fixsfsi): Merge into fix_truncsfsi2_i4.
      	(cmpgtsf_t, cmpgtsf_t_i4): Merge into cmpgtsf_t.
      	(cmpeqsf_t, cmpeqsf_t_i4): Merge into cmpeqsf_t.
      	(ieee_ccmpeqsf_t, *ieee_ccmpeqsf_t_4): Merge into ieee_ccmpeqsf_t.
      
      	(udivsi3_i4, divsi3_i4, addsf3_i, subsf3_i, mulsf3_i, fmasf4_i,
      	*fmasf4, divsf3_i, floatsisf2_i4, fix_truncsfsi2_i4, cmpgtsf_t,
      	cmpeqsf_t, ieee_ccmpeqsf_t, sqrtsf2_i, rsqrtsf2, fsca, adddf3_i,
      	subdf3_i, muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i,
      	cmpgtdf_t, cmpeqdf_t, *ieee_ccmpeqdf_t, sqrtdf2_i, extendsfdf2_i4,
      	truncdfsf2_i4): Replace use of FPSCR_REG with clobber of FPSCR_STAT_REG
      	and use of FPSCR_MODES_REG.  Adjust gen_* function uses.
      
      gcc/testsuite/
      	PR target/53513
      	* gcc.target/sh/pr54680.c: Adjust matching of lds insn.
      
      From-SVN: r216307
      Oleg Endo committed
    • IPA ICF, part 4/5 · c74459ea
      	* c-c++-common/rotate-1.c: Options changed to not collide
      	with a new IPA ICF pass.
      	* c-c++-common/rotate-2.c: Likewise.
      	* c-c++-common/rotate-3.c: Likewise.
      	* c-c++-common/rotate-4.c: Likewise.
      	* g++.dg/cpp0x/rv-return.C: Likewise.
      	* g++.dg/cpp0x/rv1n.C: Likewise.
      	* g++.dg/cpp0x/rv1p.C: Likewise.
      	* g++.dg/cpp0x/rv2n.C: Likewise.
      	* g++.dg/cpp0x/rv3n.C: Likewise.
      	* g++.dg/cpp0x/rv4n.C: Likewise.
      	* g++.dg/cpp0x/rv5n.C: Likewise.
      	* g++.dg/cpp0x/rv6n.C: Likewise.
      	* g++.dg/cpp0x/rv7n.C: Likewise.
      	* g++.dg/ipa/devirt-g-1.C: Likewise.
      	* g++.dg/ipa/inline-1.C: Likewise.
      	* g++.dg/ipa/inline-2.C: Likewise.
      	* g++.dg/ipa/inline-3.C: Likewise.
      	* g++.dg/opt/pr30965.C: Likewise.
      	* g++.dg/tree-ssa/pr19637.C: Likewise.
      	* gcc.dg/guality/csttest.c: Likewise.
      	* gcc.dg/ipa/iinline-4.c (struct S): Likewise.
      	* gcc.dg/ipa/iinline-7.c: Likewise.
      	* gcc.dg/ipa/ipa-pta-13.c: Likewise.
      	* gcc.dg/ipa/ipacost-1.c: Likewise.
      	* gcc.dg/ipa/ipacost-2.c: Likewise.
      	* gcc.dg/ipa/ipcp-agg-6.c: Likewise.
      	* gcc.dg/ipa/remref-2a.c: Likewise.
      	* gcc.dg/ipa/remref-2b.c: Likewise.
      	* gcc.dg/pr46309-2.c: Likewise.
      	* gcc.dg/torture/ipa-pta-1.c: Likewise.
      	* gcc.dg/tree-ssa/andor-3.c (int f): Likewise.
      	* gcc.dg/tree-ssa/andor-4.c: Likewise.
      	* gcc.dg/tree-ssa/andor-5.c: Likewise.
      	* gcc.dg/vect/no-vfa-pr29145.c: Likewise.
      	* gcc.dg/vect/vect-cond-10.c: Likewise.
      	* gcc.dg/vect/vect-cond-9.c: Likewise.
      	* gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise.
      	* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
      	* gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise.
      	* gcc.target/i386/bmi-1.c: Likewise.
      	* gcc.target/i386/bmi-2.c: Likewise.
      	* gcc.target/i386/pr56564-2.c: Likewise.
      
      From-SVN: r216306
      Martin Liska committed
    • IPA ICF pass, part 3/5 · b84d4347
      	* Makefile.in: New object files included.
      	* cgraph.c (cgraph_node::dump): New cgraph_node flag icf_merged
      	is printed.
      	(verify_edge_corresponds_to_fndecl): More sensitive verification
      	of nodes that are merged by IPA ICF.
      	* cgraph.h (cgraph_node::num_references): New function.
      	* cgraphunit.c (cgraph_node::expand_thunk): White space fixed.
      	* common.opt: New options ipa-icf, ipa-icf-functions and
      	ipa-icf-variables introduced.
      	* doc/invoke.texi: Documentation of new options introduced.
      	* ipa-icf-gimple.c: New file.
      	* ipa-icf-gimple.h: New file.
      	* ipa-icf.c: New file.
      	* ipa-icf.h: New file.
      	* lto-cgraph.c (lto_output_node): Streaming of icf_merged flag added.
      	(input_overwrite_node): Likewise.
      	* lto-section-in.c: New icf section added.
      	* lto-streamer.h (enum lto_section_type): Likewise.
      	* opts.c (common_handle_option): New option added.
      	* passes.def: New pass included.
      	* timevar.def: Time variable for IPA ICF added.
      	* tree-pass.h: New IPA ICF pass entry point added.
      
      
      Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
      
      From-SVN: r216305
      Martin Liska committed
    • re PR tree-optimization/63168 (loop header copying fails - not vectorized: latch block not empty) · 93a95abe
      2014-10-16  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/63168
      	* tree-cfg.c (gimple_can_merge_blocks_p): Only protect
      	latches if after merging they are no longer simple.
      	* cfghooks.c (merge_blocks): Handle merging a latch block
      	into another block.
      
      	* gcc.dg/tree-ssa/loop-40.c: New testcase.
      
      From-SVN: r216304
      Richard Biener committed
    • * gcc.target/m68k/crash1.c: Fix implicit declaration. · 0c49f2ed
      From-SVN: r216303
      Andreas Schwab committed
    • 20090324-1.c: Fix implicit declarations and implicit int. · a6a7f986
      * gcc.target/ia64/20090324-1.c: Fix implicit declarations and
      implicit int.
      * gcc.target/ia64/mfused-madd-vect.c: Likewise.
      * gcc.target/ia64/mno-fused-madd-vect.c: Likewise.
      * gcc.target/ia64/pr29682.c: Likewise.
      * gcc.target/ia64/pr43603.c: Likewise.
      * gcc.target/ia64/pr48496.c: Likewise.
      
      From-SVN: r216302
      Andreas Schwab committed