Commit Graph

145205 Commits

Author SHA1 Message Date
H.J. Lu
5ce43b77b9 Add missing ChangeLog entry for PR testsuite/70364
From-SVN: r234692
2016-04-01 17:18:41 -07:00
GCC Administrator
b7b937e8ec Daily bump.
From-SVN: r234691
2016-04-02 00:16:13 +00:00
Evandro Menezes
907e22e847 [AArch64] Fix SIMD predicate
Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate the
"Y" constraint (scalar FP 0.0 immediate).

	* gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
	Add the "const_double" to the list of operand constraints.

From-SVN: r234685
2016-04-01 19:55:52 +00:00
Jakub Jelinek
763cd859a1 re PR rtl-optimization/70467 (Useless "and [esp],-1" emitted on AND with uint64_t variable)
PR rtl-optimization/70467
	* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
	If low word of the last operand is 0, just emit addition/subtraction
	for the high word.

	* gcc.target/i386/pr70467-2.c: New test.

From-SVN: r234679
2016-04-01 18:08:21 +02:00
Andreas Krebbel
e7067fcdb5 PR70404 S/390: Fix insv expansion.
While the expander accepts general_operand as src operand the risbg
pattern only immediate_operand.  Unfortunately the expander called
force_reg only for VOIDmode constants missing things like
e.g. symbol_refs.  Fixed with the attached patch.

gcc/ChangeLog:

2016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	PR target/70404
	* config/s390/s390.c (s390_expand_insv): Check for everything
	constant instead of just VOIDmode stuff.

From-SVN: r234678
2016-04-01 15:35:54 +00:00
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