Commit Graph

120079 Commits

Author SHA1 Message Date
Jan Hubicka
e3c7b49cd8 ipa-inline.c (ipa_inline): Avoid infinite loop on inlining empty virtual functions calling themselves.
* ipa-inline.c (ipa_inline): Avoid infinite loop on inlining
	empty virtual functions calling themselves.

From-SVN: r193038
2012-10-31 16:15:21 +00:00
Tobias Burnus
737df6e617 complex.c (csqrtq): NaN and INF fixes.
2012-10-31  Tobias Burnus  <burnus@net-b.de>
            Joseph Myers <joseph@codesourcery.com>
            David S. Miller <davem@davemloft.net>
            Ulrich Drepper <drepper@redhat.com>
            Marek Polacek <polacek@redhat.com>:
            Petr Baudis <pasky@suse.cz>

        * math/complex.c (csqrtq): NaN and INF fixes.
        * math/sqrtq.c (sqrt): NaN, INF and < 0 fixes.
        * math/expm1q.c (expm1q): Changes from GLIBC. Use expq for
        large parameters. Fix errno for boundary conditions.
        * math/finiteq.c (finiteq): Add comment.
        * math/fmaq.c (fmaq): Changes from GLIBC. Fix missing underflows
        and bad results for some subnormal results. Fix sign of inexact
        zero return. Fix sign of exact zero return.
        Ensure additions are not scheduled after fetestexcept.
        * math/jnq.c (jnq): Changes from GLIBC. Set up errno properly
        for ynq. Fix jnq precision.
        * math/nearbyintq.c (nearbyintq): Changes from GLIBC. Do not
        manipulate bits before adding and subtracting TWO112[sx].
        * math/rintq.c (rintq): Ditto.
        * math/scalbnq.c (scalbnq): Changes from GLIBC. Fix integer
        overflow.


Co-Authored-By: David S. Miller <davem@davemloft.net>
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>

From-SVN: r193037
2012-10-31 16:46:59 +01:00
Tom Tromey
be028f913f re PR other/50899 (need @direntry for gcov)
PR other/50899
	* doc/gcc.texi: Add @direntry for gcov.

From-SVN: r193036
2012-10-31 14:55:20 +00:00
Joern Rennecke
1b9a8025fc * expr.c (can_move_by_pieces): Apply ATTRIBUTE_UNUSED to len.
From-SVN: r193035
2012-10-31 14:23:00 +00:00
Marc Glisse
c89e29b4e0 Uppercase in ChangeLog.
From-SVN: r193034
2012-10-31 13:01:30 +00:00
Jonathan Yong
261f93e075 os_defines.h: Do not define anymore _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
2012-10-31  Jonathan Yong  <jon_y@users.sourceforge.net>

	* config/os/mingw32-w64/os_defines.h: Do not define anymore
	_GLIBCXX_HAVE_BROKEN_VSWPRINTF.

From-SVN: r193033
2012-10-31 11:36:45 +00:00
Jonathan Yong
e3b744420b os_defines.h: Do not define anymore _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
2012-10-31  Jonathan Yong  <jon_y@users.sourceforge.net>

	* config/os/mingw32-w64/os_defines.h: Do not define anymore
	_GLIBCXX_HAVE_BROKEN_VSWPRINTF.

From-SVN: r193032
2012-10-31 11:34:27 +00:00
Dodji Seketeli
e82b2e880c PR c++/54955 - Fail to parse alignas expr at the beginning of a declaration
In this PR, g++ embarrassingly fails to parse the simple alignas
expression below:

    alignas(double) int f;

even though the simple-declaration production in Clause 7 suggests
otherwise.

Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp

	PR c++/54955
	* parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the
	'Alignas' keyword as the beginning of a c++11 attribute specifier.
	Update the comment of the function.
	(cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the
	function.

gcc/testsuite/

	PR c++/54955
	* g++.dg/cpp0x/gen-attrs-48-2.C: New test.

From-SVN: r193029
2012-10-31 09:55:43 +01:00
Jakub Jelinek
d578e863b0 re PR tree-optimization/19105 (fold does not spot anti-range test)
PR tree-optimization/19105
	PR tree-optimization/21643
	PR tree-optimization/46309
	* tree-ssa-reassoc.c (init_range_entry): Add STMT argument
	and use it if EXP is NULL.
	(update_range_test): Handle OPCODE equal to ERROR_MARK
	and oe->op NULL.
	(optimize_range_tests): Likewise.
	(final_range_test_p, suitable_cond_bb, no_side_effect_bb, get_ops,
	maybe_optimize_range_tests): New functions.
	(reassociate_bb): Call maybe_optimize_range_tests if last
	stmt of bb is GIMPLE_COND that hasn't been visited yet.

	* gcc.dg/pr19105.c: New test.
	* gcc.dg/pr21643.c: New test.
	* gcc.dg/pr46309-2.c: New test.
	* gcc.c-torture/execute/pr46309.c: New test.

From-SVN: r193028
2012-10-31 09:45:27 +01:00
Richard Sandiford
c727fb67fb rs6000.md (insvsi, [...]): Rename to...
gcc/
	* config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename to...
	(insvsi_internal, insvdi_internal, extvsi_internal)
	(extvdi_internal): ...this.
	(insv, extv): Update accordingly.

From-SVN: r193027
2012-10-31 08:01:36 +00:00
Richard Sandiford
7ae6664baa combine.c (simplify_comparison): If BITS_BIG_ENDIAN...
gcc/
	* combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
	that zero_extracts of const_ints are doing word-sized extractions.

From-SVN: r193026
2012-10-31 08:01:23 +00:00
Richard Sandiford
8e2326a23b combine.c (make_extraction): Remove dead wanted_inner_mode- and pos_rtx-related code.
gcc/
	* combine.c (make_extraction): Remove dead wanted_inner_mode-
	and pos_rtx-related code.

From-SVN: r193025
2012-10-31 08:01:14 +00:00
Richard Sandiford
17a73ba049 expmed.c (store_bit_field_1): Move generation of MEM insvs to the MEM_P block.
gcc/
	* expmed.c (store_bit_field_1): Move generation of MEM insvs
	to the MEM_P block.
	(extract_bit_field_1): Likewise extvs and extzvs.

From-SVN: r193024
2012-10-31 08:00:51 +00:00
Richard Sandiford
a20556e46c expmed.c (store_bit_field_using_insv): New function, split out from...
gcc/
	* expmed.c (store_bit_field_using_insv): New function,
	split out from...
	(store_bit_field_1): ...here.
	(extract_bit_field_using_extv): New function, split out from...
	(extract_bit_field_1): ...here.

From-SVN: r193023
2012-10-31 08:00:39 +00:00
Richard Sandiford
94eba7a819 expmed.c (store_bit_field_1): Use OP_MODE to check whether an insv pattern is available.
gcc/
	* expmed.c (store_bit_field_1): Use OP_MODE to check whether an
	insv pattern is available.  Remove redundant checks for OP_MODE
	being MAX_MACHINE_MODE.
	(extract_bit_field_1): Remove redundant checks for EXT_MODE being
	MAX_MACHINE_MODE.

From-SVN: r193022
2012-10-31 08:00:24 +00:00
Richard Sandiford
7682c22c3a expmed.c (store_bit_field_1): Remove test for BLKmode values.
gcc/
	* expmed.c (store_bit_field_1): Remove test for BLKmode values.

From-SVN: r193021
2012-10-31 08:00:12 +00:00
Ralf Corsepius
f5bb22c8f2 t-rtems: New (Custom multilibs).
2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
	    Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config/sparc/t-rtems: New (Custom multilibs).
	* config/sparc/t-rtems-64: New (Custom multilibs).
	* config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
	(sparc-*-rtems*): Add sparc/t-rtems.


Co-Authored-By: Joel Sherrill <joel.sherrill@oarcorp.com>

From-SVN: r193018
2012-10-31 06:03:28 +01:00
Richard Henderson
07d3b5c8c0 Detect assembler support for RTM
* acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
	* configure.ac: Use it.
	* config.h.in, configure: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r193017
2012-10-30 21:46:20 -07:00
Alan Modra
d0a54439c1 rs6000.c (legitimize_reload_address): Remove code handling non-aligned ld/std.
gcc/
	* config/rs6000/rs6000.c (legitimize_reload_address): Remove code
	handling non-aligned ld/std.
	* config/rs6000/paired.md (movv2sf_paired): Use 'Y' instead of 'o'.
	* config/rs6000/vsx.md (vsx_mov, vsx_movti): Likewise.
	* config/rs6000/altivec.md (altivec_mov, altivec_movti): Likewise.
	* config/rs6000/dfp.md (movtd_internal): Use 'm' instead of 'o'.
gcc/testsuite/
	* gcc.target/powerpc/dimode_off.c: New.
	* gcc.target/powerpc/timode_off.c: New.
	* gcc.target/powerpc/dfmode_off.c: New.
	* gcc.target/powerpc/tfmode_off.c: New.

From-SVN: r193016
2012-10-31 14:52:48 +10:30
Alan Modra
7054d980c1 linux64_closure.S: Add new ABI support.
* src/powerpc/linux64_closure.S: Add new ABI support.
	* src/powerpc/linux64.S: Likewise.

From-SVN: r193015
2012-10-31 14:15:34 +10:30
Alan Modra
6c10ab6513 linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
* config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.

From-SVN: r193014
2012-10-31 14:13:22 +10:30
Joern Rennecke
2515a1e6e0 re PR target/52498 (vmsdbgout.c fails to build with --enable-werror-always)
PR target/52498
        * vmsdbgout.c (vmsdbgout_write_source_line): Comment out names of
        last two parameters.

From-SVN: r193013
2012-10-31 03:21:03 +00:00
Joern Rennecke
ef4dbe49f4 lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to hard_reg_class.
* lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to
        hard_reg_class.

From-SVN: r193012
2012-10-31 02:51:26 +00:00
Joel Sherrill
c1d4fa04ce config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o as extra_parts.
2012-10-31  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
	as extra_parts.

From-SVN: r193010
2012-10-31 03:17:37 +01:00
Jonathan Wakely
b0b4a25308 forward_list.h (forward_list): Adjust comments.
* include/bits/forward_list.h (forward_list): Adjust comments.
	(forward_list(const forward_list&, const _Alloc&)): Use
	_M_range_initialize to copy elements.
	(forward_list(forward_list&&, const _Alloc&)): Add exception
	specification.
	(_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
	Remove.
	* include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
	const _Node_alloc_type&)): Remove.
	(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
	memory leak when allocators are not equal.

From-SVN: r193009
2012-10-31 01:09:59 +00:00
Ian Lance Taylor
4e1866fe6f compiler: Add -fgo-relative-import-path.
* lang.opt (-fgo-relative-import-path): New option.
	* go-lang.c (go_relative_import_path): New static variable.
	(go_langhook_init): Pass go_relative_import_path to
	go_create_gogo.
	(go_langhook_handle_option): Handle -fgo-relative-import-path.
	* go-c.h (go_create_gogo): Update declaration.
	* gccgo.texi (Invoking gccgo): Document
	-fgo-relative-import-path.

From-SVN: r193008
2012-10-31 00:38:49 +00:00
GCC Administrator
a46837fe1c Daily bump.
From-SVN: r193006
2012-10-31 00:18:51 +00:00
Alexandre Oliva
f39b1a1aeb re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
PR debug/54551
PR debug/54693
* valtrack.c (dead_debug_promote_uses): Assert-check that
global used bit was clear and initialize entry
unconditionally.

From-SVN: r193003
2012-10-30 23:47:35 +00:00
Eric Botcazou
3e55d79be9 cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in head comment.
* cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
	head comment.
	(hash_rtx): Likewise.

From-SVN: r193001
2012-10-30 23:08:14 +00:00
H.J. Lu
98072ee5bd Remove lra_in_progress check for ARG_POINTER_REGNUM
gcc/

	PR rtl-optimization/55093
	* rtlanal.c (simplify_subreg_regno): Remove lra_in_progress
	check for ARG_POINTER_REGNUM.

gcc/testsuite/

	PR rtl-optimization/55093
	* gcc.target/i386/pr55093.c: New file.

From-SVN: r193000
2012-10-30 15:56:52 -07:00
Eric Botcazou
df988ea3c1 * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
From-SVN: r192998
2012-10-30 22:54:04 +00:00
H.J. Lu
478b77b9fa Rename pr55116.c to pr55116-1.c
* gcc.target/i386/pr55116.c: Renamed to ...
	* gcc.target/i386/pr55116-1.c: This.

From-SVN: r192997
2012-10-30 14:39:05 -07:00
H.J. Lu
75c3d92ff3 Add another testcase for PR middle-end/55116
* gcc.target/i386/pr55116-2.c: New file.

From-SVN: r192996
2012-10-30 14:35:35 -07:00
Steve Ellcey
e64d0f556d mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order and add mabi=64.
2012-10-30  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
	and add mabi=64.
	(DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs.
	* config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
	(MULTILIB_DIRNAMES): Ditto.
	(MULTILIB_EXCEPTIONS): New.

From-SVN: r192995
2012-10-30 21:21:41 +00:00
Joern Rennecke
606e7d3a08 Fix ChangeLog typo.
From-SVN: r192994
2012-10-30 21:06:12 +00:00
Joern Rennecke
fbebbadd9b lra-constrraints.c (check_secondary_memory_needed_p): Add ATTRIBUTE_UNUSED to parameters.
* lra-constrraints.c (check_secondary_memory_needed_p):
	Add ATTRIBUTE_UNUSED to parameters.

From-SVN: r192993
2012-10-30 21:03:03 +00:00
Richard Sandiford
08e931f3b7 defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
gcc/
	* defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
	* expmed.c (SLOW_UNALIGNED_ACCESS): Remove default definition.
	* expr.c (SLOW_UNALIGNED_ACCESS): Likewise.
	* lra-constraints.c (SLOW_UNALIGNED_ACCESS): Likewise.
	(simplify_operand_subreg): Don't check STRICT_ALIGNMENT here.

From-SVN: r192992
2012-10-30 19:07:28 +00:00
Jan Hubicka
63cf72605a * ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
From-SVN: r192991
2012-10-30 16:51:12 +00:00
Jan Hubicka
e152d14c2f tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter EVERY_ITERATION with implicit value of true.
* tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
	EVERY_ITERATION with implicit value of true.
	(record_estimate): Check dominance relationship of the basic block
	we are estimating on instead of relying on UPPER to be false.
	(struct ilb_data): Drop RELIABLE.
	(idx_infer_loop_bounds): Update.
	(infer_loop_bounds_from_ref): Drop parameter RELIABLE.
	(infer_loop_bounds_from_array): Drop parameter RELIABLE.
	(infer_loop_bounds_from_undefined): Update comments and handling
	of RELIABLE.
	(estimate_numbers_of_iterations_loop): Record all bounds.

From-SVN: r192990
2012-10-30 16:50:05 +00:00
Jan Hubicka
cd0f62787d tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter EVERY_ITERATION with implicit value of true.
* tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
	EVERY_ITERATION with implicit value of true.
	(record_estimate): Check dominance relationship of the basic block
	we are estimating on instead of relying on UPPER to be false.
	(struct ilb_data): Drop RELIABLE.
	(idx_infer_loop_bounds): Update.
	(infer_loop_bounds_from_ref): Drop parameter RELIABLE.
	(infer_loop_bounds_from_array): Drop parameter RELIABLE.
	(infer_loop_bounds_from_undefined): Update comments and handling
	of RELIABLE.
	(estimate_numbers_of_iterations_loop): Record all bounds.

From-SVN: r192989
2012-10-30 16:12:16 +00:00
Richard Sandiford
baa061be44 lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg rather than gen_rtx_SUBREG.
gcc/
	* lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg
	rather than gen_rtx_SUBREG.

From-SVN: r192988
2012-10-30 14:33:48 +00:00
Richard Biener
c12d924229 gimple.h (gimple_store_p): New predicate.
2012-10-30  Richard Biener  <rguenther@suse.de>

	* gimple.h (gimple_store_p): New predicate.
	(gimple_assign_load_p): Likewise.
	* tree-inline.c (estimate_num_insns): Use it.

	* gcc.dg/vect/slp-perm-2.c: Adjust.

From-SVN: r192987
2012-10-30 14:14:04 +00:00
Marc Glisse
2e2e628b24 fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
2012-10-30  Marc Glisse  <marc.glisse@inria.fr>

	* fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
	(fold_binary_loc): call it for VEC_COND_EXPR.

From-SVN: r192986
2012-10-30 12:56:47 +00:00
James Greenhalgh
4fda1ad1dc 2012-10-30 James Greenhalgh <james.greenhalgh@arm.com>
Tejas Belagod  <tejas.belagod@arm.com>

	* config/aarch64/aarch64-simd.md
	(aarch64_simd_bsl<mode>_internal): New pattern.
	(aarch64_simd_bsl<mode>): Likewise.
	(aarch64_vcond_internal<mode>): Likewise.
	(vcondu<mode><mode>): Likewise.
	(vcond<mode><mode>): Likewise.
	* config/aarch64/iterators.md (UNSPEC_BSL): Add to define_constants.


Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>

From-SVN: r192985
2012-10-30 12:31:49 +00:00
Richard Biener
c96cab6e77 re PR tree-optimization/55111 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89)
2012-10-30  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/55111
	* tree-ssa-pre.c (eliminate_insert): Properly fold the built
	stmt.

	* gcc.dg/torture/pr55111.c: New testcase.

From-SVN: r192984
2012-10-30 12:02:39 +00:00
Oleg Endo
01850a764f re PR target/54963 (Wrong code generated for libgfortran/generated/eoshift3_8.c on SH)
PR target/54963
	* config/sh/iterators.md (SIDI): New mode iterator.
	* config/sh/sh.md (negdi2): Use parallel around operation and T_REG
	clobber in expander.
	(*negdi2): Mark output operand as early clobbered.  Add T_REG clobber.
	Split after reload.  Simplify split code.
	(abssi2, absdi2): Fold expanders into abs<mode>2.
	(*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split.  Split insns
	before reload.
	(*negabssi2, *negabsdi2): Fold into *negabs<mode>2.  Add T_REG clobber.
	Split insns before reload.
	(negsi_cond): Reformat.  Use emit_move_insn instead of
	gen_movesi.
	(negdi_cond): Reformat.  Use emit_move_insn instead of a pair
	of gen_movsi.  Split insn before reload.

From-SVN: r192983
2012-10-30 09:22:14 +00:00
Oleg Endo
197ddd06a0 re PR c++/54988 (fpmath=sse target pragma causes inlining failure because of target specific option mismatch)
PR target/54988
	* config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.
	(*tst<mode>_t_zero): New insns.
	* config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.

	PR target/54988
	* gcc.target/sh/pr53988.c: New.

From-SVN: r192982
2012-10-30 09:07:08 +00:00
H.J. Lu
3a8ebb9268 Remove alloca from dump_gimple_bb_header
* gimple-pretty-print.c (dump_gimple_bb_header): Avoid alloca.

From-SVN: r192981
2012-10-30 01:38:11 -07:00
Ganesh Gopalasubramanian
7e0575b082 Add myself to MAINTAINERS
From-SVN: r192980
2012-10-30 08:30:21 +00:00
Jakub Jelinek
85d874975a re PR debug/54953 (New sra-1.c FAILs on powerpc)
PR debug/54953
	* valtrack.h (DEBUG_TEMP_AFTER_WITH_REG_FORCE): New.
	* valtrack.c (dead_debug_insert_temp): Use emit_debug_insn_after
	even for where == DEBUG_TEMP_AFTER_WITH_REG_FORCE.
	* dce.c (word_dce_process_block, dce_process_block): Pass
	DEBUG_TEMP_AFTER_WITH_REG_FORCE if insn is needed and therefore
	not going to be eliminated.

From-SVN: r192978
2012-10-30 09:08:01 +01:00