Commit Graph

145200 Commits

Author SHA1 Message Date
Jakub Jelinek 0f87543524 re PR c++/70488 (ICE in tree.c:7345 triggered by warning of placement new too small on VLA)
PR c++/70488
	* init.c (warn_placement_new_too_small): Test whether
	DECL_SIZE_UNIT or TYPE_SIZE_UNIT are integers that fit into uhwi.

	* g++.dg/init/new47.C: New test.

Co-Authored-By: Marek Polacek <polacek@redhat.com>

From-SVN: r234676
2016-04-01 17:27:11 +02:00
Ramana Radhakrishnan 41d146597c re PR target/70496 (inadvertent change to ASM_APP_OFF for .arm / .thumb directives.)
Fix PR target/70496

While doing the unified asm rewrite - I inadvertently changed the
meaning of ASM_APP_OFF which causes failures when folks who know what
they are doing switch between arm and thumb states within a
function. The intent of the unified asm rewrite was not to affect any
inline assembler code in that it would remain in divided syntax by
default and switching back to unified asm in normal compiled code
after the inline assembler block. Thanks to Jim Wilson for pointing it
out on the linaro list.

Fixed thusly and a test is added. Tested arm-none-eabi cross and
applied.

Ramana

2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/70496
	* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM
	and TARGET_THUMB.

2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/70496
	* gcc.target/arm/pr70496.c: New test.

From-SVN: r234675
2016-04-01 14:58:53 +00:00
Nathan Sidwell 9553dd73e1 * tree.def (TRY_CATCH_EXPR): Correct documentation.
From-SVN: r234671
2016-04-01 12:57:52 +00:00
Nathan Sidwell 73b9085d70 fix flubbed changelog
From-SVN: r234668
2016-04-01 12:12:27 +00:00
Nathan Sidwell f9bf89bb6a re PR c++/68475 (ICE: in merge_exception_specifiers, at cp/typeck2.c:2115 with -fno-exceptions on invalid code)
PR c++/68475
	* decl.c (check_redeclaration_exception_specification): Check
	regardless of -fno-exceptions.
	* typeck2.c (merge_exception_specifiers): Relax assert by checking
	flag_exceptions too.

	* g++.dg/g++.dg/cpp0x/noexcept29.C: New.

From-SVN: r234667
2016-04-01 12:10:17 +00:00
Ilya Enkovich 4afdcfaa6f re PR target/69890 (FAIL: gcc.target/i386/chkp-* on x86_64-apple-darwin15)
gcc/testsuite/

	PR target/69890
	* gcc.dg/strlenopt.h (memmove): New.
	* gcc.target/i386/chkp-strlen-1.c: Include "../../gcc.dg/strlenopt.h"
	instead of "string.h".
	* gcc.target/i386/chkp-strlen-2.c: Likewise.
	* gcc.target/i386/chkp-strlen-3.c: Likewise.
	* gcc.target/i386/chkp-strlen-4.c: Likewise.
	* gcc.target/i386/chkp-strlen-5.c: Likewise.
	* gcc.target/i386/chkp-stropt-1.c: Likewise.
	* gcc.target/i386/chkp-stropt-10.c: Likewise.
	* gcc.target/i386/chkp-stropt-11.c: Likewise.
	* gcc.target/i386/chkp-stropt-12.c: Likewise.
	* gcc.target/i386/chkp-stropt-13.c: Likewise.
	* gcc.target/i386/chkp-stropt-14.c: Likewise.
	* gcc.target/i386/chkp-stropt-15.c: Likewise.
	* gcc.target/i386/chkp-stropt-16.c: Likewise.
	* gcc.target/i386/chkp-stropt-2.c: Likewise.
	* gcc.target/i386/chkp-stropt-3.c: Likewise.
	* gcc.target/i386/chkp-stropt-4.c: Likewise.
	* gcc.target/i386/chkp-stropt-5.c: Likewise.
	* gcc.target/i386/chkp-stropt-6.c: Likewise.
	* gcc.target/i386/chkp-stropt-7.c: Likewise.
	* gcc.target/i386/chkp-stropt-8.c: Likewise.
	* gcc.target/i386/chkp-stropt-9.c: Likewise.

From-SVN: r234666
2016-04-01 10:40:51 +00:00
GCC Administrator dad820dfa4 Daily bump.
From-SVN: r234661
2016-04-01 00:16:13 +00:00
Rainer Orth b5d7a29ca5 Fix g++.dg/template/ptrmem30.C with Solaris ld
* g++.dg/template/ptrmem30.C (read): Rename to data_read.
	(Holder::foo): Reflect this.

From-SVN: r234652
2016-03-31 20:06:38 +00:00
Vladimir Makarov c4b1942cb7 re PR rtl-optimization/70461 (Performance regression after r234527)
2016-03-31  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70461
	* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
	is necessary.

From-SVN: r234649
2016-03-31 17:51:13 +00:00
Martin Liska 6f652a5072 re PR hsa/70399 (HSA: Wrong emission of st_align(4)_u8 HSAIL insn)
Fix PR hsa/70399

	PR hsa/70399
	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
	a tree value or an immediate integer value to a buffer
	that is eventually copied to a BRIG section.
	(emit_immediate_operand): Call the function here.
	* hsa-dump.c (dump_hsa_immed): Remove checking assert.
	* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
	of class' fields that are removed.
	(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
	* hsa.h (class hsa_op_immed): Remove m_brig_repr and
	m_brig_repr_size fields.

From-SVN: r234647
2016-03-31 17:28:29 +00:00
Jeff Law c1c341ab92 Add BZ markers to last commit
From-SVN: r234646
2016-03-31 11:23:21 -06:00
Mikhail Maltsev 916268f1f2 cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing btypevec/ktypevec.
* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
	btypevec/ktypevec.
	* testsuite/demangle-expected: Add coverage tests.

From-SVN: r234645
2016-03-31 11:20:53 -06:00
Martin Liska 65e2146726 HSA: handle alignment of string builtins (PR hsa/70391)
PR hsa/70391
	* hsa-gen.c (hsa_function_representation::update_dominance): New
	function.
	(convert_addr_to_flat_segment): Likewise.
	(gen_hsa_memory_set): New alignment argument.
	(gen_hsa_ctor_assignment): Likewise.
	(gen_hsa_insns_for_single_assignment): Provide alignment
	to gen_hsa_ctor_assignment.
	(gen_hsa_insns_for_direct_call): Add new argument.
	(expand_lhs_of_string_op): New function.
	(expand_string_operation_builtin): Likewise.
	(expand_memory_copy): New function.
	(expand_memory_set): New function.
	(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
	(convert_switch_statements): Change signature.
	(generate_hsa): Use a return value of the function.
	(pass_gen_hsail::execute): Do not call
	convert_switch_statements here.
	* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
	* hsa.h (hsa_function_representation::m_modified_cfg):
	New flag.
	(hsa_function_representation::update_dominance): New function.

From-SVN: r234644
2016-03-31 17:10:48 +00:00
Martin Liska 320c1a3679 HSA: support alignment for hsa_symbols (PR hsa/70391)
PR hsa/70391
	* hsa-brig.c (emit_directive_variable): Emit alignment
	according to hsa_symbol::m_align.
	* hsa-dump.c (hsa_byte_alignment): Move the function to
	another file.
	(dump_hsa_symbol): Dump alignment of HSA symbols.
	* hsa-gen.c (get_symbol_for_decl): Set-up alignment
	of a symbol.
	(gen_hsa_addr_with_align): New function.
	(hsa_bitmemref_alignment): Use newly added function.
	(gen_hsa_insns_for_load): Likewise.
	(gen_hsa_insns_for_store): Likewise.
	(gen_hsa_memory_copy): New argument added.
	(gen_hsa_insns_for_single_assignment): Respect
	alignment for assignments processed via
	gen_hsa_memory_copy.
	(gen_hsa_insns_for_direct_call): Likewise.
	(gen_hsa_insns_for_return): Likewise.
	(gen_function_def_parameters): Set default
	alignment.
	* hsa.c (hsa_object_alignment): New function.
	(hsa_byte_alignment): Pasted function.
	* hsa.h (hsa_symbol::m_align): New field.

From-SVN: r234643
2016-03-31 17:10:15 +00:00
Nathan Sidwell 8f80cbdb26 decl.c (start_preparsed_function): Remove unnecessary bracing.
* decl.c (start_preparsed_function): Remove unnecessary bracing.
	(finish_destructor_body): Don't emit operator delete here.

From-SVN: r234640
2016-03-31 16:18:27 +00:00
Bin Cheng 865c2770db tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize scratch field for goto case.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
	scratch field for goto case.

From-SVN: r234639
2016-03-31 16:17:44 +00:00
James Greenhalgh 5918459a1d [Patch ARM] Delete ASM_OUTPUT_DEF and fall back to default .set directive
gcc/

	* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.

From-SVN: r234638
2016-03-31 15:48:47 +00:00
Ilya Enkovich b660f9ec7e re PR target/70442 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "extract_insn")
gcc/

	PR target/70442
	* config/i386/i386.c (scalar_chain::convert_op): Fix
	description.
	(scalar_chain::convert_insn): Call convert_op for reg
	moves to handle undefined registers.

gcc/testsuite/

	PR target/70442
	* gcc.dg/pr70442.c: New test.

From-SVN: r234637
2016-03-31 15:37:12 +00:00
Nathan Sidwell 88504f3435 re PR c++/70393 (Miscompilation: missing constructor call for static object)
PR c++/70393
	* varasm.c (output_constructor_regular_field): Flush bitfield
	earlier.  Assert we don't want to move backwards.

	cp/
	* constexpr.c (cxx_eval_store_expression): Keep CONSTRUCTOR
	elements in field order.

	testsuite/
	* g++.dg/cpp0x/constexpr-virtual6.C: New.

From-SVN: r234636
2016-03-31 15:30:33 +00:00
Kirill Yukhin 95d34b9618 re PR target/70453 (gcc generates invalid instruction vextractu64x4 (should be: vextracti64x4))
Fix PR target/70453.

gcc/
	* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.

gcc/testsuite/
	* gcc.target/i386/pr70453.c: New test.

From-SVN: r234634
2016-03-31 15:23:29 +00:00
Andrey Belevantsev b4c4967c97 re PR target/70292 (ICE in verify_target_availability, at sel-sched.c:1584 with -fno-inline -fno-dce -fschedule-insns -fselective-scheduling -fno-tree-dce -O1)
PR target/70292
        * gcc.c-torture/pr70292.c: New test.

From-SVN: r234627
2016-03-31 17:37:08 +03:00
Marek Polacek 5fde6a45eb re PR c/70297 (GCC Segfaults when using -g3)
PR c/70297
	* c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.

	* decl.c (duplicate_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.

	* c-c++-common/pr70297.c: New test.
	* g++.dg/cpp0x/typedef-redecl.C: New test.
	* gcc.dg/typedef-redecl2.c: New test.

From-SVN: r234626
2016-03-31 14:29:15 +00:00
Jakub Jelinek 97eb24c42a re PR rtl-optimization/70460 (Miscompilation of glibc on i686-linux starting with r234101)
PR rtl-optimization/70460
	* ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
	with operand from REG_LABEL_OPERAND, instead substitute
	SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
	Don't do anything for REG_NON_LOCAL_GOTO jumps.

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

From-SVN: r234614
2016-03-31 15:00:52 +02:00
Martin Liska d4aff57bc0 Do not call todo_after for a discarded function
* passes.c (execute_one_pass): Do not call
	todo_after for a discarded function.

From-SVN: r234613
2016-03-31 10:42:55 +00:00
Bin Cheng 515558b8ff tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
* tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
	(no_cost, infinite_cost): Initialize the new field.
	(get_computation_cost_at): Record setup cost.
	(determine_use_iv_cost_address): Skip cost computation for sub
	uses if we can estimate it without losing accuracy.

From-SVN: r234612
2016-03-31 08:57:13 +00:00
Richard Biener efc3536f46 re PR c++/70430 (Incorrect result for logical "and" operation with mixed vector and scalar)
2016-03-31  Richard Biener  <rguenther@suse.de>

	PR c++/70430
	* typeck.c (cp_build_binary_op): Fix operand order of vector
	conditional in truth op handling.

	* g++.dg/ext/vector30.C: New testcase.

From-SVN: r234611
2016-03-31 08:49:09 +00:00
GCC Administrator 4a4932eefd Daily bump.
From-SVN: r234607
2016-03-31 00:16:18 +00:00
Dominique d'Humieres e0876e21cf [multiple changes]
2016-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR libgfortran/70235
	* io/write_float.def: Fix PF format for negative values of the scale
	factor.

2016-03-30  Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/fmt_pf.f90: New test.

From-SVN: r234600
2016-03-30 22:47:45 +02:00
Joseph Myers c73f71b700 * da.po: Update.
From-SVN: r234588
2016-03-30 18:52:59 +01:00
Rainer Orth e9bff8c6f0 Forward-port gcc.target/i386/avx-vextractf128-256-5.c from 5 branch (PR testsuite/70356)
Forward-port from 5 branch
	2016-03-30  Jakub Jelinek  <jakub@redhat.com>

	PR testsuite/70356
	* gcc.target/i386/avx-vextractf128-256-5.c: Move
	dg-require-effective-target after dg-do.

	2015-12-30  Kirill Yukhin  <kirill.yukhin@intel.com>

	* gcc.target/i386/avx-vextractf128-256-5.c: New test.

From-SVN: r234580
2016-03-30 17:08:08 +00:00
Thomas Schwinge 2620c80db0 Update OpenACC test cases
gcc/testsuite/
	* c-c++-common/goacc/combined-directives.c: Clean up dg-*
	directives.
	* c-c++-common/goacc/loop-clauses.c: Likewise.
	* g++.dg/goacc/template.C: Likewise.
	* gfortran.dg/goacc/combined-directives.f90: Likewise.
	* gfortran.dg/goacc/loop-1.f95: Likewise.
	* gfortran.dg/goacc/loop-5.f95: Likewise.
	* gfortran.dg/goacc/loop-6.f95: Likewise.
	* gfortran.dg/goacc/loop-tree-1.f90: Likewise.
	* c-c++-common/goacc-gomp/nesting-1.c: Update.
	* c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
	* c-c++-common/goacc/clauses-fail.c: Likewise.
	* c-c++-common/goacc/parallel-1.c: Likewise.
	* c-c++-common/goacc/reduction-1.c: Likewise.
	* c-c++-common/goacc/reduction-2.c: Likewise.
	* c-c++-common/goacc/reduction-3.c: Likewise.
	* c-c++-common/goacc/reduction-4.c: Likewise.
	* c-c++-common/goacc/routine-3.c: Likewise.
	* c-c++-common/goacc/routine-4.c: Likewise.
	* c-c++-common/goacc/routine-5.c: Likewise.
	* c-c++-common/goacc/tile.c: Likewise.
	* g++.dg/goacc/template.C: Likewise.
	* gfortran.dg/goacc/combined-directives.f90: Likewise.
	* c-c++-common/goacc/nesting-1.c: Move dg-error test cases into...
	* c-c++-common/goacc/nesting-fail-1.c: ... this file.  Update.
	* c-c++-common/goacc/kernels-1.c: Update.  Incorporate...
	* c-c++-common/goacc/kernels-empty.c: ... this file, and...
	* c-c++-common/goacc/kernels-eternal.c: ... this file, and...
	* c-c++-common/goacc/kernels-noreturn.c: ... this file.
	* c-c++-common/goacc/host_data-1.c: New file.  Incorporate...
	* c-c++-common/goacc/use_device-1.c: ... this file.
	* c-c++-common/goacc/host_data-2.c: New file.  Incorporate...
	* c-c++-common/goacc/host_data-5.c: ... this file, and...
	* c-c++-common/goacc/host_data-6.c: ... this file.
	* c-c++-common/goacc/loop-2-kernels.c: New file.
	* c-c++-common/goacc/loop-2-parallel.c: Likewise.
	* c-c++-common/goacc/loop-3.c: Likewise.
	* g++.dg/goacc/reference.C: Likewise.
	* g++.dg/goacc/routine-1.C: Likewise.
	* g++.dg/goacc/routine-2.C: Likewise.
	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
	* testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
	* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
	XFAIL.
	* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
	Incorporate...
	* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
	file.
	* testsuite/libgomp.oacc-c++/template-reduction.C: New file.
	* testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/private-variables.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
	* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
	Likewise.
	* testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
	file...
	* testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
	file into...
	* testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
	file.  Update.
	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
	file.
	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
	* testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
	... this new file.  Update.
	* testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
	* testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
	... this new file.  Update.
	* testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
	file.  Incorporate...
	* testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
	file, and...
	* testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
	file, and...
	* testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
	file.
	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
Co-Authored-By: James Norris <jnorris@codesourcery.com>
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r234575
2016-03-30 17:08:47 +02:00
Jan Hubicka ba9c755f25 tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic estimates here.
* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
	estimates here.
	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
	max_loop_iterations_int.
	(tree_unswitch_outer_loop): Likewise.
	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.

From-SVN: r234572
2016-03-30 14:30:57 +00:00
Richard Biener f6d2d066c2 re PR target/70450 (Wrong code with -O0 and -O1.)
2016-03-30  Richard Biener  <rguenther@suse.de>

	PR middle-end/70450
	* fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from
	usage.

	* gcc.dg/torture/pr70450.c: New testcase.

From-SVN: r234571
2016-03-30 14:18:28 +00:00
Jakub Jelinek d43242b9b9 re PR target/70421 (wrong code with v16si vector and useless cast at -O -mavx512f)
PR target/70421
	* config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
	in gen_blendm expander.

	* gcc.dg/torture/pr70421.c: New test.
	* gcc.target/i386/avx512f-pr70421.c: New test.

From-SVN: r234569
2016-03-30 16:06:51 +02:00
Nick Clifton 1f73ef6c45 re PR target/62254 (gcc-4.9 ICEs on linux kernel zlib for armv3)
PR target/62254
	* config/arm/arm.c (arm_reload_out_hi): Add code to handle the
	case where we are already provided with an SImode SUBREG.

From-SVN: r234568
2016-03-30 12:48:42 +00:00
H.J. Lu 41ec61d3ef Properly check conflict between DRAP register and __builtin_eh_return
Since %ecx can't be used for both DRAP register and __builtin_eh_return,
we need to check if crtl->drap_reg uses %ecx before using %ecx for
__builtin_eh_return.

	PR target/70439
	* config/i386/i386.c (ix86_expand_epilogue): Properly check
	conflict between DRAP register and __builtin_eh_return.

From-SVN: r234559
2016-03-30 05:38:36 -07:00
H.J. Lu a5463d2325 Properly align stack in gcc.target/i386/cleanup-[12].c
PR testsuite/70364
	* gcc.target/i386/cleanup-1.c: Include <stddef.h>.
	(check): New function.
	(bar): Call check.
	(foo): Align stack to 16 bytes when calling bar.
	* gcc.target/i386/cleanup-2.c: Likewise.

From-SVN: r234557
2016-03-30 05:37:37 -07:00
Michael Matz 9c49362f03 re PR middle-end/12392 (very long optimized compile)
2016-03-30  Michael Matz  <matz@suse.de>
	Richard Biener  <rguenther@suse.de>

	PR ipa/12392
	* ipa-polymorphic-call.c (struct type_change_info): Change
	speculative to an unsigned allowing to limit the work we do.
	(csftc_abort_walking_p): New inline function..
	(check_stmt_for_type_change): Limit the number of may-defs
	skipped for speculative devirtualization to
	max-speculative-devirt-maydefs.
	* params.def (max-speculative-devirt-maydefs): New param.
	* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.

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

From-SVN: r234546
2016-03-30 07:47:40 +00:00
Mike Stump ff734e26c2 re PR target/63890 (Compiling trivial program with -O -p leads to misaligned stack)
PR target/63890
	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
	and TARGET_MACHO.

	* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1

From-SVN: r234545
2016-03-29 21:57:30 -06:00
Patrick Palka d014a712e0 PR tree-optimization/59124 (bogus -Warray-bounds warning)
gcc/ChangeLog:

	PR tree-optimization/59124
	* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
	where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).

gcc/testsuite/ChangeLog:

	PR tree-optimization/59124
	* gcc.dg/Warray-bounds-19.c: New test.

From-SVN: r234544
2016-03-30 00:55:00 +00:00
GCC Administrator 3c258984f4 Daily bump.
From-SVN: r234542
2016-03-30 00:16:20 +00:00
Jeff Law 0e118e94c1 tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
* tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in
	comment.

From-SVN: r234538
2016-03-29 16:26:28 -06:00
Jan Hubicka 3c10b1e6b9 tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel to HOST_WIDE_INT.
* tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
	to HOST_WIDE_INT.

From-SVN: r234537
2016-03-29 22:03:00 +00:00
Thomas Schwinge 0987bf0d7e [Hurd] Specs maintenance
gcc/
	* config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
	gcrt0.o if linking dynamically.

From-SVN: r234535
2016-03-29 23:17:53 +02:00
Samuel Thibault cf081cb66f [Hurd, kFreeBSD] boehm-gc: Use mmap instead of brk
boehm-gc/
	* configure.host: Set gc_use_mmap on *-kfreebsd-gnu* and *-gnu*.
	* include/private/gcconfig.h [HURD && USE_MMAP]: Define
	USE_MMAP_ANON.

From-SVN: r234534
2016-03-29 23:05:07 +02:00
Zachary T Welch 13f0e8c7e7 prune.exp (escape_regex_chars): New.
2016-03-29  Zachary T Welch <zwelch@codesourcery.com>

	* lib/prune.exp (escape_regex_chars): New.
	(prune_file_path): Update to quote metcharacters for regexp.

From-SVN: r234533
2016-03-29 19:56:35 +00:00
Jan Hubicka f8a1abf8e3 re PR lto/70283 (bogus vtable mismatch warnings)
PR ipa/70283
	* ipa-devirt.c (methods_equal_p): New function.
	(compare_virtual_tables): Use it.
	* cgraph.h (symbol_table::symbol_suffix_separator): Declare.
	* cgraphclones.c (clone_function_name_1): Use
	symbol_table::symbol_suffix_separator.
	* coverage.c (build_var): Likewise.
	* symtab.c (symbol_table::symbol_suffix_separator): New.

From-SVN: r234532
2016-03-29 19:37:55 +00:00
Jakub Jelinek a362f023e5 re PR rtl-optimization/70429 (Wrong code with -O1.)
PR rtl-optimization/70429
	* combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
	(cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
	mode != result_mode.

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

From-SVN: r234531
2016-03-29 20:49:00 +02:00
Jason Merrill e0bffbbb59 re PR c++/70353 (ICE on __PRETTY_FUNCTION__ in a constexpr function)
PR c++/70353

gcc/
	* tree-inline.c (remap_decls): Don't add_local_decl if
	cfun is null.
gcc/cp/
	* decl.c (make_rtl_for_nonlocal_decl): Don't defer local statics
	in constexpr functions.

From-SVN: r234530
2016-03-29 14:40:02 -04:00
Jakub Jelinek 3336c6e093 re PR tree-optimization/70405 (-fcompare-debug failure with -mavx512f)
PR tree-optimization/70405
	* ssa-iterators.h (num_imm_uses): Add missing braces.

	* gcc.dg/pr70405.c: New test.

From-SVN: r234529
2016-03-29 19:33:52 +02:00