- 17 Oct, 2014 13 commits
-
-
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 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 -
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 -
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 -
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 -
From-SVN: r216366
Markus Trippelsdorf committed -
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 -
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 -
From-SVN: r216363
Uros Bizjak committed -
* 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 -
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 -
From-SVN: r216358
GCC Administrator committed -
From Dominik Vogt. From-SVN: r216355
Ian Lance Taylor committed
-
- 16 Oct, 2014 27 commits
-
-
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 -
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, 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. From-SVN: r216349
DJ Delorie committed -
* config/rs6000/rs6000-c.c (rid_int128): New. (rs6000_macro_to_expand): Use instead of RID_INT128. From-SVN: r216348
DJ Delorie committed -
Fixes issue 8078. From-SVN: r216347
Ian Lance Taylor committed -
From-SVN: r216345
Ian Lance Taylor committed -
Fixes issue 8079. From-SVN: r216343
Ian Lance Taylor committed -
Fixes issue 7961. From-SVN: r216342
Ian Lance Taylor committed -
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 -
Fixes issue 8288. From-SVN: r216340
Ian Lance Taylor committed -
* 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 -
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 -
* config/aarch64/aarch64.c (aarch64_legitimize_address): New function. (TARGET_LEGITIMIZE_ADDRESS): Redefine. From-SVN: r216336
Richard Earnshaw committed -
* 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 -
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.c (sem_item_optimizer::process_cong_reduction): Cast to unsigned long. (sem_item_optimizer::dump_cong_classes): Likewise. From-SVN: r216319
Martin Liska committed -
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 -
gcc/testsuite/ PR target/63260 * gcc.target/sh/pr63260.c: Fix typo __builtin_fabs vs. __builtin_abs. From-SVN: r216317
Oleg Endo committed -
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 -
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 -
* gcc.target/powerpc/pr58673-1.c: Fix defaulting to int. * gcc.target/powerpc/pr58673-2.c: Add declarations. From-SVN: r216313
Marek Polacek committed -
* 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 -
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 -
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 -
* 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 -
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
-