1. 29 Aug, 2017 9 commits
    • re PR target/80993 ([msp430] __attribute__((interrupt)) should imply __attribute__((used))) · 10bcba61
      	PR target/80993
      	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
      	handlers as used.
      
      From-SVN: r251410
      Jozef Lawrynowicz committed
    • dwarf2out.c (add_dwarf_attr): When checking is enabled verify we do not add a… · 12d84791
      dwarf2out.c (add_dwarf_attr): When checking is enabled verify we do not add a DW_AT_inline attribute twice.
      
      2017-08-29  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
      	we do not add a DW_AT_inline attribute twice.
      	(gen_subprogram_die): Remove code setting DW_AT_inline on
      	DECL_ABSTRACT_P nodes.
      
      From-SVN: r251409
      Richard Biener committed
    • Fix --help=target (Ada) (PR other/39851) · 0694da45
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.
      
      From-SVN: r251406
      Martin Liska committed
    • Set the call nothrow flag more often · a844293d
      This patch sets the nothrow flag for various calls to internal functions
      that are not inherently NOTHROW (and so can't be declared that way in
      internal-fn.def) but that are used in contexts that can guarantee
      NOTHROWness.
      
      2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
      	calls to internal functions.
      	(gimplify_modify_expr): Likewise.
      	* tree-call-cdce.c (use_internal_fn): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
      	(convert_to_divmod): Set the nothrow flag.
      	* tree-if-conv.c (predicate_mem_writes):  Likewise.
      	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
      	(vectorizable_call): Likewise.
      	(vectorizable_store): Likewise.
      	(vectorizable_load): Likewise.
      	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
      	(vect_recog_mask_conversion_pattern): Likewise.
      
      From-SVN: r251401
      Richard Sandiford committed
    • Fix --help=target (PR other/39851). · 130fcab0
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* gcc.c (driver_handle_option): Add new argument.
      	* opts-common.c (handle_option): Pass
      	target_option_override_hook.
      	* opts-global.c (lang_handle_option): Add new option.
      	(set_default_handlers):  Add new argument.
      	(decode_options): Likewise.
      	* opts.c (target_handle_option): Likewise.
      	(common_handle_option): Call target_option_override_hook.
      	* opts.h (struct cl_option_handler_func): Add hook for
      	target option override.
      	(struct cl_option_handlers): Likewise.
      	(set_default_handlers): Add new argument.
      	(decode_options): Likewise.
      	(common_handle_option): Likewise.
      	(target_handle_option): Likewise.
      	* toplev.c (toplev::main): Pass targetm.target_option.override
      	hook.
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* c-common.c (parse_optimize_options): Add argument to function
      	call.
      	* c-pragma.c (handle_pragma_diagnostic): Likewise.
      
      From-SVN: r251400
      Martin Liska committed
    • tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine life to the active subtree. · faa5399b
      2017-08-29  Richard Biener  <rguenther@suse.de>
      	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
      
      	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
      	life to the active subtree.
      
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: New testcase.
      
      Co-Authored-By: Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
      
      From-SVN: r251398
      Richard Biener committed
    • tree-ssa-dom.c (edge_info::record_simple_equiv): Call derive_equivalences. · 14d62813
      	* tree-ssa-dom.c (edge_info::record_simple_equiv): Call
      	derive_equivalences.
      	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
      	Code moved into....
      	(edge_info::derive_equivalences): New private member function
      
      	* gcc.dg/torture/pr57214.c: Fix type of loop counter.
      	* gcc.dg/tree-ssa/ssa-sink-16.c: Disable DOM.
      	* gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-12.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-13.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-14.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-15.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-16.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-17.c: New test.
      
      From-SVN: r251397
      Jeff Law committed
    • tree-ssa-dom.c (class edge_info): Changed from a struct to a class. · a09f784a
      	* tree-ssa-dom.c (class edge_info): Changed from a struct
      	to a class.  Add ctor/dtor, methods and data members.
      	(edge_info::edge_info): Renamed from allocate_edge_info.
      	Initialize additional members.
      	(edge_info::~edge_info): New.
      	(free_dom_edge_info): Delete the edge info.
      	(record_edge_info): Use new class & associated member functions.
      	Tighten forms for testing for edge equivalences.
      	(record_temporary_equivalences): Iterate over the simple
      	equivalences rather than assuming there's only one per edge.
      	(cprop_into_successor_phis): Iterate over the simple
      	equivalences rather than assuming there's only one per edge.
      	(optimize_stmt): Use operand_equal_p rather than pointer
      	equality for mini-DSE code.
      
      From-SVN: r251396
      Jeff Law committed
    • Daily bump. · f73e77f7
      From-SVN: r251395
      GCC Administrator committed
  2. 28 Aug, 2017 11 commits
  3. 27 Aug, 2017 3 commits
  4. 26 Aug, 2017 1 commit
  5. 25 Aug, 2017 10 commits
    • Part 3/3 for contributing PPC64LE support for X86 SSE instrisics. · 6e4c6a24
      This patch includes testsuite/gcc.target tests for the intrinsics
      in xmmintrin.h.  For these tests I added -Wno-psabi to dg-options
      to suppress warnings associated with the vector ABI change in GCC5.
      
      From-SVN: r251357
      Steven Munroe committed
    • Part 2/3 for contributing PPC64LE support for X86 SSE instrisics. · 20253250
      Part 2/3 for contributing PPC64LE support for X86 SSE
      instrisics. This patch includes the new (for PPC) xmmintrin.h,
      changes x86intrin.h to include xmmintrin.h and associated
      config.gcc changes.
      
      From-SVN: r251356
      Steven Munroe committed
    • re PR target/81504 (gcc-7 regression: vec_st in loop misoptimized) · 55d14001
      2017-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR target/81504
      	* config/rs6000/rs6000-p8swap.c (find_alignment_op): Add reference
      	parameter and_insn and return it.
      	(recombine_lvx_pattern): Insert a copy to ensure availability of
      	the base register of the copied masking operation at the point of
      	the instruction replacement.
      	(recombine_stvx_pattern): Likewise.
      
      From-SVN: r251355
      William Schmidt committed
    • rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. · 56b26dd4
      [gcc]
      2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
      	undocumented switches.
      	(-mpower9-dform-vector): Likewise.
      	(-mpower9-dform): Likewise.
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
      	comments to delete references to -mpower9-dform* switches.
      	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
      	Delete reference to -mpower9-dform* switches, test for
      	-mpower9-vector instead.
      	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
      	(OTHER_P9_VECTOR_MASKS): Likewise.
      	(POWERPC_MASKS): Likewise.
      	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
      	tests against -mpower9-dform* to -mpower9-vector.  Delete code
      	that checked for -mpower9-dform* consistancy with other options.
      	Add test for -mpower9-misc to enable other power9 switches.
      	(rs6000_init_hard_regno_mode_ok): Likewise.
      	(rs6000_option_override_internal): Likewise.
      	(rs6000_emit_prologue): Likewise.
      	(rs6000_emit_epilogue): Likewise.
      	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
      	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
      	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
      	-mpower9-vector.
      	(emit_fusion_p9_store): Likewise.
      	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
      	resetting these macros if the assembler does not support ISA 3.0
      	instructions.
      	(TARGET_P9_DFORM_VECTOR): Likewise.
      	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
      	Change to use -mpower9-vector instead of -mpower9-dform-scalar.
      
      [gcc/testsuite]
      2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/dform-1.c: Delete -mpower9-dform*
      	options.
      	* gcc.target/powerpc/dform-2.c: Likewise.
      	* gcc.target/powerpc/dform-3.c: Likewise.
      	* gcc.target/powerpc/pr71656-1.c: Likewise.
      	* gcc.target/powerpc/pr71656-2.c: Likewise.
      	* gcc.target/powerpc/pr80103-1.c: Likewise.
      	* gcc.target/powerpc/pr80098-1.c: Likewise.
      
      From-SVN: r251352
      Michael Meissner committed
    • re PR target/81921 (Fails to always-inline intrinsics with -flto) · 9cf59597
      Retabify 2017-08-24  Richard Biener  <rguenther@suse.de>
      	PR target/81921
      
      From-SVN: r251351
      Nathan Sidwell committed
    • class.c (method_name_cmp, [...]): Method names can never be NULL. · bb5d50b5
      	* class.c (method_name_cmp, resort_method_name_cmp): Method names
      	can never be NULL.
      
      From-SVN: r251350
      Nathan Sidwell committed
    • PR81747, ICE in operator[] · e2da9ffe
      	PR rtl-optimization/81747
      	* cse.c (cse_extended_basic_block): Don't attempt to record
      	equivalences for degenerate conditional branches that branch
      	to their fall-through.
      
      From-SVN: r251349
      Alan Modra committed
    • Conversion operators have a special name · bff8b385
      	Conversion operators have a special name
      	* cp-tree.h (CPTI_CONV_OP_MARKER, CPTI_CONV_OP_IDENTIFIER): New.
      	(conv_op_marker, conv_op_identifier): New.
      	(CLASSTYPE_FIRST_CONVERSION_SLOT): Delete.
      	* decl.c (initialize_predefined_identifiers): Add
      	conv_op_identifier.
      	(cxx_init_decl_processing): Create conv_op_marker.
      	* decl2.c (check_classfn): Lookup conv-ops by name.
      	* class.c (add_method): Use conv_op_identifier & conv_op_marker.
      	(resort_type_method_vec): Don't skip conv-ops.
      	(finish_struct_methods, warn_hidden): Likewise.
      	* name-lookup.h (lookup_all_conversions): Delete.
      	* name-lookup.c (lookup_conversion_operator): Replace with ...
      	(extract_conversion_operator): ... this.
      	(lookup_fnfields_slot_nolazy): Find conv-ops by name.
      	(lookup_all_conversions): Delete.
      	* pt.c (check_explicit_specialization): Find conv-ops by name.
      	* search.c (lookup_conversions_r): Likewise.
      
      From-SVN: r251348
      Nathan Sidwell committed
    • PR middle-end/81908 - FAIL: gfortran.dg/alloc_comp_auto_array_2.f90 -O3 -g -m32 · 6512c0f1
      gcc/ChangeLog:
      
      	PR middle-end/81908
      	* gimple-fold.c (size_must_be_zero_p): New function.
      	(gimple_fold_builtin_memory_op): Call it.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/81908
      	* gcc.dg/tree-ssa/builtins-folding-gimple-2.c: New test.
      	* gcc.dg/tree-ssa/builtins-folding-gimple-3.c: New test.
      	* gcc.dg/tree-ssa/pr81908.c: New test.
      
      From-SVN: r251347
      Martin Sebor committed
    • Daily bump. · f9dd01fa
      From-SVN: r251346
      GCC Administrator committed
  6. 24 Aug, 2017 6 commits
    • stl_list.h [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. · 55500f5d
      2017-08-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_list.h
      	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
      	(_List_impl(_Node_alloc_type&&, _List_impl&&)): New.
      	(_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter.
      	[!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)):
      	Remove.
      	(_List_base(_Node_alloc_type&&)): New.
      	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove.
      	[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove.
      	(list<>::_M_node_count): New.
      	(list<>::size()): Adapt to call latter.
      	(list<>::_S_distance(const_iterator, const_iterator)): New.
      	(list<>::splice(iterator, list&, const_iterator, const_iterator)):
      	Adapt to call latter.
      	(list(list&&, const allocator_type&, true_type)): New.
      	(list(list&&, const allocator_type&, false_type)): New.
      	(list(list&&, const allocator_type&)): Adapt to call latters.
      
      From-SVN: r251342
      François Dumont committed
    • rs6000.opt (-mpower9-dform-scalar): Delete undocumented switches. · db1e5f32
      [gcc]
      2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.opt (-mpower9-dform-scalar): Delete
      	undocumented switches.
      	(-mpower9-dform-vector): Likewise.
      	(-mpower9-dform): Likewise.
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Update
      	comments to delete references to -mpower9-dform* switches.
      	* config/rs6000/predicates.md (vsx_quad_dform_memory_operand):
      	Delete reference to -mpower9-dform* switches, test for
      	-mpower9-vector instead.
      	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
      	(OTHER_P9_VECTOR_MASKS): Likewise.
      	(POWERPC_MASKS): Likewise.
      	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Change
      	tests against -mpower9-dform* to -mpower9-vector.  Delete code
      	that checked for -mpower9-dform* consistancy with other options.
      	Add test for -mpower9-misc to enable other power9 switches.
      	(rs6000_init_hard_regno_mode_ok): Likewise.
      	(rs6000_option_override_internal): Likewise.
      	(rs6000_emit_prologue): Likewise.
      	(rs6000_emit_epilogue): Likewise.
      	(rs6000_opt_masks): Delete -mpower9-dform-{scalar,vector}.
      	(rs6000_disable_incompatiable_switches): Delete -mpower9-dform.
      	(emit_fusion_p9_load): Change tests for -mpower9-dform-scalar
      	-mpower9-vector.
      	(emit_fusion_p9_store): Likewise.
      	* config/rs6000/rs6000.h (TARGET_P9_DFORM_SCALAR): Delete
      	resetting these macros if the assembler does not support ISA 3.0
      	instructions.
      	(TARGET_P9_DFORM_VECTOR): Likewise.
      	* config/rs6000/rs6000.md (peepholes to optimize altivec memory):
      	Change to use -mpower9-vector instead of -mpower9-dform-scalar.
      
      [gcc/testsuite]
      2017-08-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/dform-1.c: Delete -mpower9-dform*
      	options.
      	* gcc.target/powerpc/dform-2.c: Likewise.
      	* gcc.target/powerpc/dform-3.c: Likewise.
      	* gcc.target/powerpc/pr71656-1.c: Likewise.
      	* gcc.target/powerpc/pr71656-2.c: Likewise.
      	* gcc.target/powerpc/pr80103-1.c: Likewise.
      	* gcc.target/powerpc/pr80098-1.c: Likewise.
      
      From-SVN: r251341
      Michael Meissner committed
    • Conversion operators kept on single overload set · 2e12a855
      	Conversion operators kept on single overload set
      	* class.c (add_method): Keep all conv-ops on one slot.
      	* name-lookup.c (lookup_conversion_operator): Pull the desired
      	conv op out of overload set.
      	* search.c (lookup_conversions_r): Lose template/non-template
      	distinction.
      	(lookup_conversions): Likewise.
      
      From-SVN: r251340
      Nathan Sidwell committed
    • Adds the powerpc equivalent mm_malloc.h header which is needed by xmmintrin.h... · 281de9c2
      Adds the powerpc equivalent mm_malloc.h header which is needed by
      xmmintrin.h and cleans up some noisy warnings from the previous MMX
      commit.
      
      From-SVN: r251339
      Steven Munroe committed
    • target-supports.exp: Group together target-dependant checks. · 10bfe16f
      	* lib/target-supports.exp: Group together target-dependant checks.
      
      From-SVN: r251338
      Uros Bizjak committed
    • re PR tree-optimization/81913 (wrong code at -O1) · 142ff602
      	PR tree-optimization/81913
      	* tree-ssa-loop-niter.c (number_of_iterations_cond): Skip niter
      	analysis when either IVs in condition can wrap.
      
      	gcc/testsuite
      	* gcc.c-torture/execute/pr81913.c: New test.
      	* gcc.dg/tree-ssa/loop-niter-1.c: New test.
      	* gcc.dg/tree-ssa/loop-niter-2.c: New test.
      
      From-SVN: r251337
      Bin Cheng committed