Commit Graph

137780 Commits

Author SHA1 Message Date
Kyrylo Tkachov
0a78ebe4c7 [AArch64] Properly handle SHIFT ops and EXTEND in aarch64_rtx_mult_cost
* config/aarch64/aarch64.c (aarch64_shift_p): New function.
	(aarch64_rtx_mult_cost): Update comment to reflect that it also handles
	combined arithmetic-shift ops.  Properly handle all shift and extend
	operations that can occur in combination with PLUS/MINUS.
	Rename maybe_fma to compound_p.
	(aarch64_rtx_costs): Use aarch64_shift_p when costing compound
	arithmetic and shift operations.

From-SVN: r222624
2015-04-30 13:34:05 +00:00
Kyrylo Tkachov
2533c820b3 [AArch64] Use extend_arith rtx cost appropriately
* config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
	rather than arith_shift cost when costing ADD/MINUS of an
	extended value.

From-SVN: r222623
2015-04-30 13:30:49 +00:00
Marek Polacek
577cd07084 c-common.c (maybe_warn_bool_compare): When comparing with 0/1, require that the non-constant be of a boolean type.
* c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
	require that the non-constant be of a boolean type.

	* c-c++-common/Wbool-compare-3.c: New test.

From-SVN: r222622
2015-04-30 13:20:03 +00:00
Jan Hubicka
bb83a43d6b re PR tree-optimization/65948 (FAIL: g++.dg/lto/20101010-4 cp_lto_20101010-4_0.o-cp_lto_20101010-4_0.o link)
PR lto/65948
	* ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
	to itself.

From-SVN: r222621
2015-04-30 13:18:22 +00:00
James Norris
1309f1d25b [PR testsuite/65205] Fix dg-shouldfail usage in OpenACC libgomp tests
PR testsuite/65205
	libgomp/
	* testsuite/lib/libgomp.exp
	(check_effective_target_openacc_host_selected)
	(check_effective_target_openacc_host_nonshm_selected): New
	procedures.
	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
	dg-shouldfail.
	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.

From-SVN: r222620
2015-04-30 14:44:39 +02:00
Richard Sandiford
cebe850dfa genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests are for the same position.
gcc/
	* genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
	are for the same position.

From-SVN: r222618
2015-04-30 11:53:31 +00:00
François Dumont
e1c444fef0 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
* include/bits/cpp_type_traits.h
	(__gnu_cxx::__is_normal_iterator): Delete.
	* include/bits/stl_algobase.h (std::__niter_base): Adapt.
	* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
	(std::__niter_base): Overloads for std::reverse_iterator,
	__gnu_cxx::__normal_iterator and std::move_iterator.

From-SVN: r222617
2015-04-30 11:36:52 +00:00
Paolo Carlini
d2db6b291e re PR c++/57610 (Reference initialized with temporary instead of sub-object of conversion result)
2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57610
	* g++.dg/init/ref22.C: New.

From-SVN: r222615
2015-04-30 09:43:39 +00:00
Marek Polacek
ac9f18db1b c-typeck.c (c_incomplete_type_error): Refactor to use %qT.
* c-typeck.c (c_incomplete_type_error): Refactor to use %qT.  Print
	the type of a decl.

	* gcc.dg/incomplete-typedef-1.c: New test.

From-SVN: r222614
2015-04-30 09:35:05 +00:00
Marek Polacek
9babc35248 c-typeck.c (set_init_label): Call error_at instead of error and pass LOC to it.
* c-typeck.c (set_init_label): Call error_at instead of error and
	pass LOC to it.

	* gcc.dg/init-bad-8.c: New test.

From-SVN: r222613
2015-04-30 09:28:48 +00:00
Paolo Carlini
c064f154a6 re PR c++/59955 (Segmentation fault on (re?)defining a struct template as function template, when inside a struct tempate)
2015-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59955
	* g++.dg/template/crash121.C: New.

From-SVN: r222612
2015-04-30 09:04:04 +00:00
François Dumont
2f132d1d2c hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete.
2015-04-30  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
	Delete.
	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
	Remove usage of latter and compute size of the prime numbers array
	locally.

From-SVN: r222611
2015-04-30 07:13:37 +00:00
Aditya Kumar
2fc3c9a59b tree-vectorizer.c (set_uid_loop_bbs): New.
2015-04-29  Aditya Kumar  <hiraditya@hotmail.com>

        * tree-vectorizer.c (set_uid_loop_bbs): New.  Factored out of
        vectorize_loops.
        (vectorize_loops): Use it.

From-SVN: r222610
2015-04-29 23:42:54 -06:00
Jan Hubicka
32496fdde1 ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only for aggregate types.
* ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
	for aggregate types.
	(register_odr_type): Be ready for MAIN_VARIANT of ODR type
	type to be non_ODR.
	* tree.c (need_assembler_name_p): Compute mangled name for
	non-fundamental types and integer types.

From-SVN: r222609
2015-04-30 04:43:32 +00:00
Mikhail Maltsev
00c1cf38e1 dojump.c (do_compare_rtx_and_jump): Use std::swap instead of manual swaps.
2015-04-29  Mikhail Maltsev  <maltsevm@gmail.com>

        * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
        manual swaps.
        * expr.c (expand_expr_real_2): Likewise.

From-SVN: r222608
2015-04-29 21:47:40 -06:00
Jan Hubicka
fd2bbdfd97 tree.c (build_common_builtin_nodes): Do not build __builtin_alloca_with_align as equivalent of library alloca.
* tree.c (build_common_builtin_nodes): Do not build
	__builtin_alloca_with_align as equivalent of library alloca.

From-SVN: r222607
2015-04-30 02:58:43 +00:00
Jan Hubicka
b0845a1e51 dwarf2out.c (gen_type_die_with_usage): Call verify_type.
* dwarf2out.c (gen_type_die_with_usage): Call verify_type.
	* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
	bugus variants.
	* tree.c: Include print-tree.h and ipa-utils.h
	(free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
	(free_lang_data_in_cgraph): Call verify_type.
	(verify_type_variant): New function.
	(verify_type): New function.
	* tree.h (verify_type): Declare.

	* lto.c (lto_fixup_state): Call verify_type.

From-SVN: r222606
2015-04-30 02:45:54 +00:00
Trevor Saunders
e022edafa0 fixup libobjc's usage of PCC_BITFIELD_TYPE_MATTERS
libobjc/ChangeLog:

	* encoding.c (objc_layout_structure_next_member): check value of
	PCC_BITFIELD_TYPE_MATTERS instead of if it is defined.

From-SVN: r222605
2015-04-30 02:08:05 +00:00
GCC Administrator
631dc4f85e Daily bump.
From-SVN: r222603
2015-04-30 00:16:16 +00:00
Doug Evans
8996b63b09 re PR libstdc++/65839 (xmethods need updating once gdb decides how to fix 18285)
PR libstdc++/65839
	* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
	Replace all lookups of "bool" with this.
	(get_std_size_type): New function.  Replace all lookups of std::size_t
	with this.
	(*Worker): New method get_result_type.
	(DequeWorkerBase.__init__): New arg val_type.  All callers updated.
	(ListWorkerBase.__init__): New arg val_type.  All callers updated.
	(UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
	Delete setting of name, enabled.
	(UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
	updated.  Delete setting of name.
	(UniquePtrMethodsMatcher): Rewrite for consistency with all other
	libstdc++ xmethod matchers.
	* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
	* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
	* testsuite/libstdc++-xmethods/deque.cc: Ditto.
	* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
	* testsuite/libstdc++-xmethods/list.cc: Ditto.
	* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
	* testsuite/libstdc++-xmethods/vector.cc: Ditto.

From-SVN: r222599
2015-04-29 22:50:31 +00:00
Ian Lance Taylor
1dea42c94b compiler: Consider multi-result calls in escape analysis.
When building connection graphs between objects, the analysis
only handled calls of the form `call(...)` or `var := call(...)`.
Functions with multiple results being used e.g. `var, _ = call(...)`
were not analyzed, causing some escaping variables to be marked as
non-escaping.

From-SVN: r222598
2015-04-29 22:40:07 +00:00
Ian Lance Taylor
67b68b8139 compiler: Propagate escape info from closures to enclosed variables.
If a closure escapes, the enclosed variables must escape via the
closure.  Reachability analysis had a bug where the enclosed
variables were not considered as reachable from the closure.

From-SVN: r222597
2015-04-29 22:14:34 +00:00
Doug Evans
b693b8792e Use consistent naming for value type attributes.
* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
	to _val_type.
	(ArraySizeWorker, ArrayEmptyWorker): Ditto.
	(ArrayFrontWorker, ArrayBackWorker): Ditto.
	(ArrayAtWorker, ArraySubscriptWorker): Ditto.
	(DequeWorkerBase): Rename elemtype to val_type.
	(ForwardListWorkerBase): Rename _elem_type to _val_type.
	(ForwardListFrontWorker): Ditto.  And rename elem_address to
	val_address.
	(ForwardListMethodsMatcher): Rename elem_type to val_type.
	(VectorWorkerBase): Rename _elemtype to _val_type.

From-SVN: r222596
2015-04-29 21:57:04 +00:00
Ian Lance Taylor
081564faed runtime: Support -buildmode=c-shared.
These changes permit using the go tool from the upcoming Go
1.5 release with -buildmode=c-archive to build gccgo code into
an archive file that can be linked with a C program.

From-SVN: r222594
2015-04-29 21:31:53 +00:00
Steve Ellcey
2f79da78f3 mips-cpus.def: (mips4): Change default processor from PROCESSOR_R8000 to PROCESSOR_R10000.
2015-04-29  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mips-cpus.def: (mips4): Change default processor
	from PROCESSOR_R8000 to PROCESSOR_R10000.

From-SVN: r222593
2015-04-29 21:09:10 +00:00
Uros Bizjak
ec4c68c8d0 re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
        * config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
        (*bmi2_bzhi_<mode>3_1_cczonly): Ditto.
        (setcc+movzbl peephole2): Check also clobbered reg.
        (setcc+andl peephole2): Ditto.

From-SVN: r222592
2015-04-29 22:58:25 +02:00
Jason Merrill
9f7fb685d9 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
	* tree.c (apply_identity_attributes): Fix handling of classes.

From-SVN: r222591
2015-04-29 16:51:05 -04:00
Josh Triplett
0373796b4d c-common.c (handle_section_attribute): Refactor to reduce nesting and distinguish between error cases.
* c-common.c (handle_section_attribute): Refactor to reduce
        nesting and distinguish between error cases.

From-SVN: r222590
2015-04-29 14:32:41 -06:00
Petar Jovanovic
8d92d2743c mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.
gcc/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
	la/jalr instead of jal.

gcc/testsuite/ChangeLog:

2015-04-21  Petar Jovanovic  <petar.jovanovic@rt-rk.com>

	* gcc.target/mips/call-from-init.c: New test.
	* gcc.target/mips/mips.exp: Add section_start to mips_option_groups.

From-SVN: r222589
2015-04-29 16:28:52 -04:00
Uros Bizjak
3c908a5b5c re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
	* config/i386/i386.md (*bmi_bextr_<mode>_cczonly): New pattern.
	(*bmi2_bzhi_<mode>3_1_cczonly): Ditto.

testsuite/ChangeLog:

	PR target/65871
	* gcc.target/i386/pr65871-1.c: New test
	* gcc.target/i386/pr65871-2.c: Ditto.

From-SVN: r222588
2015-04-29 20:53:19 +02:00
Marek Polacek
716c0ba6bf re PR c/64610 (No -Wbool-compare warning on "(0 != a) >= 0")
PR c/64610
	* c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
	with 0/1.

	* c-c++-common/Wbool-compare-1.c (fn1): Remove a few lines.
	* c-c++-common/Wbool-compare-2.c: New test.

From-SVN: r222587
2015-04-29 18:13:44 +00:00
Bernd Schmidt
d28ad5d4c5 Fix libgcc installation for offload targets.
* Makefile.in (real_host_noncanonical): New variable.
	(libsubdir): Use it.
	* configure.ac (real_host_noncanonical): Compute.  Remove special
	case for intelmicemul.
	* configure: Regenerate.

From-SVN: r222585
2015-04-29 16:52:45 +00:00
Thomas Schwinge
f82a9d904e [PR libgomp/65099] nvptx mkoffload: pass "-m32" or "-m64" to the compiler
... depending on "-foffload-abi=[...]".

Coding style/code copied from gcc/config/i386/intelmic-mkoffload.c for
consistency.

	gcc/
	* config/nvptx/mkoffload.c (target_ilp32): New variable.
	(main): Set it depending on "-foffload-abi=[...]".
	(compile_native, main): Use it to pass "-m32" or "-m64" to the
	compiler.

From-SVN: r222583
2015-04-29 18:23:26 +02:00
Alan Lawrence
aaf3de7ab2 [AArch64] Fix PR/65770 vstN_lane on bigendian
gcc/:

	* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
	vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
	Flip lane index back at assembly time for bigendian.

gcc/testsuite/:

	* gcc.target/aarch64/vstN_lane_1.c: New file.

From-SVN: r222582
2015-04-29 16:10:27 +00:00
Jonathan Wakely
952bc7a64c re PR libstdc++/65760 (invalid use of incomplete type with std::is_convertible<C, C>)
PR libstdc++/65760
	* include/std/functional (__check_func_return_type): Use is_same to
	avoid using _is_convertible on incomplete types.
	* testsuite/20_util/function/65760.cc: New.

From-SVN: r222581
2015-04-29 17:07:47 +01:00
Thomas Schwinge
b811915de1 Add OMP_STANDALONE_CLAUSES.
gcc/
	* tree.h (OMP_STANDALONE_CLAUSES): New macro.
	* gimplify.c (gimplify_omp_workshare): Use it.
	gcc/c/
	* c-parser.c (c_parser_oacc_enter_exit_data): Use
	OMP_STANDALONE_CLAUSES.
	gcc/cp/
	* parser.c (cp_parser_oacc_enter_exit_data): Use
	OMP_STANDALONE_CLAUSES.

From-SVN: r222580
2015-04-29 17:44:41 +02:00
Jonathan Wakely
f970a17d6f re PR libstdc++/64657 (Support iterators with overloaded operator-comma)
PR libstdc++/64657
	* include/bits/basic_string (basic_string::_S_copy_chars): Cast
	expression to void.
	* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
	time_get::_M_extract_num, time_get::_M_extract_name,
	time_get::_M_extract_wday_or_month): Likewise.
	* include/bits/stl_algo.h (__includes, __replace_copy_if,
	__is_sorted_until, __is_permutation, transform): Likewise.
	* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
	__equal::equal, __lexicographical_compare_impl, equal): Likewise.
	* include/bits/stl_numeric.h (inner_product): Likewise.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
	input_iterator_wrapper): Declare unusable comma operator.
	* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
	* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
	New.

From-SVN: r222579
2015-04-29 16:22:13 +01:00
Paolo Carlini
0aa359c18f re PR c++/64667 (-Winit-self ignored for reference fields)
/cp
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64667
	* init.c (perform_member_init): Handle references for -Winit-self.

/testsuite
2015-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64667
	* g++.dg/warn/Winit-self-3.C: New.

From-SVN: r222577
2015-04-29 14:06:27 +00:00
Richard Sandiford
72d33bd3d2 Makefile.in (build/genrecog.o): Depend on inchash.h.
gcc/
	* Makefile.in (build/genrecog.o): Depend on inchash.h.
	(build/genrecog$(build_exeext): Depend on build/hash-table.o and
	build/inchash.o
	* genrecog.c: Rewrite most of the code except for the third page.

From-SVN: r222575
2015-04-29 13:32:59 +00:00
Richard Sandiford
34ba5affde inchash.h, inchash.c: Include bconfig.h for build objects.
gcc/
	* inchash.h, inchash.c: Include bconfig.h for build objects.
	* Makefile.in (build/inchash.o): New rule.

From-SVN: r222574
2015-04-29 13:32:34 +00:00
Uros Bizjak
94a8281152 namelist_87.f90: Use dg-add-options ieee.
* gfortran.dg/namelist_87.f90: Use dg-add-options ieee.

From-SVN: r222573
2015-04-29 13:53:39 +02:00
Yvan Roux
b43482db17 re PR target/65924 (ICE const_int_operand failed on arm-none-eabi)
gcc/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65924
	* config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
	number in type attribute expression.

gcc/testsuite/
2015-04-29  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65924
	* gcc.target/arm/pr65924.c: New test.

From-SVN: r222572
2015-04-29 11:31:40 +00:00
Richard Sandiford
674dd7103b loop-iv.c (canon_condition): Generalize to all types of integer constant.
gcc/
	* loop-iv.c (canon_condition): Generalize to all types of integer
	constant.

From-SVN: r222571
2015-04-29 11:12:17 +00:00
Bernhard Reutner-Fischer
917c68f565 gimple-walk.c #include TLC
Also look at return values of parse_input_constraint and
parse_output_constraint.

From-SVN: r222569
2015-04-29 12:45:31 +02:00
Alan Lawrence
ee9da432b6 [ARM]Remove vec_shr and vec_shr optabs
* config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.

From-SVN: r222568
2015-04-29 10:13:36 +00:00
Tom de Vries
32966af8aa Move pass_stdarg to after pass_dce in pass_all_optimizations
2015-04-29  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65893
	* passes.def (pass_all_optimizations): Move pass_stdarg to after
	pass_dce.

From-SVN: r222567
2015-04-29 09:13:49 +00:00
Thomas Schwinge
2c8f068300 Fix OpenMP's target update directive in templated code.
FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++98 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++11 (test for excess errors)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (internal compiler error)
    FAIL: g++.dg/gomp/tpl-target-update.C  -std=c++14 (test for excess errors)

    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C: In instantiation of 'void f(T, T) [with T = int]':
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:19:9:   required from here
    [...]/source-gcc/gcc/testsuite/g++.dg/gomp/tpl-target-update.C:10:9: internal compiler error: tree check: expected oacc_parallel or oacc_kernels or oacc_data or oacc_host_data or omp_parallel or omp_task or omp_for or omp_simd or cilk_simd or cilk_for or omp_distribute or oacc_loop or omp_teams or omp_target_data or omp_target or omp_sections or omp_single, have omp_target_update in tsubst_expr, at cp/pt.c:14209
    0xf5aae1 tree_range_check_failed(tree_node const*, char const*, int, char const*, tree_code, tree_code)
            [...]/source-gcc/gcc/tree.c:9384
    0x66e201 tree_range_check
            [...]/source-gcc/gcc/tree.h:2979
    0x66e201 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:14209
    0x6695e3 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13752
    0x66ac07 tsubst_expr
            [...]/source-gcc/gcc/cp/pt.c:13938
    0x667c41 instantiate_decl(tree_node*, int, bool)
            [...]/source-gcc/gcc/cp/pt.c:20367
    0x6ae386 instantiate_pending_templates(int)
            [...]/source-gcc/gcc/cp/pt.c:20484
    0x6edc3d cp_write_global_declarations()
            [...]/source-gcc/gcc/cp/decl2.c:4456

	gcc/cp/
	* pt.c (tsubst_expr) <OMP_TARGET_UPDATE>: Use
	OMP_TARGET_UPDATE_CLAUSES instead of OMP_CLAUSES.
	gcc/testsuite/
	* g++.dg/gomp/tpl-target-update.C: New file.

From-SVN: r222564
2015-04-29 11:04:31 +02:00
Richard Biener
b504063421 re PR tree-optimization/65917 (XFAIL: gcc.dg/tree-ssa/20030922-2.c scan-tree-dump-times dom1 "if " 2)
2015-04-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65917
	* gcc.dg/tree-ssa/20030922-2.c: Disable ifcombine and XFAIL.

From-SVN: r222562
2015-04-29 08:51:08 +00:00
Jakub Jelinek
8848828bec c-common.h (omp_clause_mask): Unconditionally define as a class.
* c-common.h (omp_clause_mask): Unconditionally define as a class.
	Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
	HOST_BITS_PER_WIDE_INT.

From-SVN: r222561
2015-04-29 10:25:11 +02:00
Richard Biener
c804769945 tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_SIZE for basic-block SLP.
2015-04-29  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_analyze_group_access): Properly
	compute GROUP_SIZE for basic-block SLP.
	* tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
	take into account gaps.
	(vect_get_mask_element): Properly reject references to previous
	vectors.
	(vect_transform_slp_perm_load): Likewise.

From-SVN: r222560
2015-04-29 08:15:52 +00:00