Commit Graph

149639 Commits

Author SHA1 Message Date
Maxim Ostapenko
fe7913f688 re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
PR sanitizer/63958
	Reapply:
	2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewise.
	(IOC_SIZE): Likewsie.

From-SVN: r241978
2016-11-09 00:06:02 +02:00
Maxim Ostapenko
1018981977 All source files: Merge from upstream 285547.
libsanitizer/

	* All source files: Merge from upstream 285547.
	* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): New
	variable.
	* configure.ac (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Handle it.
	* asan/Makefile.am (asan_files): Add new files.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Likewise.
	* lsan/Makefile.in: Likewise.
	* tsan/Makefile.am (tsan_files): Add new files.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Add new files.
	(EXTRA_libsanitizer_common_la_SOURCES): Define.
	(libsanitizer_common_la_LIBADD): Likewise.
	(libsanitizer_common_la_DEPENDENCIES): Likewise.
	* sanitizer_common/Makefile.in: Regenerate.
	* interception/Makefile.in: Likewise.
	* libbacktace/Makefile.in: Likewise.
	* Makefile.in: Likewise.
	* configure: Likewise.
	* merge.sh: Handle builtins/assembly.h merging.
	* builtins/assembly.h: New file.
	* asan/libtool-version: Bump the libasan SONAME.

From-SVN: r241977
2016-11-09 00:04:09 +02:00
David Edelsohn
f31d9224e6 dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO at runtime.
* dwarf2asm.c (USE_LINKONCE_INDIRECT): Test XCOFF_DEBUGGING_INFO
        at runtime.

From-SVN: r241975
2016-11-08 14:40:54 -05:00
Uros Bizjak
90a2ffc01a re PR target/70799 (STV pass does not convert DImode shifts)
PR target/70799
	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
	Handle ASHIFT and LSHIFTRT.
	(dimode_scalar_chain::compute_convert_gain): Ditto.
	(dimode_scalar_chain::convert_insn): Ditto.

testsuite/ChangeLog:

	PR target/70799
	* gcc.target/i386/pr70799-2.c: New test.

From-SVN: r241974
2016-11-08 20:06:54 +01:00
Janus Weil
eba5aec8e3 re PR fortran/77596 ([F03] procedure pointer component with implicit interface can point to a function)
2016-11-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/77596
	* expr.c (gfc_check_pointer_assign): Add special check for procedure-
	pointer component with absent interface.

2016-11-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/77596
	* gfortran.dg/proc_ptr_comp_46.f90: New test.

From-SVN: r241972
2016-11-08 17:10:56 +01:00
Kyrylo Tkachov
c22d878716 [2/2] Add store merging unit tests
* gimple-ssa-store-merging.c: Include selftest.h
	(verify_array_eq): New function.
	(verify_shift_bytes_in_array): Likewise.
	(verify_shift_bytes_in_array_right): Likewise.
	(verify_clear_bit_region): Likewise.
	(verify_clear_bit_region_be): Likewise.
	(store_merging_c_tests): Likewise.
	* selftest.h (store_merging_c_tests): Declare prototype.
	* selftest-run-tests.c (selftest::run_tests): Run
	store_merging_c_tests.

From-SVN: r241971
2016-11-08 16:04:20 +00:00
Bin Cheng
fad3660129 pr56541.c: Xfail on !vect_cond_mixed targets.
gcc/testsuite
	* gcc.dg/vect/pr56541.c: Xfail on !vect_cond_mixed targets.

From-SVN: r241969
2016-11-08 14:11:36 +00:00
Bin Cheng
7c8615b6ae pr71347.c: Drop xfail.
gcc/testsuite
	* gcc.dg/tree-ssa/pr71347.c: Drop xfail.

From-SVN: r241968
2016-11-08 14:09:21 +00:00
Bin Cheng
4c6a4a537d vect-cond-2.c: Drop xfail.
gcc/testsuite
	* gcc.dg/vect/vect-cond-2.c: Drop xfail.

From-SVN: r241967
2016-11-08 14:08:06 +00:00
Kyrylo Tkachov
83afd959dd [ARM][2/2] Remove old rtx costs
* config/arm/arm.opt (mold-rtx-costs): Delete.
	(mnew-generic-costs): Delete.
	* config/arm/arm-protos.h (struct tune_params): Delete rtx_costs field.
	* config/arm/arm.c (arm_rtx_costs_1): Delete.
	(arm_size_rtx_costs): Likewise.
	(arm_slowmul_rtx_costs): Likewise.
	(arm_fastmul_rtx_costs): Likewise.
	(arm_xscale_rtx_costs): Likewise.
	(arm_9e_rtx_costs): Likewise.
	(arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
	arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
	arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
	arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
	arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
	arm_cortex_a5_tune, arm_xgene1_tune, arm_marvell_pj4_tune,
	arm_cortex_a35_tune, arm_exynosm1_tune, arm_cortex_a73_tune,
	arm_cortex_m7_tune):
	Delete rtx_costs field.
	(arm_new_rtx_costs): Rename to...
	(arm_rtx_costs_internal): ... This.
	(arm_rtx_costs): Remove old way of doing rtx costs.

From-SVN: r241966
2016-11-08 13:47:23 +00:00
Kyrylo Tkachov
249a3cad8a [ARM][1/2] Use generic_extra_costs in all remaining tuning structs
* config/arm/arm.c (arm_slowmul_tune): Use generic_extra_costs.
	(arm_fastmul_tune): Likewise.
	(arm_strongarm_tune): Likewise.
	(arm_xscale_tune): Likewise.
	(arm_9e_tune): Likewise.
	(arm_marvell_pj4_tune): Likewise.
	(arm_v6t2_tune): Likewise.
	(arm_v6m_tune): Likewise.
	(arm_fa726te_tune): Likewise.

From-SVN: r241965
2016-11-08 13:45:52 +00:00
Richard Earnshaw
a6ac871cdf [AArch64] Optimized implementation of search_line_fast for the CPP lexer
* lex.c (search_line_fast): New implementation for AArch64.

From-SVN: r241964
2016-11-08 13:29:32 +00:00
Kyrylo Tkachov
1f069ef5a1 [1/2] Fix off-by-one error in clear_bit_region in store merging (PR tree-optimization/78234 ?)
PR tree-optimization/78234
	* gimple-ssa-store-merging.c (clear_bit_region): Fix off-by-one error
	in start != 0 case.

From-SVN: r241962
2016-11-08 12:31:31 +00:00
Martin Liska
fcd1b8dffc use-after-scope fallout
PR testsuite/78242
	* g++.dg/asan/use-after-scope-4.C: New test.
	* g++.dg/asan/use-after-scope-types-4.C: Update scanned pattern.
	* gcc.dg/asan/use-after-scope-8.c: Remove.
	PR testsuite/78242
	* dbgcnt.def: Add new debug counter asan_use_after_scope.
	* gimplify.c (gimplify_decl_expr): Do not sanitize vars
	with a value expr.  Do not add artificial variables to
	live_switch_vars.  Use the debug counter.
	(gimplify_target_expr): Use the debug counter.
	* internal-fn.def: Remove ECF_TM_PURE from ASAN_MARK builtin.
	* sanitizer.def: Set ATTR_NOTHROW_LEAF_LIST to
	BUILT_IN_ASAN_CLOBBER_N and BUILT_IN_ASAN_UNCLOBBER_N.

From-SVN: r241961
2016-11-08 12:28:33 +00:00
Richard Biener
f9ef2c765a tree-vect-stmts.c (get_group_load_store_type): If the access is aligned do not trigger peeling for gaps.
2016-11-08  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (get_group_load_store_type): If the
	access is aligned do not trigger peeling for gaps.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
	force alignment of vars with DECL_USER_ALIGN.

	* gcc.dg/vect/vect-nb-iter-ub-2.c: Adjust.

From-SVN: r241959
2016-11-08 10:23:57 +00:00
James Greenhalgh
ae55655b93 [Patch AArch64] aarch64-c.o should depend on TARGET_H
gcc/

	* config/aarch64/t-aarch64 (aarch64-c.o): Depend on TARGET_H.

From-SVN: r241958
2016-11-08 09:53:07 +00:00
Tamar Christina
ad11774fbe Fix traditional cpp test failure
* gcc.dg/cpp/trad/trad.exp
	(dg-runtest): Added $srcdir/$subdir/ to Include dirs.
	* gcc.dg/cpp/trad/include.c: Use local header file.

From-SVN: r241957
2016-11-08 09:41:11 +00:00
Richard Biener
fe73a33284 re PR tree-optimization/78205 (BB vectorization confused by too large load groups)
2016-11-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78205
	* tree-vect-stmts.c (vectorizable_load): Move check whether
	we may run into gaps when BB vectorizing SLP permutations ...
	* tree-vect-slp.c (vect_supported_load_permutation_p): ...
	here where we can do a more precise check.

	* gcc.dg/vect/bb-slp-pr78205.c: New testcase.

From-SVN: r241956
2016-11-08 08:06:42 +00:00
Richard Biener
ed053eb824 re PR tree-optimization/78224 (g++ ICE at -O2(-O1 on gcc6) and above in verify_loop_structure, at cfgloop.c:1646)
2016-11-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78224
	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
	Split the fallthru edge in case its successor may have PHIs.
	Do not free dominance info.

	* g++.dg/torture/pr78224.C: New testcase.

From-SVN: r241955
2016-11-08 08:03:54 +00:00
Senthil Kumar Selvaraj
06658c6d05 Fix bogus store_merging_x.c failures for avr.
Store merging isn't profitable for the avr. Add a new
effective target keyword "store_merge", and turn it on
only if non_strict_align *and* int32plus, as targets with
smallish word sizes are unlikely to profit from this optimization.

gcc/testsuite/ChangeLog

2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/store_merging_1.c: Require store_merge.
	* gcc.dg/store_merging_2.c: Likewise.
	* gcc.dg/store_merging_4.c: Likewise.
	* gcc.dg/store_merging_5.c: Likewise. 
	* gcc.dg/store_merging_6.c: Likewise.
	* gcc.dg/store_merging_7.c: Likewise.
	* gcc.dg/store_merging_8.c: Likewise.
	* lib/target-supports.exp (check_effective_target_store_merge): New.

From-SVN: r241953
2016-11-08 06:30:31 +00:00
GCC Administrator
e525d6110b Daily bump.
From-SVN: r241949
2016-11-08 00:16:22 +00:00
David Edelsohn
e4b3927883 fold-vec-add-1.c: Add dg-options -maltivec.
* gcc.target/powerpc/fold-vec-add-1.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-2.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-3.c: Add dg-options -maltivec.
        * gcc.target/powerpc/fold-vec-add-4.c: Add dg-options -maltivec
        -mvsx -mpower8-vector.
        * gcc.target/powerpc/fold-vec-add-5.c: Add dg-options -maltivec -mno-vs\
x.
        * gcc.target/powerpc/fold-vec-add-6.c: Add dg-options -maltivec -mvsx.
        * gcc.target/powerpc/fold-vec-add-7.c: Add dg-options -maltivec
        -mvsx -mpower8-vector.

From-SVN: r241945
2016-11-07 18:09:44 -05:00
Jason Merrill
51dc660315 Implement P0012R1, Make exception specifications part of the type system.
gcc/cp/
	* cp-tree.h (enum tsubst_flags): Add tf_fndecl_type.
	(flag_noexcept_type, ce_type): New.
	* call.c (build_conv): Add ck_fnptr.
	(enum conversion_kind): Change ck_tsafe to ck_fnptr.
	(convert_like_real): Likewise.
	(standard_conversion): Likewise.  Allow function pointer
	conversions for pointers to member functions.
	(reference_compatible_p): Allow function pointer conversions.
	(direct_reference_binding): Likewise.
	(reference_binding): Reference-compatible is no longer a subset of
	reference-related.
	(is_subseq): Also strip ck_lvalue after next_conversion.
	* class.c (instantiate_type): Check fnptr_conv_p.
	(resolve_address_of_overloaded_function): Likewise.
	* cvt.c (can_convert_tx_safety): Now static.
	(noexcept_conv_p, fnptr_conv_p, strip_fnptr_conv): New.
	* decl.c (flag_noexcept_type): Define.
	(cxx_init_decl_processing): Set it.
	(bad_specifiers): Check it.
	(grokdeclarator) [cdk_function]: Add exception-spec to type here.
	* lambda.c (maybe_add_lambda_conv_op): Add exception-spec to
	returned pointer.
	* mangle.c (struct globals): Add need_cxx1z_warning.
	(mangle_decl): Check it.
	(write_exception_spec): New.
	(write_function_type): Call it.
	(canonicalize_for_substitution): Handle exception spec.
	(write_type): Likewise.
	(write_encoding): Set processing_template_decl across mangling of
	partially-instantiated type.
	* pt.c (determine_specialization): Pass tf_fndecl_type.
	(tsubst_decl, fn_type_unification): Likewise.
	(tsubst): Strip tf_fndecl_type, pass it to
	tsubst_exception_specification.
	(convert_nontype_argument_function): Handle function pointer
	conversion.
	(convert_nontype_argument): Likewise.
	(unify, for_each_template_parm_r): Walk into noexcept-specifier.
	* rtti.c (ptr_initializer): Encode noexcept.
	* tree.c (canonical_eh_spec): New.
	(build_exception_variant): Use it.
	* typeck.c (composite_pointer_type): Handle fnptr conversion.
	(comp_except_specs): Compare canonical EH specs.
	(structural_comptypes): Call it.
gcc/c-family/
	* c.opt (Wc++1z-compat): New.
	* c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
libstdc++-v3/
	* include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
	(_GLIBCXX_NOEXCEPT_QUAL): New.
	* include/std/type_traits (is_function): Use them.
	* libsubc++/new (launder): Likewise.
	* libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
	__noexcept_mask.
	* libsupc++/pbase_type_info.cc (__do_catch): Handle function
	pointer conversion.
libiberty/
	* cp-demangle.c (is_fnqual_component_type): New.
	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
	(FNQUAL_COMPONENT_CASE): New.
	(d_make_comp, has_return_type, d_print_comp_inner)
	(d_print_function_type): Use it.
	(next_is_type_qual): New.
	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.

From-SVN: r241944
2016-11-07 18:09:29 -05:00
Jason Merrill
452811eb53 C++ cleanups before C++17 noexcept in types.
* call.c (standard_conversion): Reorganize pointer conversions.
	* pt.c (convert_nontype_argument_function): Convert to ref here.
	(convert_nontype_argument): Not here.
	(convert_template_argument): Add original type to error message.
	(RECUR_AND_CHECK_FAILURE): Remove trailing semicolon.
	(unify): Compare function-qualifiers.
	* typeck.c (same_type_ignoring_top_level_qualifiers_p): Use
	cp_build_qualified_type rather than TYPE_MAIN_VARIANT.

From-SVN: r241943
2016-11-07 18:09:21 -05:00
Jakub Jelinek
4ab71abd26 re PR target/78229 (ICE in redirect_eh_edge_1, at tree-eh.c:2305)
PR target/78229
	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust                                                                             
	EH info even for bzhi and pdep/pext.

From-SVN: r241942
2016-11-07 23:35:43 +01:00
David Edelsohn
9b8dc9eadf Fix dates.
From-SVN: r241941
2016-11-07 17:33:10 -05:00
Peter Bergner
b3be619e24 Add missing ChangeLog entry.
* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.

From-SVN: r241939
2016-11-07 15:39:30 -06:00
Peter Bergner
d850a6f499 config.gcc (powerpc*-*-*, [...]): Remove setting of INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.

From-SVN: r241937
2016-11-07 15:22:02 -06:00
François Dumont
76d3fd72f1 gnu-versioned-namespace.ver: Export C++17 new of over-aligned types symbols.
2016-11-07  François Dumont  <fdumont@gcc.gnu.org>

	* config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
	over-aligned types symbols.

From-SVN: r241936
2016-11-07 21:12:36 +00:00
Segher Boessenkool
b7fa8414c4 rs6000: Do swdiv at expand time
We transform floating point divide instructions to a faster series of
simple instructions, "swdiv".  Currently we do not do that until the
first splitter pass, which is much too late for most optimisations
that can happen on those new instructions, e.g. the constant loads
are not CSEd inside an unrolled loop.  This patch changes things so
those divide instructions are expanded during expand already.


	* config/rs6000/rs6000.md (div<mode>3): Expand using rs6000_emit_swdiv
	if appropriate.
	* config/rs6000/vector.md (div<mode>3): Ditto.

From-SVN: r241935
2016-11-07 21:54:42 +01:00
David Edelsohn
fda2d61208 scanasm.exp (hidden-scan-for): Add XCOFF support.
* lib/scanasm.exp (hidden-scan-for): Add XCOFF support.

        * gfortran.dg/implicit_class_1.f90: Skip on AIX.
        * gcc.dg/visibility-14.c: XFAIL AIX.
        * gcc.dg/visibility-15.c: XFAIL AIX.
        * gcc.dg/visibility-16.c: XFAIL AIX.
        * gcc.dg/visibility-17.c: XFAIL AIX.
        * gcc.dg/visibility-18.c: XFAIL AIX.
        * gcc.dg/visibility-19.c: XFAIL AIX.
        * g++.dg/ext/visibility/anon1.C: XFAIL AIX.
        * g++.dg/ext/visibility/anon2.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
        * g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.

From-SVN: r241934
2016-11-07 15:33:30 -05:00
David Edelsohn
621d0992d1 Fix typo.
From-SVN: r241932
2016-11-07 15:30:30 -05:00
David Edelsohn
8d91472f6e configure.ac (.hidden): Change to conftest_s string.
* configure.ac (.hidden): Change to conftest_s string. Provide string
for AIX assembler.
(gcc_cv_ld_hidden): Yes for AIX.
* configure: Regenerate.

* dwarf2asm.c (USE_LINKONCE_INDIRECT): Don't set for AIX (XCOFF).

* config/rs6000/rs6000-protos.h (rs6000_asm_weaken_decl): Declare
(rs6000_xcoff_asm_output_aligned_decl_common): Declare.
* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_DECL_NAME): Define.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
(ASM_OUTPUT_ALIGNED_COMMON): Delete.
* config/rs6000/rs6000.c (rs6000_init_builtins): Change clog rename
from #if to if.
(rs6000_xcoff_visibility): New.
(rs6000_xcoff_declare_function_name): Add visibility support.
(rs6000_xcoff_asm_globalize_decl_name): New.
(rs6000_xcoff_asm_output_aligned_decl_common): New.
(rs6000_asm_weaken_decl): New.
(rs6000_code_end): Disable HIDDEN_LINKONCE on XCOFF.
config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Change definition to
reference function.

From-SVN: r241930
2016-11-07 15:16:13 -05:00
Jason Merrill
c9c039100a Add template instantiations to the announce_function stream.
* pt.c (push_tinst_level_loc): Add template instantiations to the
	announce_function stream.

From-SVN: r241928
2016-11-07 14:35:13 -05:00
Thomas Koenig
39b4b34de0 re PR fortran/78226 (Fill out location information everywhere)
2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78226
	* expr.c (gfc_generate_initializer):  Add where to EXPR_NULL
	statement.
	* iresolve.c (gfc_resolve_extends_type_of):  Add where to
	both arguments of the function.
	* resolve.c (resolve_select_type):  Add where to the
	second argument of the new statement.

From-SVN: r241927
2016-11-07 19:33:27 +00:00
Joseph Myers
98a989094b * es.po: Update.
From-SVN: r241922
2016-11-07 18:37:01 +00:00
Jack Howarth
68fe024edf re PR driver/78206 (bootstrap failure under Apple sandbox that blacklists reads in /usr/local)
2016-11-06  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR driver/78206
	* incpath.c: (remove_dup(): Also silently ignore EPERM.

From-SVN: r241919
2016-11-07 18:33:49 +00:00
Martin Jambor
f73fbf900d Remove a TODO from verify_type_variant
2016-11-07  Martin Jambor  <mjambor@suse.cz>

	* tree.c (verify_type_variant): Use pointer comparison to check that
	TYPE_SIZE_UNIT match.

From-SVN: r241918
2016-11-07 19:30:26 +01:00
Jakub Jelinek
a8404b9a26 re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
PR target/77834
	* dse.c (dse_step5): Call scan_reads even if just
	insn_info->frame_read.  Improve and fix dump file messages.

From-SVN: r241917
2016-11-07 18:35:16 +01:00
Jakub Jelinek
60cee85e0a re PR target/78227 (ICE: unrecognizable insn: in extract_insn, at recog.c:2311 with -mavx512bw and vector comare)
PR target/78227
	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.

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

From-SVN: r241916
2016-11-07 18:33:27 +01:00
Prathamesh Kulkarni
7aa13860fb re PR middle-end/35691 (Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match)
2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR middle-end/35691
	* match.pd: Add following two patterns:
	(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
	(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.

testsuite/
	* gcc.dg/pr35691-1.c: New test-case.
	* gcc.dg/pr35691-4.c: Likewise.

From-SVN: r241915
2016-11-07 17:32:17 +00:00
Bernd Schmidt
1581a12c35 emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
	* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
	* rtl.h (duplicate_reg_notes): Declare.
	* rtlanal.c (duplicate_reg_note): New function.

From-SVN: r241913
2016-11-07 17:03:55 +00:00
Bernd Schmidt
caa024ffce re PR tree-optimization/77309 (wrong code at -Os and above on x86_64-linux-gnu (in the 64-bit mode))
PR rtl-optimization/77309
	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
	don't assume an equality comparison for plain COMPARE.
	(simplify_comparison): Pass a more accurate code to
	make_compound_operation.

testsuite/
	PR rtl-optimization/77309
	* gcc.dg/torture/pr77309.c: New test.

From-SVN: r241912
2016-11-07 16:59:11 +00:00
Pat Haugen
b4ff394c54 target.def (compute_pressure_classes): New target hook.
* target.def (compute_pressure_classes): New target hook.
	* doc/tm.texi.in: Document it.
	* doc/tm.texi: Regenerate.
	* ira.c (setup_pressure_classes): Call target hook if defined.

From-SVN: r241911
2016-11-07 15:37:51 +00:00
Thomas Koenig
c939044ae5 Fixed PR in ChangeLog entry.
From-SVN: r241910
2016-11-07 15:29:20 +00:00
Thomas Koenig
ce38615375 re PR fortran/78226 (Fill out location information everywhere)
2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78826
	* match.c (gfc_match_select_type):  Add where for expr1.
	* resolve.c (resolev_select_type): Add where for expr1 of new
	statement.

From-SVN: r241909
2016-11-07 15:25:21 +00:00
David Malcolm
b5fbe71648 rtx_writer: avoid printing trailing default values
gcc/ChangeLog:
	* print-rtl.c (rtx_writer::operand_has_default_value_p): New
	method.
	(rtx_writer::print_rtx): In compact mode, omit trailing operands
	that have the default values.
	* print-rtl.h (rtx_writer::operand_has_default_value_p): New
	method.
	* rtl-tests.c (selftest::test_dumping_insns): Remove empty
	label string from expected dump.
	(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
	from expected dump.

From-SVN: r241908
2016-11-07 15:19:17 +00:00
Tamar Christina
061ee39672 Fix native windows build by adding signal.h back into the include list.
* gcc/ada/adaint.c: Added signal.h for Windows.

From-SVN: r241907
2016-11-07 14:14:13 +00:00
Jakub Jelinek
dca167984a re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
PR target/77834
	* alias.c (nonoverlapping_memrefs_p): If one decl is
	FUNCTION_DECL or LABEL_DECL and the other is not, return 1.

From-SVN: r241905
2016-11-07 14:33:37 +01:00
Jakub Jelinek
a98152285e re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)
PR middle-end/71529
	* gcc.target/i386/pr71529.C: Moved to ...
	* g++.dg/opt/pr71529.C: ... here.  New test.  Guard for i?86/x86_64.

	PR target/64411
	* gcc.target/i386/pr64411.C: Moved to ...
	* g++.dg/opt/pr64411.C: ... here.  New test.  Guard for i?86/x86_64
	lp64.

	PR target/65105
	* gcc.target/i386/pr65105-4.C: Moved to ...
	* g++.dg/opt/pr65105-4.C: ... here.  New test.  Guard for i?86/x86_64.
	Run into compile test rather than execute test.

From-SVN: r241903
2016-11-07 14:07:32 +01:00