1. 13 Jul, 2016 9 commits
    • use auto_vec for more local variables · 8c681247
      gcc/c/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* c-parser.c (c_parser_generic_selection): Make type of variable
      	auto_vec.
      	(c_parser_omp_declare_simd): Likewise.
      
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec.
      	* genmatch.c (lower_for): Likewise.
      	* haifa-sched.c (haifa_sched_init): Likewise.
      	(add_to_speculative_block): Likewise.
      	(create_check_block_twin): Likewise.
      	* predict.c (handle_missing_profiles): Likewise.
      	* tree-data-ref.c (loop_nest_has_data_refs): Likewise.
      	* tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise.
      	* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise.
      	(maybe_lower_iteration_bound): Likewise.
      	* tree-ssa-sccvn.c (DFS): Likewise.
      	* tree-stdarg.c (reachable_at_most_once): Likewise.
      	* tree-vect-stmts.c (vectorizable_conversion): Likewise.
      	(vectorizable_store): Likewise.
      
      From-SVN: r238285
      Trevor Saunders committed
    • tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack · fcd21591
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove.
      	(sccvn_dom_walker): make cond_stack an auto_vec.
      
      From-SVN: r238284
      Trevor Saunders committed
    • ree.c: use auto_vec in ext_state · 4a5a779a
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* ree.c (struct ext_state): Make type of members auto_vec.
      	(find_and_remove_re): Adjust.
      
      From-SVN: r238283
      Trevor Saunders committed
    • cfgexpand.c: use auto_vec in stack_vars_data · 06dc18b3
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfgexpand.c (struct stack_vars_data): Make type of fields
      	auto_vec.
      	(expand_used_vars): Adjust.
      
      From-SVN: r238282
      Trevor Saunders committed
    • ipa.c: remove static_{ctors,dtors} globals · 37a51997
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* ipa.c (record_cdtor_fn): Adjust.
      	(build_cdtor_fns): Likewise.
      	(ipa_cdtor_merge): Make static_ctors and static_dtors local
      	variables.
      
      From-SVN: r238281
      Trevor Saunders committed
    • genextract.c: add [cd]tors to accum_extract · 3cc578b9
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* genextract.c (struct accum_extract): Add constructor and make
      	members auto_vec.
      	(gen_insn): Adjust.
      
      From-SVN: r238280
      Trevor Saunders committed
    • c-decl.c: add [cd]tors to c_struct_parse_info · bf4fa671
      gcc/c/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* c-decl.c (struct c_struct_parse_info): Change member types
      	from vec to auto_vec.
      	(start_struct): Adjust.
      	(finish_struct): Likewise.
      
      From-SVN: r238279
      Trevor Saunders committed
    • tree.c: add [cd]tors to free_lang_data_d · 74ea4cd5
      gcc/ChangeLog:
      
      2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* tree.c (struct free_lang_data_d): Add constructor and change
      	types of members to ones that automatically manage resources.
      	(fld_worklist_push): Adjust.
      	(find_decls_types): Likewise.
      	(find_decls_types_in_eh_region): Likewise.
      	(free_lang_data_in_cgraph): Stop manually creating and
      	destroying members of free_lang_data_d.
      
      From-SVN: r238278
      Trevor Saunders committed
    • Daily bump. · 4aa59659
      From-SVN: r238277
      GCC Administrator committed
  2. 12 Jul, 2016 18 commits
  3. 11 Jul, 2016 13 commits
    • cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs. · 3f393853
      2016-06-12  Brooks Moses  <bmoses@google.com>
      
      	* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
      	  VLAs.
      
      From-SVN: r238233
      Brooks Moses committed
    • re PR middle-end/71758 (ICE in verify_gimple_in_cfg, at tree-cfg.c:5212) · 3d56e6a4
      	PR middle-end/71758
      	* omp-low.c (expand_omp_target): Gimplify device.
      
      	* c-c++-common/gomp/pr71758.c: New test.
      	* gfortran.dg/gomp/pr71758.f90: New test.
      
      From-SVN: r238231
      Jakub Jelinek committed
    • re PR tree-optimization/71823 (g++ segfaults with -mfma and -ftree-slp-vectorize) · c392943c
      	PR tree-optimization/71823
      	* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
      	to get vec_oprnds2 from op2.
      
      	* gcc.dg/vect/pr71823.c: New test.
      
      From-SVN: r238229
      Jakub Jelinek committed
    • stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert. · 76225d2c
      2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_vector.h (push_back(const value_type&)): Forward
      	to _M_realloc_insert.
      	(insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
      	(_M_realloc_insert): Declare new function.
      	(_M_emplace_back_aux): Remove definition.
      	* include/bits/vector.tcc (emplace_back(_Args...)):
      	Use _M_realloc_insert.
      	(insert(const_iterator, const value_type&)): Likewise.
      	(_M_insert_rval, _M_emplace_aux): Likewise.
      	(_M_emplace_back_aux): Remove declaration.
      	(_M_realloc_insert): Define.
      	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
      	Adjust expected results for emplacing an lvalue with reallocation.
      
      From-SVN: r238226
      François Dumont committed
    • predicates.md (x86_64_immediate_operand): Hoist common subexpressions. · 4368a420
      	* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
      	Hoist common subexpressions.
      	(x86_64_zext_immediate_operand) <case CONST>: Ditto.
      
      From-SVN: r238224
      Uros Bizjak committed
    • rs6000.md (stfiwx): Change constraint to 'wu' to prevent generation of 'stxsiwx'… · 7f0d7d61
      rs6000.md (stfiwx): Change constraint to 'wu' to prevent generation of 'stxsiwx' on pre Power8 hardware.
      
      	* config/rs6000/rs6000.md (stfiwx): Change constraint to 'wu' to
      	prevent generation of 'stxsiwx' on pre Power8 hardware.
      
      From-SVN: r238223
      Pat Haugen committed
    • lib1funcs.S: Add new wrapper. · 82742404
      2016-07-11  Hale Wang  <hale.wang@arm.com>
      	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	* config/arm/lib1funcs.S: Add new wrapper.
      
      Co-Authored-By: Andre Vieira <andre.simoesdiasvieira@arm.com>
      
      From-SVN: r238215
      Hale Wang committed
    • * decl.c (store_parm_decls): Remove check for void parm. · 9a54f10d
      From-SVN: r238214
      Jason Merrill committed
    • input.c: add lexing selftests and a test matrix for line_table states · 741d3be5
      This patch adds explicit testing of lexing a source file,
      generalizing this (and the test of ordinary line maps) over
      a 2-dimensional test matrix covering:
      
        (1) line_table->default_range_bits: some frontends use a non-zero value
        and others use zero
      
        (2) the fallback modes within line-map.c: there are various threshold
        values for source_location/location_t beyond line-map.c changes
        behavior (disabling of the range-packing optimization, disabling
        of column-tracking).  We exercise these by starting the line_table
        at interesting values at or near these thresholds.
      
      This helps ensures that location data works in all of these states,
      and that (I hope) we don't have lingering bugs relating to the
      transition between line_table states.
      
      gcc/ChangeLog:
      	* input.c: Include cpplib.h.
      	(selftest::temp_source_file): New class.
      	(selftest::temp_source_file::temp_source_file): New ctor.
      	(selftest::temp_source_file::~temp_source_file): New dtor.
      	(selftest::should_have_column_data_p): New function.
      	(selftest::test_should_have_column_data_p): New function.
      	(selftest::temp_line_table): New class.
      	(selftest::temp_line_table::temp_line_table): New ctor.
      	(selftest::temp_line_table::~temp_line_table): New dtor.
      	(selftest::test_accessing_ordinary_linemaps): Add case_ param; use
      	it to create a temp_line_table.
      	(selftest::assert_loceq): Only verify LOCATION_COLUMN for
      	locations that are known to have column data.
      	(selftest::line_table_case): New struct.
      	(selftest::test_reading_source_line): Move tempfile handling
      	to class temp_source_file.
      	(ASSERT_TOKEN_AS_TEXT_EQ): New macro.
      	(selftest::assert_token_loc_eq): New function.
      	(ASSERT_TOKEN_LOC_EQ): New macro.
      	(selftest::test_lexer): New function.
      	(selftest::boundary_locations): New array.
      	(selftest::input_c_tests): Call test_should_have_column_data_p.
      	Loop over a test matrix of interesting values of location and
      	default_range_bits, calling test_lexer on each case in the matrix.
      	Move call to test_accessing_ordinary_linemaps into the matrix.
      	* selftest.h (ASSERT_EQ): Reimplement in terms of...
      	(ASSERT_EQ_AT): New macro.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid
      	hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
      	and LINE_MAP_MAX_LOCATION_WITH_COLS.
      
      libcpp/ChangeLog:
      	* include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES):
      	Move here from line-map.c.
      	(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
      	* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from
      	here to line-map.h.
      	(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.
      
      From-SVN: r238213
      David Malcolm committed
    • Don't convert TImode in debug insn · 92fa45b5
      When converting V1TImode register in debug insn, check if it has been
      converted to TImode already.
      
      gcc/
      
      	PR target/71801
      	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
      	Don't convert TImode in debug insn.
      
      gcc/testsuite/
      
      	PR target/71801
      	* gcc.target/i386/pr71801.c: New test.
      
      From-SVN: r238211
      H.J. Lu committed
    • Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG. · 25b75a48
      2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
              * tree-core.h (tree_base::nothrow_flag): Adjust comment.
              (tree_type_common::lang_flag_7): New.
              (tree_type_common::spare): Reduce size.
              * tree.h (TYPE_ALIGN_OK): Remove.
              (TYPE_LANG_FLAG_7): New.
              (get_inner_reference): Adjust header.
              * print-tree.c (print_node): Adjust.
              * expr.c (get_inner_reference): Remove parameter keep_aligning.
              (get_bit_range, expand_assignment, expand_expr_addr_expr_1): Adjust
              calls to get_inner_reference.
              (expand_expr_real_1): Adjust call to get_inner_reference.  Remove
              handling of TYPE_ALIGN_OK.
              * builtins.c (get_object_alignment_2): Adjust call to
              get_inner_reference.  Remove handling of VIEW_CONVERT_EXPR.
              * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove handling of
              TYPE_ALIGN_OK.
              * asan.c (instrument_derefs): Adjust calls to get_inner_reference.
              * cfgexpand.c (expand_debug_expr): Likewise.
              * dbxout.c (dbxout_expand_expr): Likewise.
              * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref,
              loc_list_from_tree, fortran_common): Likewise.
              * fold-const.c (optimize_bit_field_compare,
              decode_field_reference, fold_unary_loc, fold_comparison,
              split_address_to_core_and_offset): Likewise.
              * gimple-laddress.c (execute): Likewise.
              * gimple-ssa-strength-reduction.c (slsr_process_ref): Likewise.
              * gimplify.c (gimplify_scan_omp_clauses): Likewise.
              * hsa-gen.c (gen_hsa_addr): Likewise.
              * simplifx-rtx.c (delegitimize_mem_from_attrs): Likewise.
              * tsan.c (instrument_expr): Likewise.
              * ubsan.c (instrument_bool_enum_load, instrument_object_size): Likewise.
              * tree.c (verify_type_variant): Remove handling of TYPE_ALIGN_OK.
              * tree-affine.c (tree_to_aff_combination,
              get_inner_reference_aff): Adjust calls to get_inner_reference.
              * tree-data-ref.c (split_constant_offset_1,
              dr_analyze_innermost): Likewise.
              * tree-scalar-evolution.c (interpret_rhs_expr): Likewise.
              * tree-sra.c (ipa_sra_check_caller): Likewise.
              * tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
              * tree-ssa-math-opts.c (find_bswap_or_nop_load,
              bswap_replace): Likewise.
              * tree-vect-data-refs.c (vect_check_gather,
              vect_analyze_data_refs): Likewise.
              * config/mips/mips.c (r10k_safe_mem_expr_p): Likewise.
              * config/pa/pa.c (pa_emit_move_sequence): Remove handling of
              TYPE_ALIGN_OK.
      
      ada:
      2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
              * gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
              * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
              get_inner_reference.
              * gcc-interface/utils2.c (build_unary_op): Likewise.
      
      From-SVN: r238210
      Bernd Edlinger committed
    • Support running the selftests under valgrind · 9e34db2e
      gcc/ChangeLog:
      	* Makefile.in (selftest-valgrind): New phony target.
      	* function-tests.c (selftest::build_cfg): Delete pass instances
      	created by the test.
      	(selftest::convert_to_ssa): Likewise.
      	(selftest::test_expansion_to_rtl): Likewise.
      	* tree-cfg.c (selftest::test_linear_chain): Release dominator
      	vectors.
      	(selftest::test_diamond): Likewise.
      
      From-SVN: r238209
      David Malcolm committed
    • re PR bootstrap/71816 (bootstrap broken on multiple targets) · f51606c7
      2016-07-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71816
      	* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
      	than replacing all of its operands.
      
      	* gcc.dg/torture/pr71816.c: New testcase.
      
      From-SVN: r238208
      Richard Biener committed