1. 11 Nov, 2019 13 commits
    • Update link to "Why not LGPL". · cb6b5afe
      	* doc/xml/gnu/gpl-3.0.xml: Adjust link to "Why not LGPL".
      
      From-SVN: r278051
      Gerald Pfeifer committed
    • [vect]Account for epilogue's peeling for gaps when checking if we have enough · 87b47251
      niters for epilogue
      
      gcc/ChangeLog:
      2019-11-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* tree-vect-loop-manip.c (vect_do_peeling): Take epilogue gaps into
      	account when checking if there are enough iterations to vectorize
      	epilogue.
      
      gcc/testsuite/ChangeLog:
      2019-11-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* gcc.dg/vect/vect-reduc-epilogue-gaps.c: New test.
      
      From-SVN: r278049
      Andre Vieira committed
    • PR fortran/92142 - CFI_setpointer corrupts descriptor · 3f246567
      2019-11-11  José Rui Faustino de Sousa  <jrfsousa@gmail.com>
      
              libgfortran/
              PR fortran/92142
              * runtime/ISO_Fortran_binding.c (CFI_setpointer): Don't
              override descriptor attribute; with -fcheck, check that
              it is a pointer.
      
              gcc/testsuite/
              PR fortran/92142
              * gcc/testsuite/gfortran.dg/ISO_Fortran_binding_16.c: New.
              * gcc/testsuite/gfortran.dg/ISO_Fortran_binding_16.f90: New.
              * gcc/testsuite/gfortran.dg/ISO_Fortran_binding_10.c: Correct
              upper bounds for case 0.
      
      From-SVN: r278048
      José Rui Faustino de Sousa committed
    • Fix OpenACC directives nesting in 'gfortran.dg/goacc/common-block-1.f90',… · a5aeee56
      Fix OpenACC directives nesting in 'gfortran.dg/goacc/common-block-1.f90', 'gfortran.dg/goacc/common-block-2.f90'
      
      	gcc/testsuite/
      	* gfortran.dg/goacc/common-block-1.f90: Fix OpenACC directives
      	nesting.
      	* gfortran.dg/goacc/common-block-2.f90: Likewise.
      
      From-SVN: r278047
      Thomas Schwinge committed
    • Fortran] Support absent optional args with use_device_{ptr,addr} · a2c26c50
      2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
                  Kwok Cheung Yeung  <kcy@codesourcery.com>
      
              gcc/
              * langhooks-def.h (LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT):
              Renamed from LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT; update define.
              (LANG_HOOKS_DECLS): Rename also here.
              * langhooks.h (lang_hooks_for_decls): Rename
              omp_is_optional_argument to omp_check_optional_argument; take
              additional bool argument.
              * omp-general.h (omp_check_optional_argument): Likewise.
              * omp-general.h (omp_check_optional_argument): Likewise.
              * omp-low.c (lower_omp_target): Update calls; handle absent
              Fortran optional arguments with USE_DEVICE_ADDR/USE_DEVICE_PTR.
      
              gcc/fortran/
              * trans-expr.c (gfc_conv_expr_present): Check for DECL_ARTIFICIAL
              for the VALUE hidden argument avoiding -fallow-underscore issues.
              * trans-decl.c (create_function_arglist): Also set
              GFC_DECL_OPTIONAL_ARGUMENT for per-value arguments.
              * f95-lang.c (LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT):
              Renamed from LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT; point
              to gfc_omp_check_optional_argument.
              * trans.h (gfc_omp_check_optional_argument): Subsitutes
              gfc_omp_is_optional_argument declaration.
              * trans-openmp.c (gfc_omp_is_optional_argument): Make static.
              (gfc_omp_check_optional_argument): New function.
      
              libgomp/
              * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
              * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
      
      
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      
      From-SVN: r278046
      Tobias Burnus committed
    • Torture testing: 'libgomp.fortran/target9.f90' · bfa1837b
      	libgomp/
      	* testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
      
      From-SVN: r278045
      Thomas Schwinge committed
    • Torture testing: 'libgomp.fortran/use_device_addr-3.f90',… · 6d4868f3
      Torture testing: 'libgomp.fortran/use_device_addr-3.f90', 'libgomp.fortran/use_device_addr-4.f90', 'libgomp.fortran/use_device_ptr-1.f90'
      
      	libgomp/
      	* testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
      	run'.
      	* testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
      	* testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
      
      From-SVN: r278044
      Thomas Schwinge committed
    • [PR87833] x86: Put -fPIC and -shared the last to create offload image · ad65b427
      On x86, since -fPIC and -shared should be used to create offload image,
      we put them the last to properly create offload image.
      
      2019-11-11  H.J. Lu  <hjl.tools@gmail.com>
      
      	PR target/87833
      	* config/i386/intelmic-mkoffload.c (prepare_target_image): Put
      	-fPIC and -shared the last to create offload image.
      
      From-SVN: r278041
      H.J. Lu committed
    • Assert 'offset2' instead of 'offset' in 'gcc/gimplify.c:gimplify_scan_omp_clauses' · d9945c88
      ... to fix a long-time typo/copy'n'past-o.
      
      	gcc/
      	* gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead
      	of 'offset'.
      
      From-SVN: r278038
      Thomas Schwinge committed
    • [build] Properly track GCC language configure fragments · 223bf296
      The 'gcc/configure' script sources all 'gcc/*/config-lang.in' files, but fails
      to emit such dependency information into the build machinery.  That means,
      currently, when something gets changed in a 'gcc/*/config-lang.in' file, this
      is not noticed, and doesn't propagate through the build machinery.
      
      Handling of configure fragments is modelled in the same way as it already
      exists for Makefile fragments.
      
      	gcc/
      	* Makefile.in (LANG_CONFIGUREFRAGS): Define.
      	(config.status): Use/depend on it.
      	* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
      	* configure: Regenerate.
      
      From-SVN: r278035
      Thomas Schwinge committed
    • rs6000: Refine small loop unroll in loop_unroll_adjust hook · 48f65795
      In this patch, loop unroll adjust hook is introduced for powerpc.  We
      can do target related heuristic adjustment in this hook.  In this patch,
      -funroll-loops is enabled for small loops at O2 and above with an option
      -munroll-small-loops to guard the small loops unrolling, and it works
      fine with -flto.
      
      
      gcc/
      2019-11-11  Jiufu Guo  <guojiufu@linux.ibm.com>
      
      	PR tree-optimization/88760
      	* gcc/config/rs6000/rs6000.opt (-munroll-only-small-loops): New option.
      	* gcc/common/config/rs6000/rs6000-common.c
      	(rs6000_option_optimization_table) [OPT_LEVELS_2_PLUS_SPEED_ONLY]:
      	Turn on -funroll-loops and -munroll-only-small-loops.
      	[OPT_LEVELS_ALL]: Turn off -fweb and -frename-registers.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
      	set of PARAM_MAX_UNROLL_TIMES and PARAM_MAX_UNROLLED_INSNS.
      	Turn off -munroll-only-small-loops for explicit -funroll-loops.
      	(TARGET_LOOP_UNROLL_ADJUST): Add loop unroll adjust hook.
      	(rs6000_loop_unroll_adjust): Define it.  Use -munroll-only-small-loops.
      
      gcc.testsuite/
      2019-11-11  Jiufu Guo  <guojiufu@linux.ibm.com>
      
      	PR tree-optimization/88760
      	* gcc.dg/pr59643.c: Update back to r277550.
      
      From-SVN: r278034
      Jiufu Guo committed
    • [rs6000] Make load cost a bit more in vectorization cost · 103cba80
      To align with rs6000_insn_cost costing more for load type insns,
      this patch is to make load insns cost more in vectorization cost
      function.  The latency of load insns is about twice that of
      "simple" instructions; 2 vs. 1 on older cores, and 4 (or so) vs.
      2 on newer cores.  Considering that the result of load usually
      is used somehow later (true-dep) but store won't, we keep the
      store as before.
      
      The SPEC2017 performance evaluation on Power8 shows 525.x264_r
      +9.56%, 511.povray_r +2.08%, 527.cam4_r 1.16% gains, no 
      significant degradation, SPECINT geomean +0.88%, SPECFP geomean
      +0.26%.
      
      The SPEC2017 performance evaluation on Power9 shows no significant
      improvement or degradation, SPECINT geomean +0.04%, SPECFP geomean
      +0.04%.
      
      The SPEC2006 performance evaluation on Power8 shows 454.calculix
      +4.41% gain but 416.gamess -1.19% and 453.povray -3.83% degradation.
      I looked into the two degradation bmks, the degradation were NOT
      due to hotspot changes by vectorization, were all side effects.
      SPECINT geomean +0.10%, SPECFP geomean no changed considering
      the degradation.
      
      gcc/ChangeLog
      
      2019-11-11  Kewen Lin  <linkw@gcc.gnu.org>
      
          * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Make
          scalar_load, vector_load, unaligned_load and vector_gather_load cost
          more to conform hardware latency and insn cost settings.
      
      From-SVN: r278033
      Kewen Lin committed
    • Daily bump. · 4b41bff2
      From-SVN: r278032
      GCC Administrator committed
  2. 10 Nov, 2019 13 commits
    • [Darwin, machopic 11/n] A flag to indicate synbols should be linker-visible. · 34548764
      Some of the solution to PR71767 is incomplete, and we need finer-grained
      control over whether symbols need to be made linker-visible.  This is a
      preparation patch, providing the flag.
      
      gcc/ChangeLog:
      
      2019-11-10  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.h (MACHO_SYMBOL_FLAG_LINKER_VIS): New.
      	(MACHO_SYMBOL_LINKER_VIS_P): New.
      
      From-SVN: r278028
      Iain Sandoe committed
    • Don't print warning when moving to static with -fno-automatic · 15471d58
      As part of PR 91413, GFortran now prints a warning when a variable is
      moved from the stack to static storage. However, when the user
      explicitly specifies that all local variables should be put in static
      storage with the -fno-automatic option, don't print this warning.
      
      Regtested on x86_64-pc-linux-gnu, committed as obvious.
      
      gcc/fortran/ChangeLog:
      
      2019-11-10  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/91413
      	* trans-decl.c (gfc_finish_var_decl): Don't print warning when
      	-fno-automatic is enabled.
      
      From-SVN: r278027
      Janne Blomqvist committed
    • Implement D1957R0, T* to bool should be considered narrowing. · 2806ecbd
      This paper was delayed until the February meeting in Prague so that we could
      get a better idea of what the impact on existing code would actually be.  To
      that end, I'm implementing it now.
      
      	* typeck2.c (check_narrowing): Treat pointer->bool as a narrowing
      	conversion with -std=c++2a.
      
      From-SVN: r278026
      Jason Merrill committed
    • re PR fortran/92123 ([F2018/array-descriptor] Scalar allocatable/pointer with… · 0313a84a
      re PR fortran/92123 ([F2018/array-descriptor]  Scalar allocatable/pointer with array descriptor (via bind(C)): ICE with select rank or error scalar variable with POINTER or ALLOCATABLE in procedure with BIND(C) is not yet supported)
      
      2019-11-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/92123
      	*decl.c (gfc_verify_c_interop_param): Remove error asserting
      	that pointer or allocatable variables in a bind C procedure are
      	not supported. Delete some trailing spaces.
      	* trans-stmt.c (trans_associate_var): Correct the attempt to
      	treat scalar pointer or allocatable temporaries as if they are
      	array descriptors.
      
      2019-11-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/92123
      	* gfortran.dg/bind_c_procs_3.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_15.c : New test.
      	* gfortran.dg/ISO_Fortran_binding_15.f90 : Additional source.
      
      From-SVN: r278025
      Paul Thomas committed
    • [LRA] Do not use eliminable registers for spilling · 4b77a380
      The liveness of eliminable hard registers is not tracked by LRA between
      basic blocks, so they should not be used as spill registers as LRA may
      decide to allocate them to pseudos while the spilled value is still live.
      
      2019-11-10  Kwok Cheung Yeung  <kcy@codesourcery.com>
      
      	gcc/
      	* lra-spills.c (assign_spill_hard_regs): Do not spill into
      	registers in eliminable_regset.
      
      From-SVN: r278024
      Kwok Cheung Yeung committed
    • Manually CSE sreal frequency calculations · b5351388
      	* ipa-inline.c (compute_uninlined_call_time,
      	compute_inlined_call_time): Take edge frequency as
      	parameter rather than computing it by itself.
      	(big_speedup_p, edge_badness): Manually CSE sreal
      	frequency calculations.
      
      From-SVN: r278023
      Jan Hubicka committed
    • Short circuit case where profiles are same. · 65eaab18
              * profile-count.c (profile_count::to_sreal_scale): Short circuit
      	case where profiles are same.
      
      From-SVN: r278022
      Jan Hubicka committed
    • ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge args summaries… · d40e2362
      ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge args summaries of inlined edge unless...
      
      	* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge
      	args summaries of inlined edge unless it holds info about
      	described reference.
      
      From-SVN: r278020
      Jan Hubicka committed
    • Switch www.hboehm.info to https · 7901a85f
      	* doc/xml/manual/using.xml: Switch www.hboehm.info to https.
      
      From-SVN: r278019
      Gerald Pfeifer committed
    • rs6000: Allow any CC mode in movcc · 7964e40d
      Sometimes combine wants to do a move in CCFPmode, but we don't currently
      handle moves in any CC mode other than CCmode.  Fix that oversight.
      
      
      	* config/rs6000/rs6000.md (CC_any): New mode iterator.
      	(*movcc_internal1): Rename to...
      	(*movcc_<mode> for CC_any): ... this.  Support moves of all CC modes.
      
      From-SVN: r278017
      Segher Boessenkool committed
    • cgraph.h (struct cgraph_node): Add ipcp_clone flag. · 6cf67b62
      
      	* cgraph.h (struct cgraph_node): Add ipcp_clone flag.
      	(cgraph_node::create_virtual_clone): Copy it.
      	* ipa-cp.c (ipcp_versionable_function_p): Watch for missing
      	summaries.
      	(ignore_edge_p): If caller has ipa-cp disabled, skip the edge, too.
      	(ipcp_verify_propagated_values): Do not verify nodes where ipcp
      	is disabled.
      	(propagate_constants_across_call): If callee is not analyzed, give up.
      	(propagate_constants_topo): Lower to bottom latties of all callees of
      	functions with ipa-cp disabled.
      	(ipcp_propagate_stage): Skip functions with ipa-cp disabled.
      	(cgraph_edge_brings_value_p): Check for availability first.
      	(create_specialized_node): Set ipcp_clone.
      	(ipcp_store_bits_results): Check that info is present.
      	* ipa-fnsummary.c (evaluate_properties_for_edge): Do not analyze
      	thunks.
      	(ipa_call_context::duplicate_from, ipa_call_context::equal_to): Be
      	conservative when callee summary is missing.
      	(remap_edge_summaries): Lookup call summary only when needed.
      	* ipa-icf.c (sem_function::param_used_p): Be ready for missing summary.
      	* ipa-prpo.c (ipa_alloc_node_params, ipa_initialize_node_params):
      	Use get_create.
      	(ipa_analyze_node): Use get_create.
      	(propagate_controlled_uses): Do not propagate when function is not
      	analyzed.
      	(ipa_propagate_indirect_call_infos): Remove summary of inline clone.
      	(ipa_read_node_info): Use get_create.
      	* ipa-prop.h (IPA_NODE_REF): Use get.
      	(IPA_NODE_REF_GET_CREATE): New.
      
      From-SVN: r278016
      Jan Hubicka committed
    • Daily bump. · 64166bf0
      From-SVN: r278013
      GCC Administrator committed
  3. 09 Nov, 2019 9 commits
  4. 08 Nov, 2019 5 commits