Commit Graph

135756 Commits

Author SHA1 Message Date
Thomas Preud'homme
6f0a6218e3 re PR target/64453 (Live high register not saved in function prolog on ARM with -Os)
2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR target/64453
    * config/arm/arm.c (callee_saved_reg_p): Define.
    (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
    register is callee saved instead of !call_used_regs[reg].
    (thumb1_compute_save_reg_mask): Likewise.

    gcc/testsuite/
    PR target/64453
    * gcc.target/arm/pr64453.c: New.

From-SVN: r219592
2015-01-14 11:51:40 +00:00
Hale Wang
6af2585d5c arm.c: Tune the max_cond_insns/branch_cost for Cortex-M7.
2015-01-14  Hale Wang  <hale.wang@arm.com>

	* config/arm/arm.c: Tune the max_cond_insns/branch_cost for
		Cortex-M7.

From-SVN: r219589
2015-01-14 11:15:30 +00:00
Richard Biener
683750ce09 re PR middle-end/64415 (ICE: verify_ssa failed / segmentation fault with LTO)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR lto/64415
	* tree-inline.c (insert_debug_decl_map): Check destination
	function MAY_HAVE_DEBUG_STMTS.
	(insert_init_debug_bind): Likewise.
	(insert_init_stmt): Remove redundant check.
	(remap_gimple_stmt): Drop debug stmts if the destination
	function has var-tracking assignments disabled.

	* gcc.dg/lto/pr64415_0.c: New testcase.
	* gcc.dg/lto/pr64415_1.c: Likewise.

From-SVN: r219588
2015-01-14 11:06:18 +00:00
Martin Liska
217c08c571 IPA ICF: handle IMAGPART_EXPR and REALPART_EXPR.
* gcc.dg/ipa/pr64307.c: New test.
	* ipa-icf-gimple.c (func_checker::compare_operand): Add support for
	IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.

From-SVN: r219586
2015-01-14 10:35:13 +00:00
Tejas Belagod
f29e90f541 vect-movi.c: Check for vectorization for 64-bit and 128-bit.
2015-01-14  Tejas Belagod  <tejas.belagod@arm.com>

        * gcc.target/aarch64/vect-movi.c: Check for vectorization for 
        64-bit and 128-bit.

From-SVN: r219585
2015-01-14 10:29:09 +00:00
Kyrylo Tkachov
ca39a43acc [ARM] Fix PR target/64460: Set 'shift' attr properly on some patterns.
PR target/64460
	* config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
	(*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.

	* gcc.target/arm/pr64460_1.c: New test.

From-SVN: r219583
2015-01-14 10:14:23 +00:00
Matthew Fortune
fcd7669cb6 Fix Linux multilib configurations with default architectures
gcc/

	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
	level from an ARCH; do not inject the default.
	(MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
	MIPS_ISA_LEVEL_SPEC.
	(MIPS_ISA_NAN2008_SPEC): Update comment.
	(BASE_DRIVER_SELF_SPECS): Likewise.
	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
	MIPS_DEFAULT_ISA_LEVEL_SPEC.
	* config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
	* config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.

From-SVN: r219580
2015-01-14 08:35:52 +00:00
Richard Biener
46b622cc24 re PR tree-optimization/64493 (ICE at -O3 on x86_64-linux-gnu)
2015-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64493
	PR tree-optimization/64495
	* tree-vect-loop.c (vect_finalize_reduction): For double-reductions
	assign the proper vectorized PHI to the inner loop exit PHIs.

	* gcc.dg/vect/pr64493.c: New testcase.
	* gcc.dg/vect/pr64495.c: Likewise.

From-SVN: r219579
2015-01-14 08:32:18 +00:00
Joey Ye
f7d2b51386 arm.c (arm_compute_save_reg_mask): Do not save lr in case of tail call.
2015-01-14  Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_compute_save_reg_mask):
        Do not save lr in case of tail call.
        * config/arm/thumb2.md (*thumb2_pop_single): New pattern.

From-SVN: r219578
2015-01-14 08:17:15 +00:00
Martin Uecker
de1b5c17fd tree-vrp.c (check_array_ref): Emit more warnings for warn_array_bounds >= 2.
* tree-vrp.c (check_array_ref): Emit more warnings
	for warn_array_bounds >= 2.
	* common.opt: New option -Warray-bounds=.
	* doc/invoke.texi: Document -Warray-bounds=.

	* c.opt: New option -Warray-bounds=.

	* gcc.dg/Warray-bounds-11.c: New test-case.

From-SVN: r219577
2015-01-13 23:50:19 -07:00
Chung-Ju Wu
2ca1ca6581 [NDS32] Remove some features and options that are not available yet in nds32 port of GNU binutils package.
gcc/
	* config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
	(mforbid-fp-as-gp): Remove.
	(mex9): Remove.
	* config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
	(nds32_symbol_load_store_p): Remove.
	(nds32_fp_as_gp_check_available): Clean up implementation.
	* config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
	cases.
	* config/nds32/nds32.c (nds32_asm_file_start): No need to consider
	fp-as-gp and ex9 cases.

From-SVN: r219576
2015-01-14 06:08:35 +00:00
Naveen H.S
be77e6092b octeon3-pipe-1.c: New test.
* gcc.target/mips/octeon3-pipe-1.c: New test.

From-SVN: r219575
2015-01-14 06:08:24 +00:00
Jan Hubicka
c02ae3ae3d tree-profile.c (init_ic_make_global_vars): Drop workaround for bintuils bug 14342.
* tree-profile.c (init_ic_make_global_vars): Drop workaround
	for bintuils bug 14342.
	(init_ic_make_global_vars): Likewise.
	(gimple_init_edge_profiler): Likewise.
	(gimple_gen_ic_func_profiler): Likewise.

From-SVN: r219574
2015-01-14 05:28:50 +00:00
Naveen H.S
9e145afd37 ipa-inline.c (inline_small_functions): Swap the operands in enum.
2015-01-15  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	* ipa-inline.c (inline_small_functions): Swap the operands in
	enum.

From-SVN: r219573
2015-01-14 05:10:44 +00:00
Jan Hubicka
0d92b55538 re PR ipa/64481 (r219076 breaks bootstrap (x86_64-unknown-linux-gnu))
PR ipa/64481
	* ipa-inline-analysis.c (node_growth_cache): Remove.
	(initialize_growth_caches): Do not initialize it.
	(free_growth_caches): Do not free it.
	(do_estimate_growth): Rename to ...
	(estimate_growth): ... this one; drop growth cache code.
	(growth_likely_positive): Always go the heuristics way.
	* ipa-inline.c (can_inline_edge_p): Walk through aliases.
	(reset_edge_caches): Do not reset node growth.
	(heap_edge_removal_hook): Do not maintain cache.
	(inline_small_functions): Likewise; strenghten sanity check.
	(ipa_inline): Do not maintain caches.
	* ipa-inline.h (node_growth_cache): Remove.
	(do_estimate_growth): Remove to ...
	(estimate_growth): this one; remove inline version.
	(reset_node_growth_cache): Remove.

From-SVN: r219572
2015-01-14 03:47:17 +00:00
GCC Administrator
dc396715ae Daily bump.
From-SVN: r219569
2015-01-14 00:16:58 +00:00
Kaz Kojima
b1479ae31e configure.host: Remove extra brackets for sh.
* libffi/configure.host: Remove extra brackets for sh.

From-SVN: r219565
2015-01-13 23:30:33 +00:00
David Malcolm
86d0ac8876 jit: New API entrypoint: gcc_jit_context_dump_reproducer_to_file
gcc/jit/ChangeLog:
	* docs/cp/topics/contexts.rst (Debugging): Add
	gccjit::context::dump_reproducer_to_file.
	* docs/internals/index.rst (Design notes): New section,
	discussing input validation and
	gcc_jit_context_dump_reproducer_to_file.
	* docs/topics/contexts.rst (Debugging): Add
	gcc_jit_context_dump_reproducer_to_file.
	* docs/_build/texinfo/libgccjit.texi: Regenerate.
	* jit-common.h (gcc::jit::dump::get_context): New accessor.
	* jit-recording.c: Include "hash-map.h".
	Within namespace ::gcc::jit...
	(dump::write): Flush each line.
	(dump::make_location): Pass false for new param "created_by_user".
	(class allocator): New class.
	(allocator::~allocator): New function.
	(allocator::xstrdup_printf): New function.
	(allocator::xstrdup_printf_va): New function.
	(class reproducer): New subclass of dump.
	(reproducer::reproducer): New function.
	(reproducer::write_params): New function.
	(reproducer::write_args): New function.
	(reproducer::make_identifier): New function.
	(reproducer::make_tmp_identifier): New function.
	(reproducer::get_identifier): New pair of functions.
	(reproducer::get_identifier_as_rvalue): New function.
	(reproducer::get_identifier_as_lvalue): New function.
	(reproducer::get_identifier_as_type): New function.
	(reproducer::xstrdup_printf): New function.
	(recording::context::context): Initialize m_toplevel_ctxt.
	(recording::context::new_location): Add param created_by_user.
	(str_option_reproducer_strings): New table of strings.
	(int_option_reproducer_strings): Likewise.
	(bool_option_reproducer_strings): Likewise.
	(get_type_enum_strings): Likewise.
	(names_of_function_kinds): Likewise.
	(global_kind_reproducer_strings): Likewise.
	(unary_op_reproducer_strings): Likewise.
	(binary_op_reproducer_strings): Likewise.
	(comparison_reproducer_strings): Likewise.
	Within namespace ::gcc::jit::recording::...
	(context::dump_reproducer_to_file): New function.
	(string::write_reproducer): Likewise.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(fields::write_reproducer): Likewise.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <int>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <long>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <double>::write_reproducer):
	Likewise.
	(memento_of_new_rvalue_from_const <void *>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* jit-recording.h (gcc::jit::reproducer): New forward declararion.
	Within namespace ::gcc::jit::recording::...
	(context::new_location): Add "created_by_user" param.
	(context::dump_reproducer_to_file): New method.
	(context::m_toplevel_ctxt): New field.
	(memento::write_reproducer): New pure virtual function.
	(memento::dyn_cast_location): New virtual function.
	(string::write_reproducer):
	(location::location): Add "created_by_user" param.
	(location::dyn_cast_location): New function.
	(location::created_by_user): New accessor.
	(location::write_reproducer): New function.
	(location::m_created_by_user): New field.
	(type::access_as_type): New virtual function.
	(location::write_reproducer): Likewise.
	(type::access_as_type): Likewise.
	(memento_of_get_type::write_reproducer): Likewise.
	(memento_of_get_pointer::write_reproducer): Likewise.
	(memento_of_get_const::write_reproducer): Likewise.
	(memento_of_get_volatile::write_reproducer): Likewise.
	(array_type::write_reproducer): Likewise.
	(function_type::write_reproducer): Likewise.
	(function_type::write_deferred_reproducer): Likewise.
	(field::write_reproducer): Likewise.
	(struct_::access_as_type): Likewise.
	(struct_::write_reproducer): Likewise.
	(union_::write_reproducer): Likewise.
	(union_::m_fields): Remove stray unused field.
	(fields::length): New accessor.
	(fields::get_field): New accessor.
	(fields::write_reproducer): New function.
	(rvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_rvalue): Likewise.
	(lvalue::access_as_lvalue): Likewise.
	(param::access_as_rvalue): Likewise.
	(param::access_as_lvalue): Likewise.
	(param::write_reproducer): Likewise.
	(function::write_reproducer): Likewise.
	(block::write_reproducer): Likewise.
	(global::write_reproducer): Likewise.
	(memento_of_new_rvalue_from_const <HOST_TYPE>::write_reproducer):
	Likewise.
	(memento_of_new_string_literal::write_reproducer): Likewise.
	(unary_op::write_reproducer): Likewise.
	(binary_op::write_reproducer): Likewise.
	(comparison::write_reproducer): Likewise.
	(cast::write_reproducer): Likewise.
	(call::write_reproducer): Likewise.
	(call_through_ptr::write_reproducer): Likewise.
	(array_access::write_reproducer): Likewise.
	(access_field_of_lvalue::write_reproducer): Likewise.
	(access_field_rvalue::write_reproducer): Likewise.
	(dereference_field_rvalue::write_reproducer): Likewise.
	(dereference_rvalue::write_reproducer): Likewise.
	(get_address_of_lvalue::write_reproducer): Likewise.
	(local::write_reproducer): Likewise.
	(eval::write_reproducer): Likewise.
	(assignment::write_reproducer): Likewise.
	(assignment_op::write_reproducer): Likewise.
	(comment::write_reproducer): Likewise.
	(conditional::write_reproducer): Likewise.
	(jump::write_reproducer): Likewise.
	(return_::write_reproducer): Likewise.
	* libgccjit++.h (gccjit::context::dump_reproducer_to_file): New.
	* libgccjit.c (gcc_jit_context_new_location): Pass "true" as
	param "created_by_user".
	(gcc_jit_context_dump_reproducer_to_file): New API entrypoint.
	* libgccjit.h (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.
	* libgccjit.map (gcc_jit_context_dump_reproducer_to_file): New API
	entrypoint.

gcc/testsuite/ChangeLog:
	* jit.dg/harness.h (set_up_logging): Move string concatenation
	into...
	(concat_strings): New function.
	(dump_reproducer): New function.
	(test_jit): Call dump_reproducer.
	* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer): New
	function.
	(jit-dg-test): Delete any generated reproducer from previous runs.
	Verify that a generated reproducer was created, and verify that it
	compiles.
	* jit.dg/test-nested-contexts.c (main): Call
	gcc_jit_context_dump_reproducer_to_file.

From-SVN: r219564
2015-01-13 22:14:46 +00:00
H.J. Lu
9c80f9197e Add dg-require-profiling to gcc.dg/aru-2.c
* gcc.dg/aru-2.c: Add dg-require-profiling.

From-SVN: r219561
2015-01-13 13:24:16 -08:00
H.J. Lu
f263fe40d7 Check if -pg links in check_profiling_available
* lib/target-supports.exp (check_profiling_available): Check if
	-pg links.

From-SVN: r219560
2015-01-13 13:13:36 -08:00
Jason Merrill
caee690e91 re PR c++/64356 (Some constexpr expressions not recognized as constexpr)
PR c++/64356
	PR libstdc++/58777
	* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
	pointer expressions.
	(cxx_eval_increment_expression): Likewise.

From-SVN: r219559
2015-01-13 16:04:43 -05:00
Jason Merrill
7c368fb23c re PR c++/64514 (Error in template instantiation in GCC 4.9, works fine in GCC 4.8)
PR c++/64514
	* pt.c (coerce_template_parameter_pack): Return NULL for a
	zero-length fixed parameter pack with a pack expansion arg.

From-SVN: r219558
2015-01-13 16:04:35 -05:00
Jason Merrill
8f413ae21e re PR c++/64520 (ICE with std::initializer_list)
PR c++/64520
	* pt.c (unify): Don't try to deduce to std::initializer_list<T...>.

From-SVN: r219557
2015-01-13 16:04:28 -05:00
Jan Hubicka
2001028ad3 re PR ipa/64565 (ICE: in inline_small_functions, at ipa-inline.c:1664)
PR ipa/64565
	* g++.dg/torture/pr64565.C: New testcase.
	* ipa-inline.c (inline_small_functions): Update callee keys after
	resolving speculation
	(inline_small_functions): Always check monotonicity of the queue.

From-SVN: r219556
2015-01-13 20:59:37 +00:00
Marek Polacek
59b8926c6f re PR middle-end/64391 (ICE: SIGSEGV in get_attrs_for (trans-mem.c:179) with -fgnu-tm and #pragma GCC ivdep)
PR middle-end/64391
	* trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.

	* gcc.dg/tm/pr64391.c: New test.

From-SVN: r219555
2015-01-13 20:22:32 +00:00
H.J. Lu
ee57ebbf2b Support PIE in gcc.dg/tree-ssa/ssa-store-ccp-3.c
target nonpic is always false for -fPIE since it defines both __PIC__
and __PIE__.  This patch changes gcc.dg/tree-ssa/ssa-store-ccp-3.c to
make it to pass with -fPIE by excluding PIE when nonpic is true.

	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Exclude pie when nonpic is
	true.

From-SVN: r219554
2015-01-13 12:07:33 -08:00
H.J. Lu
ed4f78fae8 Add check_effective_target_pie
* gcc.target/i386/pie.c: New test.

	* lib/target-supports.exp (check_effective_target_pie): New.

From-SVN: r219553
2015-01-13 12:05:41 -08:00
Jakub Jelinek
860dadcbea re PR rtl-optimization/64286 (Redundant extend removal ignores vector element type)
PR rtl-optimization/64286
	* ree.c (combine_reaching_defs): Move part of comment earlier,
	remove !SCALAR_INT_MODE_P check.
	(add_removable_extension): Don't add vector mode
	extensions if all uses of the source register aren't the same
	vector extensions.

	* gcc.target/i386/avx2-pr64286.c: New test.

From-SVN: r219550
2015-01-13 20:12:47 +01:00
Paolo Carlini
6e5a37dae7 re PR c++/57626 ([C++11] ICE with template alias and member function pointer)
2015-01-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57626
	* g++.dg/cpp0x/vt-57626.C: New.

From-SVN: r219546
2015-01-13 17:19:32 +00:00
Jakub Jelinek
b6a8baccac sanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.
* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
	upstream r224518 and r224519.
	* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
	r224834.

From-SVN: r219545
2015-01-13 18:01:30 +01:00
Renlin Li
41197ad499 [ARM]Make CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO return 2.
gcc/

	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
	(CTZ_DEFINED_VALUE_AT_ZERO): Ditto.

From-SVN: r219544
2015-01-13 16:47:30 +00:00
Jakub Jelinek
31ec353514 re PR fortran/64528 (ICE: in process_constraint, at tree-ssa-structalias.c:3002 with -O -fno-tree-ccp -fno-tree-dce)
PR fortran/64528
	* trans-decl.c (create_function_arglist): Don't set TREE_READONLY
	on dummy args with VALUE attribute.

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

From-SVN: r219543
2015-01-13 17:42:22 +01:00
Martin Liska
eaabbb005f Option diff dump is added for target and optimization
* ipa-icf.c (sem_function::equals_private): Call new functions
	cl_target_option_print_diff and cl_optimization_print_diff.
	* optc-save-gen.awk (cl_target_option_print_diff): New function.
	(cl_optimization_print_diff): Likewise.
	* opth-gen.awk: Likewise.

M    gcc/ChangeLog
M    gcc/ipa-icf.c
M    gcc/optc-save-gen.awk
M    gcc/opth-gen.awk

From-SVN: r219542
2015-01-13 16:30:23 +00:00
H.J. Lu
ff8ebda16a Set TARGET to X86_64 if __x86_64__ is defined
PR bootstrap/64575
	* configure.host (TARGET): Set to X86_64 if __x86_64__ is defined.

From-SVN: r219539
2015-01-13 07:57:27 -08:00
Richard Henderson
be723d1e73 re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)
PR libffi/64572

 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
 (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.

From-SVN: r219538
2015-01-13 07:29:47 -08:00
Jonathan Wakely
6eb6148159 re PR libstdc++/64571 (Link failure with fstream due to new string implementation)
PR libstdc++/64571
	* config/abi/pre/gnu.ver: Export fstream functions using new string.

From-SVN: r219537
2015-01-13 14:56:50 +00:00
Richard Sandiford
7eb8fb77fa gcc/
* config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
	(*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
	(*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
	(*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
	(*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
	(*sub_uxtsi_multp2_uxtw): Add stack pointer sources.

gcc/testsuite/
	* gcc.target/aarch64/subsp.c: New test.

From-SVN: r219533
2015-01-13 14:11:15 +00:00
Andrew Pinski
1f46bd52c5 2015-01-13 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.c (fusion_load_store): Check dest mode
        instead of src mode.


2015-01-13  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/store-pair-1.c: New testcase.

From-SVN: r219532
2015-01-13 06:08:21 -08:00
Richard Biener
e0ffb247d6 re PR lto/64373 (ICE with lto related to variably modified type)
2015-01-13  Richard Biener  <rguenther@suse.de>

	PR lto/64373
	* lto-streamer-out.c (tree_is_indexable): Guard for NULL
	DECL_CONTEXT.

	* gcc.dg/lto/pr64373_0.c: New testcase.

From-SVN: r219531
2015-01-13 13:57:27 +00:00
Andrew Pinski
bf84ac44f9 [multiple changes]
2015-01-13  Andrew Pinski   <apinski@cavium.com>

        * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
        volatile mems.
        (aarch64_operands_adjust_ok_for_ldpstp): Likewise.


2015-01-13  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/aarch64/volatileloadpair-1.c: New testcase.
        * gcc.target/aarch64/volatileloadpair-2.c: New testcase.

From-SVN: r219530
2015-01-13 05:55:23 -08:00
Jakub Jelinek
08cb0abc7c re PR middle-end/63974 (gcc.c-torture/compile/991213-3.c ICEs with -mabi=ilp32)
PR middle-end/63974
	* cfgexpand.c (expand_computed_goto): Don't call
	convert_memory_address here.

From-SVN: r219529
2015-01-13 14:44:06 +01:00
Richard Biener
d0ed943ca4 re PR tree-optimization/64406 (ICE: SIGSEGV in estimate_numbers_of_iterations_loop (tree-ssa-loop-niter.c:3453) with custom flags)
2015-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64406
	* tree-loop-distibution.c (pass_loop_distribution::execute):
	Reset the SCEV hashtable if we distributed anything.

	* gcc.dg/pr64406.c: New testcase.

From-SVN: r219528
2015-01-13 13:41:46 +00:00
Richard Biener
96bb56b2d7 re PR tree-optimization/64404 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1464 with --param=sccvn-max-alias-queries-per-access=1)
2015-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64404
	* tree-vect-stmts.c (vectorizable_load): Reject conflicting
	SLP types for CSEd loads.

	* gcc.dg/vect/pr64404.c: New testcase.

From-SVN: r219527
2015-01-13 12:35:27 +00:00
Iain Sandoe
ebcd09c1c1 update to add myself to Objective-c/c++ maintainers
From-SVN: r219526
2015-01-13 11:23:46 +00:00
Thomas Preud'homme
af410c4c29 re PR tree-optimization/64436 (optimize-bswapdi-3.c fails on aarch64_be-none-elf)
2015-01-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/64436
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
    merge of two symbolic numbers for a bitwise OR to ...
    (perform_symbolic_merge): This. Also fix computation of the range and
    end of the symbolic number corresponding to the result of a bitwise OR.

From-SVN: r219525
2015-01-13 11:23:01 +00:00
Marek Polacek
71aa170d28 Add self as C front end reviewer.
From-SVN: r219523
2015-01-13 09:08:35 +00:00
Richard Biener
a2d429ac5e re PR middle-end/64568 (error: invalid reference prefix)
2014-01-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64568
	* tree-ssa-forwprop.c (pass_forwprop::execute): Properly
	release defs of removed stmts, avoid splitting TARGET_MEM_REFs.

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

From-SVN: r219520
2015-01-13 08:32:13 +00:00
Jakub Jelinek
0d7a9dbdd2 re PR libgcj/64219 (Rename libgcj-5.0.pc to libgcj-5.pc)
PR libgcj/64219
	* Makefile.am (install-data-local): Use just the major version
	from GCJVERSION instead of major.minor.
	* Makefile.in: Regenerated.

From-SVN: r219519
2015-01-13 09:23:31 +01:00
Chung-Ju Wu
4855be8434 [NDS32] Consider -mcmodel=X in nds32_legitimate_address_p implementation.
gcc/
	* config/nds32/nds32.c (nds32_legitimate_address_p): Consider
	TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.

From-SVN: r219515
2015-01-13 06:06:34 +00:00
Chung-Ju Wu
511a41d799 [NDS32] Implement TARGET_ENCODE_SECTION_INFO to store specific flag in symbol_ref rtx.
gcc/
	* config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
	target-specific symbol_ref flag.
	(NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
	resides in rodata section.
	* config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
	(nds32_encode_section_info): New function.

From-SVN: r219514
2015-01-13 05:59:03 +00:00