1. 17 Oct, 2014 13 commits
    • [multiple changes] · a92230c5
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb: Minor reformatting.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Build_Function_Wrapper): Build wrappers for
      	actuals that are defaulted subprograms of the formal subprogram
      	declaration.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Eq): Make sure we deal with the
      	implementation base type.
      	* sinfo.ads: Add a note for N_Op_Eq and N_Op_Ne that record
      	operands are always expanded out into component comparisons.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* s-vallli.adb: Minor comment correction.
      	* s-valuti.ads: Minor comment reformatting.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document System.Atomic_Counters.
      	* impunit.adb: Add System.Atomic_Counters (s-atocou.ads) to the
      	list of user- accessible units added as children of System.
      	* s-atocou.ads: Update comment.
      
      2014-10-17  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-expmod.ads: Add comments.
      
      From-SVN: r216371
      Arnaud Charlet committed
    • sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation of all… · 38d0d6c8
      sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation of all attributes related to pragma...
      
      2014-10-17  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Build_Derived_Record_Type): Remove the propagation
      	of all attributes related to pragma Default_Initial_Condition.
      	(Build_Derived_Type): Propagation of all attributes related
      	to pragma Default_Initial_Condition.
      	(Process_Full_View): Account for the case where the full view derives
      	from another private type and propagate the attributes related
      	to pragma Default_Initial_Condition to the private view.
      	(Propagate_Default_Init_Cond_Attributes): New routine.
      	* sem_util.adb: Alphabetize various routines.
      	(Build_Default_Init_Cond_Call): Use an unchecked type conversion
      	when calling the default initial condition procedure of a private type.
      	(Build_Default_Init_Cond_Procedure_Declaration): Prevent
      	the generation of multiple default initial condition procedures.
      
      From-SVN: r216370
      Hristian Kirtchev committed
    • [multiple changes] · 2211a35f
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb: Refine previous change.
      
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* prj-conf.adb: Revert previous change.
      
      From-SVN: r216369
      Arnaud Charlet committed
    • [multiple changes] · 469fba4a
      2014-10-17  Robert Dewar  <dewar@adacore.com>
      
      	* lib-writ.ads, s-valdec.ads: Minor reformatting.
      
      2014-10-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb: Additional work on function wrappers.
      
      2014-10-17  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_util.adb (Possible_Bit_Aligned_Component): Also recurse
      	on the renamed object of renamings.
      
      2014-10-17  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Parse_Project_And_Apply_Config): In CodePeer
      	mode, always use the native target.
      
      From-SVN: r216368
      Arnaud Charlet committed
    • tree-into-ssa.c (is_old_name): Replace "new" with "old". · c36eadbe
      2014-10-17  Marc Glisse  <marc.glisse@inria.fr>
      
      	* tree-into-ssa.c (is_old_name): Replace "new" with "old".
      
      From-SVN: r216367
      Marc Glisse committed
    • 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 27 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