Commit Graph

147197 Commits

Author SHA1 Message Date
Ilya Enkovich c7ed8938d6 re PR ipa/71633 ([CHKP] internal compiler error: in inline_call)
gcc/

	PR ipa/71633
	* ipa-inline-transform.c (inline_call): Support
	instrumented thunks.

gcc/testsuite/

	PR ipa/71633
	* g++.dg/pr71633.C: New test.

From-SVN: r238290
2016-07-13 11:02:15 +00:00
Thomas Preud'homme 5ce15300a0 arm.h (TARGET_HAVE_CBZ): Define.
2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_CBZ): Define.
    (TARGET_IDIV): Set for all Thumb targets provided they have hardware
    divide feature.
    * config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M
    Baseline.  Make initial alternative TARGET_32BIT only.
    (udivsi3): Likewise.
    * config/arm/thumb1.md (thumb1_cbz): New define_insn.
    * doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective
    target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok):
    Add new arm_thumb1_cbz_ok effective target.
    * gcc.target/arm/cbz.c: New test.

From-SVN: r238289
2016-07-13 10:54:12 +00:00
Thomas Preud'homme 2b9509a34d arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
2016-07-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.
    * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW
    availability with TARGET_HAVE_MOVT.
    (thumb_legitimate_constant_p): Strip the high part of a label_ref.
    (thumb1_rtx_costs): Also return 0 if setting a half word constant and
    MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by
    UINTVAL.
    (thumb1_size_rtx_costs): Make set of half word constant also cost 1
    extra instruction if MOVW is available.  Use a cost variable
    incremented by COSTS_N_INSNS (1) when the condition match rather than
    returning an arithmetic expression based on COSTS_N_INSNS.  Make
    constant with bottom half word zero cost 2 instruction if MOVW is
    available.
    * config/arm/arm.md (define_attr "arch"): Add v8mb.
    (define_attr "arch_enabled"): Set to yes if arch value is v8mb and
    target is ARMv8-M Baseline.
    (arm_movt): New unpredicable alternative for ARMv8-M Baseline.
    (arm_movtas_ze): Likewise.
    * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only
    alternative for constants satisfying j constraint.
    (thumb1_movsi_insn): Likewise.
    (movsi splitter for K alternative): Tighten condition to not trigger
    if movt is available and j constraint is satisfied.
    (Pe immediate splitter): Likewise.
    (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for
    constant fitting in an halfword to use MOVW.
    * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM
    effective target.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok):
    Define effective target.
    * gcc.target/arm/pr42574.c: Require arm_thumb1_ok and
    !arm_thumb1_movt_ok to exclude ARMv8-M Baseline.
    * gcc.target/arm/movhi_movw.c: New test.
    * gcc.target/arm/movsi_movw.c: Likewise.
    * gcc.target/arm/movdi_movw.c: Likewise.

From-SVN: r238288
2016-07-13 10:54:01 +00:00
Richard Biener 7f15b177ba re PR tree-optimization/71104 (ICE: verify_ssa failed (with vfork / error: definition in block 3 does not dominate use in block 7 ))
2016-07-13  Richard Biener  <rguenther@suse.de>

	PR middle-end/71104
	* gimplify.c (gimplify_modify_expr): Gimplify the RHS before
	gimplifying the LHS.  Make sure to gimplify a returning twice
	call LHS without using SSA names.

	* gcc.dg/pr71104-1.c: New testcase.
	* gcc.dg/pr71104-2.c: Likewise.

From-SVN: r238287
2016-07-13 08:03:04 +00:00
Trevor Saunders 4a0e3b5ac3 remove unnecessary calls to vec::release
There's no point in calling release () on an auto_vec just before it goes
out of scope.

gcc/ChangeLog:

2016-07-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* tree-data-ref.c (find_data_references_in_stmt): Remove
	unnecessary call to vec::release.
	(graphite_find_data_references_in_stmt): Likewise.
	* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise.
	* tree-vect-stmts.c (vectorizable_condition): Likewise.

From-SVN: r238286
2016-07-13 02:44:59 +00:00
Trevor Saunders 8c6812476a use auto_vec for more local variables
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
2016-07-13 02:44:52 +00:00
Trevor Saunders fcd215916e tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stack
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
2016-07-13 02:44:35 +00:00
Trevor Saunders 4a5a779a59 ree.c: use auto_vec in ext_state
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
2016-07-13 02:44:28 +00:00
Trevor Saunders 06dc18b33e cfgexpand.c: use auto_vec in stack_vars_data
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
2016-07-13 02:43:56 +00:00
Trevor Saunders 37a5199721 ipa.c: remove static_{ctors,dtors} globals
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
2016-07-13 02:43:43 +00:00
Trevor Saunders 3cc578b969 genextract.c: add [cd]tors to accum_extract
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
2016-07-13 02:43:23 +00:00
Trevor Saunders bf4fa67181 c-decl.c: add [cd]tors to c_struct_parse_info
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
2016-07-13 02:43:17 +00:00
Trevor Saunders 74ea4cd5e3 tree.c: add [cd]tors to free_lang_data_d
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
2016-07-13 02:43:10 +00:00
GCC Administrator 4aa5965994 Daily bump.
From-SVN: r238277
2016-07-13 00:16:21 +00:00
Uros Bizjak d5caa0f89f re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails since r231674)
PR rtl-optimization/68961
	* config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new
	peephole variant.  Use sse_reg_operand predicates.

From-SVN: r238268
2016-07-13 00:06:51 +02:00
Ian Lance Taylor 221b3e6c32 escape: Add escape notes to export data.
Reviewed-on: https://go-review.googlesource.com/22375

From-SVN: r238266
2016-07-12 20:29:15 +00:00
Uros Bizjak 1a58b548f8 predicates.md (x86_64_immediate_operand): Remove unneeded truncation to DImode.
* config/i386/predicates.md (x86_64_immediate_operand)
	<case CONST_INT>: Remove unneeded truncation to DImode.
	<case CONST>: Ditto.
	(x86_64_zext_immediate_operand) <case CONST>: Ditto.

From-SVN: r238259
2016-07-12 21:23:58 +02:00
Michael Meissner 0b0a896e7f re PR target/71805 (incorrect code for test pr45752.c with -mcpu=power9)
[gcc]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71805
	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
	The xxperm and xxpermr instructions require that the 2nd input
	operand overlap with the output operand, and not the 1st.
	(altivec_vperm_v8hiv16qi): Likewise.
	(altivec_vperm_<mode>_uns_internal): Likewise.
	(altivec_vpermr_<mode>_internal): Likewise.
	(vperm_v8hiv4si): Likewise.
	(vperm_v16qiv8hi): Likewise.

[gcc/testsuite]
2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71805
	* gcc.target/powerpc/pr71805.c: New test.

From-SVN: r238256
2016-07-12 17:42:04 +00:00
Nathan Sidwell b88bd5e0ca arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE when -mno-pic-data-is-text-relative is in effect...
gcc/
	* config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE
	when -mno-pic-data-is-text-relative is in effect, by default.
	* doc/invoke.texi (mpic-data-is-text-relative): Document new
	behavior and clarify.

	gcc/testsuite/
	* gcc.target/arm/data-rel-1.c: New.
	* gcc.target/arm/data-rel-2.c: New.
	* gcc.target/arm/data-rel-3.c: New.

From-SVN: r238254
2016-07-12 16:25:10 +00:00
Bill Schmidt f906f5edd3 _divkc3.c: New.
[libgcc]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/_divkc3.c: New.
	* config/rs6000/_mulkc3.c: New.
	* config/rs6000/quad-float128.h: Define TFtype; declare _mulkc3
	and _divkc3.
	* config/rs6000/t-float128: Add _mulkc3 and _divkc3 to
	fp128_ppc_funcs.

[gcc/testsuite]

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/divkc3-1.c: New.
	* gcc.target/powerpc/mulkc3-1.c: New.

From-SVN: r238253
2016-07-12 16:05:18 +00:00
Martin Liska 4661839ee3 Introduce new param: AVG_LOOP_NITER
* params.def: Add avg-loop niter.
	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param.
	* cfgloopanal.c (expected_loop_iterations_unbounded): Likewise.
	* doc/invoke.texi: Document the new parameter.

From-SVN: r238252
2016-07-12 15:27:36 +00:00
Martin Liska f507d20235 Add tests that test boundary values of params
* Makefile.in: Append rule for params-options.h.
	* params-options.h: New file.
	* gcc.dg/params/blocksort-part.c: New test.
	* gcc.dg/params/params.exp: New file.

From-SVN: r238249
2016-07-12 15:03:07 +00:00
Kyrylo Tkachov d6f7c125d8 [expr.c] PR middle-end/71700: zero-extend sub-word value when widening constructor element
PR middle-end/71700
	* expr.c (store_constructor): Mask sign-extended bits when widening
	sub-word constructor element at the start of a word.

	* gcc.c-torture/execute/pr71700.c: New test.

From-SVN: r238248
2016-07-12 15:00:28 +00:00
Martin Liska 5548d9cd19 re PR rtl-optimization/71634 (Invalid write with in mark_loops_for_removal (ira-build.c:2256) with --param ira-max-loops-num=0)
Fix PR rtl-optimization/71634

	* ira-build.c (mark_loops_for_removal): Properly iterate
	loops.

From-SVN: r238247
2016-07-12 14:54:52 +00:00
Jonathan Wakely 7cbadfdced Remove unused operator delete overloads (LWG 2458)
* libsupc++/new: Remove nothrow sized deletes (LWG 2458).
	* doc/xml/manual/intro.xml: Document DR 2458 status.
	* doc/html*: Regenerate.

From-SVN: r238246
2016-07-12 15:31:04 +01:00
Jonathan Wakely 1b1c16e0c0 Fix ChangeLog entry for r238244
From-SVN: r238245
2016-07-12 15:07:49 +01:00
Jonathan Wakely 1b24fb4cd1 Add tests and docs for LWG 2212 support
* testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
	Only include <array>.
	* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
	Likewise.
	* doc/xml/manual/intro.xml; Document LWG 2212 support.
	* doc/html*: Regenerate.

From-SVN: r238244
2016-07-12 15:00:26 +01:00
Jonathan Wakely 17b31c054c Add std::vector::emplace() testcase from LWG 2164
* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
	Add testcase from LWG 2164.

From-SVN: r238243
2016-07-12 15:00:11 +01:00
Steven Bosscher 37ccb0bacb re PR tree-optimization/23286 (Missed code hoisting optimization)
2016-07-12  Steven Bosscher  <steven@gcc.gnu.org>
	Richard Biener  <rguenther@suse.de>

	PR tree-optimization/23286
	PR tree-optimization/70159
	* doc/invoke.texi: Document -fcode-hoisting.
	* common.opt (fcode-hoisting): New flag.
	* opts.c (default_options_table): Enable -fcode-hoisting at -O2+.
	* tree-ssa-pre.c (pre_stats): Add hoist_insert.
	(do_regular_insertion): Rename to ...
	(do_pre_regular_insertion): ... this and amend general comments
	on insertion strathegy.
	(do_partial_partial_insertion): Rename to ...
	(do_pre_partial_partial_insertion): ... this.
	(do_hoist_insertion): New function.
	(insert_aux): Take flags on whether to do PRE and/or hoist insertion
	and call do_hoist_insertion properly.
	(insert): Adjust.
	(pass_pre::gate): Enable also if -fcode-hoisting is enabled.
	(pass_pre::execute): Register hoist_insert stats.

	* gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting.
	* gcc.dg/tree-ssa/ssa-pre-27.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-28.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-2.c: Likewise.
	* gcc.dg/tree-ssa/pr35286.c: Likewise.
	* gcc.dg/tree-ssa/pr35287.c: Likewise.
	* gcc.dg/hoist-register-pressure-1.c: Likewise.
	* gcc.dg/hoist-register-pressure-2.c: Likewise.
	* gcc.dg/hoist-register-pressure-3.c: Likewise.
	* gcc.dg/pr51879-12.c: Likewise.
	* gcc.dg/strlenopt-9.c: Likewise.
	* gcc.dg/tree-ssa/pr47392.c: Likewise.
	* gcc.dg/tree-ssa/pr68619-4.c: Likewise.
	* gcc.dg/tree-ssa/split-path-5.c: Likewise.
	* gcc.dg/tree-ssa/slsr-35.c: Likewise.
	* gcc.dg/tree-ssa/slsr-36.c: Likewise.
	* gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply.
	* gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result.
	* gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting.
	* gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase.
	* gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase.
	* gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase.
	* gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase.
	* gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase.
	* gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase.
	* gfortran.dg/pr43984.f90: Adjust expected outcome.

Co-Authored-By: Richard Biener <rguenther@suse.de>

From-SVN: r238242
2016-07-12 13:32:04 +00:00
Jakub Jelinek 1de3c940d8 re PR middle-end/71716 (gcc.dg/atomic/c11-atomic-exec-4.c is miscompiled with -march=corei7)
PR middle-end/71716
	* gimple-fold.c (optimize_atomic_compare_exchange_p): Return false
	for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION
	is different from mode's bitsize.  Small cleanup.

From-SVN: r238239
2016-07-12 10:58:56 +02:00
Richard Biener 712a93d637 re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails since r231674)
2016-07-12  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/68961
	* fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT
	to simplify to a non-constant.

	* gcc.target/i386/pr68961.c: New testcase.

From-SVN: r238238
2016-07-12 08:56:14 +00:00
GCC Administrator 7c61b47f17 Daily bump.
From-SVN: r238237
2016-07-12 00:16:21 +00:00
Brooks Moses 3f39385351 cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs.
2016-06-12  Brooks Moses  <bmoses@google.com>

	* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
	  VLAs.

From-SVN: r238233
2016-07-11 16:48:41 -07:00
Jakub Jelinek 3d56e6a465 re PR middle-end/71758 (ICE in verify_gimple_in_cfg, at tree-cfg.c:5212)
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
2016-07-11 22:40:47 +02:00
Jakub Jelinek c392943c50 re PR tree-optimization/71823 (g++ segfaults with -mfma and -ftree-slp-vectorize)
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
2016-07-11 22:37:18 +02:00
François Dumont 76225d2ca7 stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert.
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
2016-07-11 20:17:56 +00:00
Uros Bizjak 4368a420fb predicates.md (x86_64_immediate_operand): Hoist common subexpressions.
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>:
	Hoist common subexpressions.
	(x86_64_zext_immediate_operand) <case CONST>: Ditto.

From-SVN: r238224
2016-07-11 21:41:17 +02:00
Pat Haugen 7f0d7d6155 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
2016-07-11 19:03:09 +00:00
Hale Wang 827424041e lib1funcs.S: Add new wrapper.
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
2016-07-11 17:11:31 +00:00
Jason Merrill 9a54f10dbb * decl.c (store_parm_decls): Remove check for void parm.
From-SVN: r238214
2016-07-11 12:56:26 -04:00
David Malcolm 741d3be543 input.c: add lexing selftests and a test matrix for line_table states
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
2016-07-11 16:02:20 +00:00
H.J. Lu 92fa45b598 Don't convert TImode in debug insn
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
2016-07-11 08:13:56 -07:00
Bernd Edlinger 25b75a48d2 Convert TYPE_ALIGN_OK to a TYPE_LANG_FLAG.
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
2016-07-11 15:02:12 +00:00
David Malcolm 9e34db2e03 Support running the selftests under valgrind
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
2016-07-11 14:39:14 +00:00
Richard Biener f51606c71a re PR bootstrap/71816 (bootstrap broken on multiple targets)
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
2016-07-11 13:32:51 +00:00
Alan Modra a442a050ad [RS6000] Don't allow combine to form doloop pattern
* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
	(ctr<mode>): Add unspec.
	(ctr<mode>_internal*): Likewise.

From-SVN: r238207
2016-07-11 19:58:48 +09:30
Eric Botcazou 7352723b9e trans.c (add_decl_expr): Minor tweak.
* gcc-interface/trans.c (add_decl_expr): Minor tweak.
	* gcc-interface/utils.c (create_var_decl): For an external variable,
	also clear TREE_READONLY in LTO mode if the initializer is not a valid
	constant and set DECL_READONLY_ONCE_ELAB instead.

From-SVN: r238206
2016-07-11 08:16:48 +00:00
Eric Botcazou 833c1dbc60 re PR ada/71817 (suspicious condition in C code)
PR ada/71817
	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
	(__gnat_is_write_accessible_file): Likewise.

From-SVN: r238204
2016-07-11 07:41:11 +00:00
Jason Merrill 4adc6a122c remove gcc/cp/typeck.s
From-SVN: r238203
2016-07-11 01:35:23 -04:00
GCC Administrator 98e788e6a3 Daily bump.
From-SVN: r238202
2016-07-11 00:16:22 +00:00