Commit Graph

136101 Commits

Author SHA1 Message Date
Oleg Endo
c761dca15e re PR target/64659 ([SH] Immedate values not used for atomic ops)
gcc/
	PR target/64659
	* config/sh/predicates.md (atomic_arith_operand,
	atomic_logical_operand): Remove.
	* config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
	(atomic_arith_operand_0): New predicate.
	(atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
	Use atomic_arith_operand_0 for input values.
	(atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
	atomic_compare_and_swap<mode>_soft_gusa,
	atomic_compare_and_swap<mode>_soft_tcb,
	atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_exchange<mode>): Use arith_reg_dest for output value.  Use
	atomic_arith_operand_0 for newval input.
	(atomic_exchangesi_hard, atomic_exchange<mode>_hard,
	atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
	atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
	fetchop_predicate_1, fetchop_constraint_1_llcs,
	fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
	fetchop_constraint_1_imask): New code iterator attributes.
	(atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1.
	(atomic_fetch_<fetchop_name>si_hard,
	atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1, fetchop_constraint_1_llcs.
	(atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_gusa.
	(atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_tcb.  Adjust asm sequence
	to allow R0 usage.
	(atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
	and arith_reg_operand instead of register_operand.  Use
	fetchop_predicate_1, fetchop_constraint_1_imask.  Adjust asm sequence
	to allow R0 usage.
	(atomic_fetch_nand<mode>): Use arith_reg_dest instead of
	register_operand.  Use atomic_logical_operand_1.
	(atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
	atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
	Use arith_reg_dest and arith_reg_operand instead of register_operand.
	Use logical_operand and rK08.  Adjust asm sequence to allow R0 usage.
	(atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
	register_operand.  Use fetchop_predicate_1.
	(atomic_<fetchop_name>_fetchsi_hard,
	atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_llcs.
	(atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_gusa.
	(atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_tcb.  Adjust asm sequence to allow R0 usage.
	(atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use fetchop_predicate_1,
	fetchop_constraint_1_imask.  Adjust asm sequence to allow R0 usage.
	(atomic_nand_fetch<mode>): Use arith_reg_dest instead of
	register_operand.  Use atomic_logical_operand_1.
	(atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
	atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.
	(atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use logical_operand
	and K08.  Adjust asm sequence to allow R0 usage.
	(atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
	arith_reg_operand instead of register_operand.  Use logical_operand
	and K08.

gcc/testsuite/
	PR target/64659
	* gcc.target/sh/sh.exp
	(check_effective_target_atomic_model_soft_gusa_available,
	check_effective_target_atomic_model_soft_tcb_available,
	check_effective_target_atomic_model_soft_imask_available,
	check_effective_target_atomic_model_hard_llcs_available): New.
	* gcc.target/sh/pr64659-0.h: New.
	* gcc.target/sh/pr64659-1.c: New.
	* gcc.target/sh/pr64659-2.c: New.
	* gcc.target/sh/pr64659-3.c: New.
	* gcc.target/sh/pr64659-4.c: New.

From-SVN: r220217
2015-01-28 21:11:37 +00:00
Jakub Jelinek
13a48f3780 re PR other/63504 (Issues found by --enable-checking=valgrind)
PR other/63504
	* dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
	Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
	(attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
	only get_full_len HOST_WIDE_INTs from get_val () array rather than
	all bits in *val_wide.

From-SVN: r220216
2015-01-28 21:30:30 +01:00
Bruce Korb
11c3a68e35 checksums and test-text
* fixincl.tpl: add a check sum acceptance test
* fixlib.h: enumerate it
* fixincl.c: handle it
* README: document it and document the handling of test_text

From-SVN: r220215
2015-01-28 20:21:34 +00:00
Jan Hubicka
040968a88a * lto-symtab.c (lto_varpool_replace_node): Merge TLS models.
From-SVN: r220214
2015-01-28 19:57:35 +00:00
Jan Hubicka
b1474d30f9 varpool.c (tls_model_names): Fix names.
* varpool.c (tls_model_names): Fix names.
	(varpool_node::dump): Dump tls- prefix for tls models.

From-SVN: r220213
2015-01-28 19:55:13 +00:00
H.J. Lu
1e081edaad Call release_input_file in claim_file_handler
PR lto/64837
	* lto-plugin.c (release_input_file): New.
	(claim_file_handler): Call release_input_file.
	(onload): Set release_input_file.

From-SVN: r220212
2015-01-28 11:39:42 -08:00
Thomas Schwinge
1f83528e3e nvptx mkoffload.
gcc/
	* config/nvptx/mkoffload.c: New file.
	* config/nvptx/t-nvptx: Add build rules for it.
	* config.gcc <nvptx-*> [$enable_as_accelerator = yes]
	(extra_programs): Add mkoffload.
	* config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
	function.
	(TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>

From-SVN: r220209
2015-01-28 18:03:44 +01:00
Alex Velenko
26586d771d atomic-op-consume.c (scan-assember-times): Adjust scan-assembler-times pattern.
2015-01-28  Alex Velenko  <Alex.Velenko@arm.com>

gcc/testsuite/

	* gcc.target/arm/atomic-op-consume.c (scan-assember-times): Adjust
	scan-assembler-times pattern.

From-SVN: r220208
2015-01-28 15:11:58 +00:00
Jonathan Wakely
739cdc9041 re PR libstdc++/64828 (libstdc++-v3/libsupc++/del_opvs.cc:30:1: warning: ‘void operator delete [](void*, std::size_t)’ is a usual (non-placement) deallocation function in C++14 (or with -fsized-deallocation) [-Wc++14-compat])
PR libstdc++/64828
	* libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
	* libsupc++/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.

From-SVN: r220207
2015-01-28 15:02:28 +00:00
Kyrylo Tkachov
f6d04238e0 [libstdc++][testsuite][reverted] Remove check for truncation overflow
* testsuite/lib/libstdc++.exp (v3_target_compile): Remove
    check for unsupported.
    (v3_target_compile_as_c): Likewise.

From-SVN: r220206
2015-01-28 13:53:45 +00:00
Yuri Rumyantsev
090238ee1f re PR middle-end/64809 (ICE at -O3 with -g enabled on x86_64-linux-gnu (in 32-bit mode))
gcc/

	PR middle-end/64809
	* cfgexpand.c (reorder_operands): Skip debug gimples.

gcc/testsuite/

	PR middle-end/64809
	* gcc.dg/pr64809.c: New test.

From-SVN: r220205
2015-01-28 11:46:44 +00:00
Ilya Enkovich
fa8e505188 re PR tree-optimization/64277 (Incorrect warning "array subscript is above array bounds")
gcc/

	PR tree-optimization/64277
	* tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
	range info when possible to refine estimation.

gcc/testsuite/

	PR tree-optimization/64277
	* gcc.dg/pr64277.c: New.

From-SVN: r220204
2015-01-28 11:41:40 +00:00
Thomas Preud'homme
8447859b3e re PR tree-optimization/64718 (Bad 16-bit bswap replacement)
2015-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/64718
    * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
    be a 16bit unsigned integer when n->range is 16.
    (bswap_replace): Convert src to that type if necessary for all bswap
    sizes.  Fix rotation right notation in nearby comment.  Use bswap_type
    set in pass_optimize_bswap::execute ().

    gcc/testsuite/
    PR tree-optimization/64718
    * gcc.c-torture/execute/pr64718.c: New test.

From-SVN: r220203
2015-01-28 10:20:19 +00:00
James Greenhalgh
285398d2db [Patch AArch64] Make integer vabs intrinsics UNSPECs
gcc/

	* config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
	* config/aarch64/aarch64-simd-builtins.def (abs): Split by
	integer and floating point variants.
	* config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.

gcc/testsuite/

	* gcc.target/aarch64/abs_2.c: New.

From-SVN: r220202
2015-01-28 10:08:57 +00:00
Richard Biener
8aa33fadbe re PR libstdc++/64798 (g++.old-deja/g++.eh/badalloc1.C FAILs)
2015-01-28  Richard Biener  <rguenther@suse.de>

	PR libstdc++/64798
	* libsupc++/eh_alloc.cc (struct allocated_entry): Align
	data member.
	(pool::allocate): Adjust allocation size and alignment to
	that change.
	(pool::free): Adjust pointer offsetting.

From-SVN: r220201
2015-01-28 09:53:39 +00:00
Robert Suchanek
de5bcff3bc Prohibit vector modes in accumulators.
gcc/
	* config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
	for all vector modes.

From-SVN: r220200
2015-01-28 09:44:39 +00:00
Robert Suchanek
6b18ab83aa Regression cleanup for MIPS nan2008 toolchain.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_mips_nanlegacy): New.
	* gcc.target/mips/loongson-simd.c: Require legacy NaN support.
	* gcc.target/mips/mips.exp (mips-dg-options): Imply -mnan=legacy for
	ISA rev < 2.

From-SVN: r220199
2015-01-28 09:22:20 +00:00
Jakub Jelinek
813ba01399 re PR bootstrap/64612 (profiledbootstrap failures)
PR bootstrap/64612
	* lib/target-supports.exp (check_effective_target_comdat_group): New.
	* g++.dg/ipa/pr64612.C: Guard scan-assembler test with
	{ target comdat_group }.

	* doc/sourcebuild.texi (comdat_group): Document.

From-SVN: r220198
2015-01-28 08:45:56 +01:00
Terry Guo
5ea22cfc70 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
From-SVN: r220197
2015-01-28 06:18:37 +00:00
GCC Administrator
e23fbe9133 Daily bump.
From-SVN: r220196
2015-01-28 00:17:07 +00:00
Jason Merrill
2cc7f90b6e re PR c++/58597 (ICE with lambda in default argument of template function)
PR c++/58597
	* lambda.c (maybe_add_lambda_conv_op): Check cfun rather than
	current_function_decl.

From-SVN: r220192
2015-01-27 16:40:45 -05:00
David Malcolm
53c04ec92a toplev: gcc version information for jit
gcc/ChangeLog:
	* toplev.c (print_version): Add param "show_global_state", and
	only print GGC and plugin information if it is true.
	(init_asm_output): Pass in "true" for the new param when calling
	print_version.
	(process_options): Likewise.
	(toplev::main): Likewise.
	* toplev.h (print_version): Add new param to decl.

gcc/jit/ChangeLog:
	* docs/internals/test-hello-world.exe.log.txt: Add example version
	lines.
	* jit-common.h (gcc::jit::dump::get_file): New accessor.
	* jit-logging.c: Include toplev.h.
	(gcc::jit::logger::logger): Log the GCC version.
	* jit-recording.c: Include toplev.h.
	(gcc:jit::recording::context::dump_reproducer_to_file): Log the
	GCC version.

From-SVN: r220190
2015-01-27 20:19:36 +00:00
Tobias Burnus
710700abb8 re PR fortran/63861 (OpenACC coarray ICE (also with OpenMP?))
2015-01-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/63861
gcc/fortran/
        * trans-openmp.c (gfc_has_alloc_comps, gfc_trans_omp_clauses):
        Fix handling for scalar coarrays.
        * trans-types.c (gfc_get_element_type): Add comment.
gcc/testsuite/
        * gfortran.dg/goacc/coarray_2.f90: New.

From-SVN: r220189
2015-01-27 20:57:55 +01:00
Jan Hubicka
e23f28927f re PR ipa/60871 (internal compiler error: in possible_polymorphic_call_targets, at ipa-devirt.c:1510)
PR ipa/60871
	PR ipa/64139
	* tree.c (lookup_binfo_at_offset): New function.
	(get_binfo_at_offset): Use it.

	* g++.dg/torture/pr64139.C: New testcase.
	* g++.dg/torture/pr60871.C: Likewise.

From-SVN: r220185
2015-01-27 19:39:37 +00:00
Jason Merrill
94e54b8d14 re PR c++/63889 (Ice with redundant static in class scope constexpr variable template.)
PR c++/63889
	* pt.c (finish_template_variable): Move from semantics.c.
	Handle multiple template arg levels.  Handle coercion here.
	(lookup_template_variable): Not here.

From-SVN: r220183
2015-01-27 14:16:51 -05:00
Rainer Orth
47da0bf6fb re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637)
2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

        PR fortran/64771
        * interface.c: Remove <algorithm>.
        (check_dummy_characteristics): Use MAX instead of std::max.

From-SVN: r220182
2015-01-27 19:44:35 +01:00
Janus Weil
6e17947e9f re PR fortran/64230 (Invalid memory reference in a compiler-generated finalizer for allocatable component)
2015-01-27  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64230
	* gfortran.dg/class_allocate_18.f90: Remove -fsanitize option to
	prevent linking errors.

From-SVN: r220181
2015-01-27 19:36:52 +01:00
Bernd Edlinger
7e8338d861 Fix build under cygwin/64.
2015-01-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix build under cygwin/64.
        * adaint.h: Add check for __CYGWIN__.
        * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.

From-SVN: r220180
2015-01-27 17:20:27 +00:00
Jan Hubicka
b833dedd61 re PR ipa/64282 (ICE in gimple_get_virt_method_for_vtable, at gimple-fold.c:5635)
PR ipa/64282
	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
	on vtable being vtable.
	* g++.dg/torture/pr64282.C: New testcase.

From-SVN: r220177
2015-01-27 16:59:31 +00:00
Kyrylo Tkachov
e24ca886a8 [AArch64][test] Fix FAIL: gcc.target/aarch64/store-pair-1.c scan-assembler stp\tw[0-9]+, w[0-9]+
* gcc.target/aarch64/store-pair-1.c: Update scan-assembler to check
	for wzr reg.

From-SVN: r220176
2015-01-27 16:45:29 +00:00
Matthias Klose
67caf5381c sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.
2015-01-27  Matthias Klose  <doko@ubuntu.com>

        * sendmsg.c: Add prototypes for __objc_get_forward_imp and get_imp.

From-SVN: r220175
2015-01-27 16:28:35 +00:00
Robert Suchanek
82a9447166 Add myself to maintaners.
/
	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r220172
2015-01-27 15:31:14 +00:00
Dominik Vogt
94091f43bd extend.texi: s/390: Update documentation of hotpatch attribute.
2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

        * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
        * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
        -mhotpatch= option.
        * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
        -mno-hotpatch options.  Change syntax of -mhotpatch= option.
        * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
        Renamed.
        (s390_hotpatch_trampoline_halfwords_max): Renamed.
        (s390_hotpatch_hw_max): New name.
        (s390_hotpatch_trampoline_halfwords): Renamed.
        (s390_hotpatch_hw_before_label): New name.
        (get_hotpatch_attribute): Removed.
        (s390_hotpatch_hw_after_label): New name.
        (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
        attribute.
        (s390_attribute_table): Ditto.
        (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
        (s390_function_num_hotpatch_hw): New name.
        Remove special handling of inline functions and hotpatching.
        Return number of nops before and after the function label.
        (s390_can_inline_p): Removed.
        (s390_asm_output_function_label): Emit a configurable number of nops
        after the function label.
        (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
        (TARGET_CAN_INLINE_P) Removed.
        (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.

2015-01-27  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc/testsuite/gcc.target/s390/hotpatch-13.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-14.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-15.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-16.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-17.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-18.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-19.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-20.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-10.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-11.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-12.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-13.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-14.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-15.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-16.c: New testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-9.c: New
	testcase.
	* gcc/testsuite/gcc.target/s390/hotpatch-1.c: Testcase adjusted to
	new -mhotpatch.
	* gcc/testsuite/gcc.target/s390/hotpatch-10.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-11.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-12.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-2.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-3.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-4.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-5.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-6.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-7.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-8.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-9.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-1.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-2.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-3.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-4.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-5.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-6.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-7.c: Likewise.
	* gcc/testsuite/gcc.target/s390/hotpatch-compile-8.c: Likewise.

From-SVN: r220171
2015-01-27 15:26:16 +00:00
Jiong Wang
096e8448ca [AArch64] Improve bit-test-branch pattern to avoid unnecessary register clobber
2015-01-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Jiong Wang  <jiong.wang@arm.com>

  gcc/
    * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead of
    scratch reg.
    (cb<optab><mode>1): Likewise.
    * config/aarch64/iterators.md (bcond): New define_code_attr.

  gcc/testsuite/
    * gcc.dg/long_branch.c: New testcase.

From-SVN: r220170
2015-01-27 15:20:14 +00:00
Andreas Krebbel
fb1a3f8f57 s390.c (s390_memory_move_cost): Increase costs for memory accesses.
2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_memory_move_cost): Increase costs for
	memory accesses.

From-SVN: r220169
2015-01-27 15:01:46 +00:00
Andreas Krebbel
f954fb25aa s390.c (s390_register_move_cost): Increase costs for FPR->GPR moves.
2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_register_move_cost): Increase costs for
	FPR->GPR moves.

From-SVN: r220168
2015-01-27 14:59:48 +00:00
Matthias Klose
94213c1020 configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
2015-01-26  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
        * configure: Regenerate.

From-SVN: r220165
2015-01-27 12:50:46 +00:00
Richard Biener
755359b75e tree-vrp.c (update_value_range): Intersect the range with old recorded SSA name range information.
2015-01-27  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (update_value_range): Intersect the range with
	old recorded SSA name range information.

From-SVN: r220164
2015-01-27 12:11:37 +00:00
Nick Clifton
eb42aba984 rl78.c (rl78_expand_prologue): In G10 mode push the BC, DE and HL registers directly, not via AX.
* config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
	BC, DE and HL registers directly, not via AX.
	When decrementing the stack pointer by a large amount, transfer SP
	into AX and perform the subtraction there.
	(rl78_expand_epilogue): Perform the inverse of the above
	enhancements.

From-SVN: r220163
2015-01-27 11:37:08 +00:00
Nick Clifton
8410904a77 cmpsi2.S: Use function start and end macros.
* config/rl78/cmpsi2.S: Use function start and end macros.
	(__gcc_bcmp): New function.
	* config/rl78/lshrsi3.S: Use function start and end macros.
	* config/rl78/mulsi3.S: Add support for G10.
	(__mulqi3): New function for G10.
	* config/rl78/signbit.S: Use function start and end macros.
	* config/rl78/t-rl78 (LIB2ADD): Add bit-count.S, fpbit-sf.S and
	fpmath-sf.S.
	(LIB2FUNCS_EXCLUDE): Define.
	(LIB2FUNCS_ST): Define.
	* config/rl78/trampoline.S: Use function start and end macros.
	* config/rl78/vregs.h (START_FUNC): New macro.
	(START_ANOTHER_FUNC): New macro.
	(END_FUNC): New macro.
	(END_ANOTHER_FUNC): New macro.
	* config/rl78/bit-count.S: New file.  Contains assembler
	implementations of the bit counting functions: ___clzhi2,
	__clzsi2, ctzhi2, ctzsi2, ffshi2, ffssi2, __partityhi2,
	__paritysi2, __popcounthi2 and __popcountsi2.
	* config/rl78/fpbit-sf.S: New file.  Contains assembler
	implementationas of the math functions: __negsf2, __cmpsf2,
	__eqsf2, __nesf2, __lesf2, __ltsf2, __gesf2, gtsf2, __unordsf2,
	__fixsfsi,  __fixunssfsi, __floatsisf and __floatunssisf.
	* config/rl78/fpmath-sf.S: New file.  Contains assembler
	implementations of the math functions: __subsf3, __addsf3,
	__mulsf3 and __divsf3

From-SVN: r220162
2015-01-27 11:36:01 +00:00
Jonathan Wakely
506f03c370 re PR target/64368 (Several libstdc++ test failures on non-linux platforms after r218964.)
PR libstdc++/64368
	* include/std/shared_mutex (shared_timed_mutex::try_lock_for,
	shared_timed_mutex::try_lock_until): Only define when POSIX thread
	timeouts option is supported.
	(shared_timed_mutex::try_shared_lock_for,
	shared_timed_mutex::try_shared_lock_until): Likewise.

From-SVN: r220161
2015-01-27 11:12:04 +00:00
Rainer Orth
f962fbf14c Move Solaris/x86 CRT_GET_RFIB_DATA definition to libgcc
gcc:
	* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.

	libgcc:
	* config.host (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*):
	Add i386/elf-lib.h to tm_file.
	* config/i386/elf-lib.h: Fix comment.
	* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback) [__x86_64__
	&& __sun__ && __svr4__]: Remove workaround.

From-SVN: r220160
2015-01-27 10:02:26 +00:00
Jakub Jelinek
f4bdb96a34 re PR sanitizer/64741 (Incorrect size of UBSan type descriptors)
2015-01-27  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR ubsan/64741
	* ubsan.c (ubsan_source_location): Refactor code.
	(ubsan_type_descriptor): Update type size. Refactor code.

Co-Authored-By: Yury Gribov <y.gribov@samsung.com>

From-SVN: r220159
2015-01-27 09:58:00 +00:00
Rainer Orth
d9c1646658 Correctly check for 32-bit x86
* testsuite/lib/libffi.exp: Load target-supports.exp.
	(run-many-tests): Only set targetabis for ia32.

From-SVN: r220158
2015-01-27 09:57:57 +00:00
Richard Biener
f101c4b47a re PR tree-optimization/56273 (Bogus -Warray-bounds warning)
2015-01-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56273
	PR tree-optimization/59124
	PR tree-optimization/64277
	* tree-vrp.c (vrp_finalize): Emit array-bound warnings only
	from the first VRP pass.

	* g++.dg/warn/Warray-bounds-6.C: New testcase.
	* gcc.dg/Warray-bounds-12.c: Likewise.
	* gcc.dg/Warray-bounds-13.c: Likewise.

From-SVN: r220157
2015-01-27 09:49:29 +00:00
Jakub Jelinek
4eaf52aabb re PR ipa/64776 (FAIL: gcc.dg/ipa/pr64307.c (internal compiler error) on x86_64-apple-darwin14)
PR ipa/64776
	* cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
	handle the first argument in the same loop as all the other arguments.

From-SVN: r220156
2015-01-27 10:21:26 +01:00
Jakub Jelinek
6d71672db6 re PR rtl-optimization/61058 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in distance_agu_use_in_bb, at config/i386/i386.c:16740 with __builtin_unreachable())
PR rtl-optimization/61058
	* jump.c (cleanup_barriers): Update basic block boundaries
	if BLOCK_FOR_INSN is non-NULL on PREV.

	* gcc.dg/pr61058.c: New test.

From-SVN: r220155
2015-01-27 10:19:30 +01:00
Ilya Enkovich
3dd598be88 tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of bounds narrowing...
gcc/

	* tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
	bounds narrowing, already instrumented calls and calls to
	not instrumentable functions.

gcc/testsuite/

	* gcc.target/i386/chkp-narrow-bounds.c: New.

From-SVN: r220154
2015-01-27 09:09:28 +00:00
Jakub Jelinek
b30ea1387f re PR tree-optimization/64807 (Wrong-code because of wide-int division)
PR tree-optimization/64807
	* wide-int.cc (wi::divmod_internal): Clear
	b_dividend[dividend_blocks_needed].

	* gcc.dg/pr64807.c: New test.

From-SVN: r220153
2015-01-27 09:26:13 +01:00
Jakub Jelinek
dea63e49fa re PR middle-end/64766 (internal compiler error: tree check: expected block, have error_mark in lower_function_body, at gimple-low.c:122)
PR c/64766
	* c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
	of FUNCTION_DECLs with error_mark_node.

	* gcc.dg/pr64766.c: New test.

From-SVN: r220152
2015-01-27 09:13:45 +01:00