Commit Graph

136068 Commits

Author SHA1 Message Date
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
DJ Delorie
1230f784cf rl78.c (move_elim_pass): Don't optimize away volatile memory references.
* config/rl78/rl78.c (move_elim_pass): Don't optimize away
volatile memory references.

From-SVN: r220151
2015-01-26 23:07:54 -05:00
David Malcolm
82a0fe9a1d Add PR jit/64257 to previous ChangeLog entry
From-SVN: r220150
2015-01-27 00:28:45 +00:00
David Malcolm
5a28932add update_web_docs_svn: support the JIT documentation
maintainer-scripts/ChangeLog:
	* update_web_docs_svn: Don't delete gcc/jit/docs or
	gcc/jit/jit-common.h, gcc/jit/notes.txt. Special case the
	building of the JIT docs (using sphinx-build).  Special case
	copying them up.

From-SVN: r220149
2015-01-27 00:17:56 +00:00
GCC Administrator
e24439197f Daily bump.
From-SVN: r220148
2015-01-27 00:16:50 +00:00
David Malcolm
dc44ee3aef Fix gcc_jit_context_get_last_error docs
gcc/jit/ChangeLog:
	* docs/topics/compilation.rst (gcc_jit_result_get_code): Fix typo.
	* docs/topics/contexts.rst (gcc_jit_context_get_last_error): The
	error buffer is only valid until the next call to the context.
	* libgccjit.h (gcc_jit_context_get_first_error): Reword the
	comment to omit mention of compiling.
	(gcc_jit_context_get_last_error): The error buffer is only valid
	until the next call to the context.

From-SVN: r220145
2015-01-27 00:11:21 +00:00
Oleg Endo
48e4f473eb re PR target/49263 (SH Target: underutilized "TST #imm, R0" instruction)
gcc/
	PR target/49263
	* config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
	remove_insn.
	* config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
	shifts if it already fits into K08.

gcc/testsuite/
	PR target/49263
	* gcc.target/sh/pr49263-4.c: New.

From-SVN: r220144
2015-01-26 23:56:05 +00:00
Jonathan Wakely
831a3a9e34 re PR target/64368 (Several libstdc++ test failures on non-linux platforms after r218964.)
PR libstdc++/64368
	* config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
	numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
	* src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
	and use cache's _M_grouping field.
	(__numpunct_fill_cache): Likewise.
	(__moneypunct_fill_cache): Improve comments.

From-SVN: r220143
2015-01-26 23:42:39 +00:00
Matthias Klose
26570a9b4b 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: r220141
2015-01-26 22:54:31 +00:00
Paul Thomas
40a778bd51 re PR fortran/62044 (ICE in USE statement with RENAME for extended derived type)
2015-01-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/62044
	* resolve.c (resolve_allocate_expr): If the default initializer
	is NULL, keep the original MOLD expression so that the correct
	typespec is available.

2015-01-26  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/62044
	* gfortran.dg/allocate_with_mold_1.f90: New test

From-SVN: r220140
2015-01-26 21:58:42 +00:00
Jakub Jelinek
1b7706c830 re PR ipa/64730 (g++.dg/ipa/pr64049-1.C ICE: SEGV when printing NULL)
PR ipa/64730
	* ipa-inline.c (inline_small_functions): Print "unknown" even
	if edge->call_stmt is non-NULL, but has builtins or unknown
	location.

From-SVN: r220139
2015-01-26 22:33:11 +01:00
Jakub Jelinek
d38f7dcef3 re PR c/64778 (ICE on invalid code on x86_64-linux-gnu: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in create_tmp_from_val, at gimplify.c:491)
PR c/64778
	* c-typeck.c (convert_arguments): Return -1 if there are
	error_args, even if we've diagnosed too many arguments.

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

From-SVN: r220138
2015-01-26 22:32:09 +01:00
Jakub Jelinek
4cd76837a8 re PR middle-end/64421 (Incorrect vector function name generated for log)
PR middle-end/64421
	* omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
	with asterisk, skip the first character.

	* gcc.dg/vect/pr64421.c: New test.

From-SVN: r220137
2015-01-26 22:28:57 +01:00
Tobias Burnus
b25affbdc1 re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in gfc_zero_size_array in arith.c:1637)
2015-01-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/64771
gcc/fortran/
        * interface.c (check_dummy_characteristics): Fix coarray
        * handling.

testsuite/
        * gfortran.dg/coarray_36.f: New.
        * gfortran.dg/coarray_37.f90: New.

From-SVN: r220136
2015-01-26 22:12:19 +01:00
Tobias Burnus
c123c5ba64 io.c (gfc_match_inquire): Replace "-1" by a defined constant.
2015-01-26  Tobias Burnus  <burnus@net-b.de>

        * io.c (gfc_match_inquire): Replace "-1" by a defined constant.

From-SVN: r220135
2015-01-26 22:05:39 +01:00
David Malcolm
3349605dc7 PR jit/64708: remove libgccjit.so from COMPILERS
gcc/jit/ChangeLog:
	PR jit/64708
	* config-lang.in (compilers): Drop "libgccjit.so".

From-SVN: r220133
2015-01-26 20:30:12 +00:00
H.J. Lu
0b54aad284 Revert the last P_POPCNT order change
PR target/64806
	* config/i386/i386 (feature_priority): Revert the last P_POPCNT
	order change.

From-SVN: r220131
2015-01-26 11:31:55 -08:00
Uros Bizjak
c8d7835b22 re PR target/64795 (too many memory references for `lea')
PR target/64795
	* config/i386/i386.md (*movdi_internal): Also check operand 0
	to determine TYPE_LEA operand.
	(*movsi_internal): Ditto.

From-SVN: r220128
2015-01-26 19:49:21 +01:00
Christophe Lyon
11135080fc Fix incorrect ChangeLog formatting.
From-SVN: r220126
2015-01-26 17:00:53 +01:00
Janus Weil
807b50a72b re PR fortran/64230 (Invalid memory reference in a compiler-generated finalizer for allocatable component)
2015-01-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64230
	* class.c (finalize_component): New argument 'sub_ns'. Insert code to
	check if 'expr' is associated.
	(generate_finalization_wrapper): Rename 'ptr' symbols to 'ptr1' and
	'ptr2'. Pass 'sub_ns' to finalize_component.

2015-01-26  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64230
	* gfortran.dg/class_allocate_18.f90: New.

From-SVN: r220125
2015-01-26 16:56:03 +01:00
Christophe Lyon
2748ffd373 [ARM/AArch64][testsuite] Add vpaddl tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vpaddl.c: New file.

From-SVN: r220124
2015-01-26 16:54:22 +01:00
Christophe Lyon
4ef07c7620 [ARM/AArch64][testsuite] Add vpadal tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vpadal.c: New file.

From-SVN: r220123
2015-01-26 16:52:32 +01:00
Christophe Lyon
316cbf7910 [ARM/AArch64][testsuite] Add vmnv tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmvn.c: New file.

From-SVN: r220122
2015-01-26 16:51:06 +01:00
Christophe Lyon
0e6057c691 [ARM/AArch64][testsuite] Add vmovl tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	    * gcc.target/aarch64/advsimd-intrinsics/vmovl.c: New file.

From-SVN: r220121
2015-01-26 16:48:57 +01:00
Jakub Jelinek
cbe6988630 rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_QUAD_MEMORY_ATOMIC.
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
	OPTION_MASK_QUAD_MEMORY_ATOMIC.

From-SVN: r220120
2015-01-26 16:47:12 +01:00
Christophe Lyon
0dd498e417 [ARM/AArch64][testsuite] Add vpadd, vpmax and vpmin tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vpadd.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vpmax.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vpmin.c: New file.

From-SVN: r220119
2015-01-26 16:47:05 +01:00
Christophe Lyon
a9f53b60f1 [ARM/AArch64][testsuite] Add vmla_n and vmls_n tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vmlX_n.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmla_n.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vmls_n.c: New file.

From-SVN: r220118
2015-01-26 16:45:00 +01:00
Christophe Lyon
f4d988f497 [ARM/AArch64][testsuite] Add vsubhn, vraddhn and vrsubhn tests. Split vaddhn.c into vXXXhn.inc and vaddhn.c to share code with other new tests.
2015-01-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vXXXhn.inc: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vraddhn.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vrsubhn.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vsubhn.c: New file.
	* gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Use code from
	vXXXhn.inc.

From-SVN: r220117
2015-01-26 16:42:50 +01:00
Renlin Li
0699caae0f [AARCH64]Fix TLS local exec model addressing code generation inconsistency.
gcc/

	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
	the comment.
	* config/aarch64/aarch64.md * (tlsle_small_<mode>): Add left shift
	12-bit for higher part.

From-SVN: r220116
2015-01-26 15:42:15 +00:00
Matthias Klose
ee5f05239f configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
2015-01-24  Matthias Klose  <doko@ubuntu.com>

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

From-SVN: r220113
2015-01-26 14:57:41 +00:00
Matthias Klose
2b8fa469eb Move wrong ChangeLog entry from the toplevel ChangeLog to
libbacktrace.

From-SVN: r220112
2015-01-26 14:51:12 +00:00
Richard Biener
3cd58c0fae re PR middle-end/64764 (internal compiler error: in is_value_included_in, at tree-ssa-uninit.c:942)
2015-01-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/64764
	* tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
	combining two BIT_AND_EXPR predicates.

	* gcc.dg/uninit-19.c: New testcase.

From-SVN: r220111
2015-01-26 14:50:03 +00:00
Rainer Orth
96af01aea5 Make SPARC a vect64 target
* lib/target-supports.exp (check_effective_target_vect64): Add
	sparc*-*-*.

From-SVN: r220109
2015-01-26 13:17:23 +00:00
H.J. Lu
b1512ea053 Initialize ruid in new_var_info
PR bootstrap/64754
	* tree-ssa-structalias.c (new_var_info): Initialize ruid.

From-SVN: r220108
2015-01-26 04:47:20 -08:00