Commit Graph

149671 Commits

Author SHA1 Message Date
Tim Shen
7ce69e5a71 regex.h (regex_iterator::regex_iterator()): Define end() as _M_pregex == nullptr.
* libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
	Define end() as _M_pregex == nullptr.
	* libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
	regex_iterator::operator++()): Fix operator==() and operator++() to
	look at null-ness of _M_pregex on both sides.
	* testsuite/28_regex/regression.cc: New testcase.

From-SVN: r242025
2016-11-09 22:11:32 +00:00
Ian Lance Taylor
39de19551b compiler: rework static initializer code
Rename is_immutable to is_static_initializer to try to capture what it
    really means.  Be more precise about when an address expression, or a
    binary expression, can be a static initializer.  Don't check whether a
    type has pointers when deciding whether an initializer must be
    read-write, just check whether it is being used to initialize a global
    variable.  To make that work set the Translate_context function to NULL
    for a global variable with a static initializer.
    
    The effect of this is to let more global variables be initialized
    directly, rather than being initialized in the generated init function.
    
    Reviewed-on: https://go-review.googlesource.com/32917

From-SVN: r242024
2016-11-09 21:41:58 +00:00
David Malcolm
677aa9b4b7 print-rtl-function.c: add (param) directive to dump
gcc/ChangeLog:
	* print-rtl-function.c: Include varasm.h.
	(print_any_param_name): New function.
	(print_param): New function.
	(print_rtx_function): Call print_param for each argument.
	* print-rtl.c (rtx_writer::finish_directive): New function.
	* print-rtl.h (rtx_writer::finish_directive): New decl.

From-SVN: r242023
2016-11-09 20:55:03 +00:00
Toma Tabacu
410fe60d14 mips.exp (mips-dg-options): Upgrade to MIPS IV if using (HAS_MOVN) with MIPS III.
2016-11-09  Toma Tabacu  <toma.tabacu@imgtec.com>

        * gcc.target/mips/mips.exp (mips-dg-options): Upgrade to MIPS IV if
        using (HAS_MOVN) with MIPS III.

From-SVN: r242021
2016-11-09 15:34:21 -05:00
Janus Weil
271dd55c78 [multiple changes]
2016-11-09  Mikael Morin  <mikael@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/46459
	* interface.c (compare_actual_formal): Add safety checks to avoid ICE.

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

	PR fortran/46459
	* gfortran.dg/volatile14.f90: New test.

From-SVN: r242020
2016-11-09 21:33:24 +01:00
Jason Merrill
e922b25690 Fix C++17 template placeholder for template template parm.
* parser.c (cp_parser_simple_type_specifier): Allow placeholder
	for template template parameter.
	(cp_parser_type_id_1): Improve diagnostic.
	* decl.c (grokdeclarator): Handle class deduction diagnostics here.
	* pt.c (splice_late_return_type): Not here.
	(tsubst) [TEMPLATE_TYPE_PARM]: Substitute into placeholder template.
	(do_class_deduction): Handle non-class templates.

From-SVN: r242018
2016-11-09 15:02:56 -05:00
Jason Merrill
4a826ca6fe Implement P0127R2, Declaring non-type parameters with auto.
gcc/cp/
	* cp-tree.h (enum auto_deduction_context): Add adc_unify.
	* decl.c (grokdeclarator): Allow 'auto' in C++17 template non-type
	parameter types.
	* pt.c (do_auto_deduction): Add outer_targs parameter.
	(convert_template_argument): Call do_auto_deduction.  If adc_unify,
	don't give up on dependent init.
	(unify): Likewise.  In C++17, walk into the type of a
	TEMPLATE_PARM_INDEX.
	(for_each_template_parm): Add any_fn parameter.
	(struct pair_fn_data): Likewise.
	(for_each_template_parm_r): Call it for any tree.  In C++17, walk
	into the type of a TEMPLATE_PARM_INDEX.
	(zero_r, array_deduction_r, try_array_deduction): New.
	(type_unification_real): Call try_array_deduction.
	(get_partial_spec_bindings): Likewise.
gcc/c-family/
	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.

From-SVN: r242017
2016-11-09 15:02:50 -05:00
Uros Bizjak
ff1f317b3c re PR target/78262 (wrong code with -fschedule-insns)
PR target/78262
	* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
	operand 0 as earlyclobber.

testsuite/ChangeLog:

	PR target/78262
	* gcc.target/i386/pr78262.c: New test.

From-SVN: r242013
2016-11-09 20:21:11 +01:00
Martin Liska
302356da47 * fold-const-call.c (fold_const_call): Fix up type of s0 and s1.
From-SVN: r242011
2016-11-09 18:55:12 +01:00
Fritz O. Reese
f31adad4cb Fix ICE in gfc_trans_subcomponent_assign due to NULL components.
PR fortran/78259
	* gcc/fortran/trans-expr.c (gfc_trans_subcomponent_assign): Guard
	against NULL values.

	PR fortran/78259
	* gcc/testsuite/gfortran.dg/pr78259.f90: New test.

From-SVN: r242010
2016-11-09 17:31:27 +00:00
Janus Weil
b349a81aa0 [multiple changes]
2016-11-09  Steve Kargl <kargl@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/60777
	* expr.c (external_spec_function): Allow recursive specification
	functions in F03.

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

	PR fortran/60777
	* gfortran.dg/spec_expr_7.f90: New test.

From-SVN: r242009
2016-11-09 18:22:02 +01:00
Jakub Jelinek
4f3535815e re PR middle-end/77718 (expand_builtin_memcmp swaps args)
PR target/77718
	* builtins.c (expand_builtin_memcmp): Formatting fix.

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

From-SVN: r242007
2016-11-09 17:21:45 +01:00
Jakub Jelinek
2e955d50a9 flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE and SANITIZE_SHIFT_EXPONENT...
* flag-types.h (enum sanitize_code): Add SANITIZE_SHIFT_BASE
	and SANITIZE_SHIFT_EXPONENT, change SANITIZE_SHIFT to bitwise
	or of them, renumber other enumerators.
	* opts.c (sanitizer_opts): Add shift-base and shift-exponent.
	* doc/invoke.texi: Document -fsanitize=shift-base and
	-fsanitize-shift-exponent, document -fsanitize=shift as
	having those 2 suboptions.
c-family/
	* c-ubsan.c (ubsan_instrument_shift): Handle split
	-fsanitize=shift-base and -fsanitize=shift-exponent.
testsuite/
	* gcc.dg/ubsan/c99-shift-3.c: New test.
	* gcc.dg/ubsan/c99-shift-4.c: New test.
	* gcc.dg/ubsan/c99-shift-5.c: New test.
	* gcc.dg/ubsan/c99-shift-6.c: New test.

From-SVN: r242005
2016-11-09 16:37:28 +01:00
Richard Biener
14e7281244 fold-const.c (tree_swap_operands_p): Remove unused arg.
2016-11-09  Richard Biener  <rguenther@suse.de>

	* fold-const.c (tree_swap_operands_p): Remove unused arg.
	* fold-const.c (tree_swap_operands_p): Likewise.
	(fold_binary_loc): Adjust.
	(fold_ternary_loc): Likewise.
	* genmatch.c (dt_operand::gen_gimple_exp): Likewise.
	* gimple-fold.c (fold_stmt_1): Likewise.
	* gimple-match-head.c (gimple_resimplify2): Likewise.
	(gimple_resimplify3): Likewise.
	(gimple_simplify): Likewise.
	* tree-ssa-dom.c (record_equality): Likewise.
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Likewise.
	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
	* tree-ssa-threadedge.c (simplify_control_stmt_condition_1): Likewise.

From-SVN: r242004
2016-11-09 15:15:28 +00:00
Richard Biener
2c49f22a48 tree-ssa-dom.c (canonicalize_comparison): Remove.
2016-11-09  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.c (canonicalize_comparison): Remove.
	(optimize_stmt): Remove redundant pre-propagation canonicalization
	of comparison operand order.

From-SVN: r242003
2016-11-09 15:09:12 +00:00
Martin Liska
68c937083c Fix folding of memcmp("a", "a", 2) (PR
* fold-const-call.c (fold_const_call): Fix the folding.
	* gcc.dg/tree-ssa/builtins-folding-generic.c (main): Add new
	test-case for memcmp.
	* gcc.dg/tree-ssa/builtins-folding-gimple.c: Likewise.

From-SVN: r242000
2016-11-09 14:07:32 +00:00
Richard Biener
6fa161dc80 common.opt (flag_evaluation_order): Remove.
2016-11-09  Richard Biener  <rguenther@suse.de>

	* common.opt (flag_evaluation_order): Remove.
	* expr.c (expand_operands): Remove code guarded by
	flag_evaluation_order.
	* fold-const.c (reorder_operands_p): Remove, it always returns
	true.
	(negate_expr_p): Remove calls to reorder_operands_p.
	(fold_negate_expr): Likewise.
	(tree_swap_operands_p): Likewise.
	(fold_binary_loc): Likewise.

From-SVN: r241998
2016-11-09 12:37:10 +00:00
Thomas Preud'homme
7b649f796a re PR c++/78269 (FAIL: FAIL: g++.dg/cpp1z/noexcept-type11.C and FAIL: g++.dg/cpp1z/noexcept-type9.C)
2016-11-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR testsuite/78269
    * g++.dg/cpp1z/noexcept-type9.C: Make it a compile test.

From-SVN: r241997
2016-11-09 10:50:21 +00:00
Andreas Schwab
0ff272319c re PR target/78254 (FAIL: g++.dg/torture/pr77822.C -O3 -g (internal compiler error))
PR target/78254
* config/m68k/m68k.md: Reject out-of-range bit pos in bit-fields
insns operating on a register.

From-SVN: r241996
2016-11-09 10:40:00 +00:00
Paul Thomas
bfcb501d83 check.c (gfc_check_move_alloc): Prevent error that avoids aliasing between to and from arguments from rejecting...
2016-11-09  Paul Thomas  <pault@gcc.gnu.org>

	* check.c (gfc_check_move_alloc): Prevent error that avoids
	aliasing between to and from arguments from rejecting valid
	code.

2016-11-09  Paul Thomas  <pault@gcc.gnu.org>

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

From-SVN: r241995
2016-11-09 10:10:41 +00:00
Prathamesh Kulkarni
e15861c2da re PR testsuite/78256 (test case gcc.dg/pr35691-1.c fails starting with its introduction in r241915)
2016-11-09  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR middle-end/78256
testsuite/
	* gcc.dg/pr35691-1.c (foo): Use & instead of &&.
	* gcc.dg/pr35691-2.c (foo): Use | instead of ||.

From-SVN: r241994
2016-11-09 09:46:13 +00:00
Janus Weil
5f39558007 re PR fortran/71894 ([OOP] ICE in gfc_add_component_ref, at fortran/class.c:227)
2016-11-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/71894
	* class.c (gfc_add_component_ref): Add safety checks to avoid ICE.

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

	PR fortran/71894
	* gfortran.dg/class_59.f90: New test.

From-SVN: r241993
2016-11-09 10:22:52 +01:00
Richard Biener
37b1418510 re PR target/78007 (Important loop from 482.sphinx3 is not vectorized)
2016-11-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78007
	* tree-vect-stmts.c (vectorizable_bswap): New function.
	(vectorizable_call): Call vectorizable_bswap for
	BUILT_IN_BSWAP{16,32,64} if arguments are not promoted.

	* gcc.dg/vect/vect-bswap32.c: Adjust.
	* gcc.dg/vect/vect-bswap64.c: Likewise.

From-SVN: r241992
2016-11-09 08:19:05 +00:00
Richard Biener
5b3fa6a166 tree-vect-data-refs.c (vect_compute_data_ref_alignment): Look at the DR_BASE_ADDRESS object for forcing alignment.
2016-11-09  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Look at the DR_BASE_ADDRESS object for forcing alignment.

From-SVN: r241991
2016-11-09 08:08:58 +00:00
Kugan Vivekanandarajah
d6e8a41c87 Handle unary pass-through jump functions for ipa-vrp
Handle unary pass-through jump functions for ipa-vrp
gcc/testsuite/ChangeLog:

2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* gcc.dg/ipa/vrp7.c: New test.


gcc/ChangeLog:

2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.
	(propagate_vr_accross_jump_function): Likewise.
	* ipa-prop.c (ipa_set_jf_unary_pass_through): New.
	(load_from_param_1): New.
	(load_from_unmodified_param): Factor common part into load_from_param_1.
	(load_from_param): New.
	(compute_complex_assign_jump_func): Handle unary expressions.
	(ipa_write_jump_function): Likewise.
	(ipa_read_jump_function): Likewise.

From-SVN: r241990
2016-11-09 01:44:04 +00:00
Kugan Vivekanandarajah
5d5f1e95b1 Fix ice in set_value_range
Fix ice in set_value_range
gcc/ChangeLog:

2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR ipa/78121
	* ipa-cp.c (propagate_vr_accross_jump_function): Pass param type.
	Also fold constant passed as argument while computing value range.
	(propagate_constants_accross_call): Pass param type.
	* ipa-prop.c: export ipa_get_callee_param_type.
	* ipa-prop.h: export ipa_get_callee_param_type.

gcc/testsuite/ChangeLog:

2016-11-09  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR ipa/78121
	* gcc.dg/ipa/pr78121.c: New test.

From-SVN: r241989
2016-11-09 01:41:26 +00:00
GCC Administrator
8f33501e32 Daily bump.
From-SVN: r241987
2016-11-09 00:16:18 +00:00
Maxim Ostapenko
0290a29200 asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR.
gcc/

	* asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN,
	BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR.

gcc/testsuite/

	* c-c++-common/asan/default_options.h: New file.
	* c-c++-common/asan/strcasestr-1.c: New test.
	* c-c++-common/asan/strcasestr-2.c: Likewise.
	* c-c++-common/asan/strcspn-1.c: Likewise.
	* c-c++-common/asan/strcspn-2.c: Likewise.
	* c-c++-common/asan/strpbrk-1.c: Likewise.
	* c-c++-common/asan/strpbrk-2.c: Likewise.
	* c-c++-common/asan/strspn-1.c: Likewise.
	* c-c++-common/asan/strspn-2.c: Likewise.
	* c-c++-common/asan/strstr-1.c: Likewise.
	* c-c++-common/asan/strstr-2.c: Likewise.
	* c-c++-common/asan/halt_on_error_suppress_equal_pcs-1.c: Likewise.

From-SVN: r241984
2016-11-09 00:16:58 +02:00
Maxim Ostapenko
fbdb92ebff asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove.
gcc/

	* asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove.
	* asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with
	ASAN_STACK_MAGIC_MIDDLE.
	(asan_global_struct): Increase the size of fields.
	(asan_add_global): Add new field constructor.
	* sanitizer.def (__asan_version_mismatch_check_v6): Replace with
	__asan_version_mismatch_check_v8.

gcc/testsuite/

	* c-c++-common/asan/null-deref-1.c: Adjust testcase.

From-SVN: r241983
2016-11-09 00:15:35 +02:00
Maxim Ostapenko
8f16b6ca77 asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning.
libsanitizer/

	* asan/asan_globals.cc (RegisterGlobal): Do not call
	CheckODRViolationViaPoisoning.
	(CheckODRViolationViaPoisoning): Remove.

From-SVN: r241981
2016-11-09 00:09:33 +02:00
Maxim Ostapenko
789306de0f sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if...
libsanitizer/

	* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
	compiled code with GCC when extracting the caller PC for ARM if no
	valid frame pointer is available.

From-SVN: r241980
2016-11-09 00:07:50 +02:00
Janus Weil
103c4f759a re PR fortran/68440 ([OOP] ICE on declaring class variable with wrong attribute)
2016-11-08  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/68440
	* expr.c (check_alloc_comp_init): Loosen an assert.
	* resolve.c (resolve_fl_parameter): Reject class parameters.

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

	PR fortran/68440
	* gfortran.dg/class_58.f90: New test.

From-SVN: r241979
2016-11-08 23:07:21 +01:00
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