Commit Graph

112809 Commits

Author SHA1 Message Date
John David Anglin
ae9d61aba6 re PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected rtx code 'simplify_immed_subreg' in output_bb, at config/pa/pa.c:6631)
PR target/50617
	* config/pa/protos.h (attr_length_save_restore_dltp): Delete.
	(cmpib_comparison_operator): Likewise.
	(following_cal, output_and, output_ior, output_move_double,
	output_fp_move_double, output_block_move, output_block_clear,
	output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
	output_movb, output_parallel_movb, output_parallel_addb, output_call,
	output_indirect_call, output_millicode_call, output_mul_insn,
	output_div_insn, output_mod_insn, singlemove_string,
	output_arg_descriptor, output_global_address, print_operand,
	legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
	fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
	emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
	hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
	attr_length_indirect_call, return_addr_rtx, function_arg_padding,
	insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
	output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
	hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
	compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
	reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
	exported functions and variables with "pa_".
	* config/pa/predicates.md: Likewise.
	* config/pa/pa64-hpux.h: likewise.
	* config/pa/som.h: Likewise.
	* config/pa/elf.h: Likewise.
	* config/pa/pa64-linux.h: Likewise.
	* config/pa/pa.md: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pa/pa-linux.h: Likewise.
	* config/pa/pa.h: Likewise.
	* config/pa/constraints.md: Likewise.

From-SVN: r180660
2011-10-29 18:58:48 +00:00
Uros Bizjak
b99f906a4e i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
* config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
	Update all uses.
	(xop_shl<mode>3): Rename from xop_lshl<mode>3.  Update all uses.
	* config/i386/i386.c: Update all uses.

From-SVN: r180659
2011-10-29 20:38:27 +02:00
Uros Bizjak
f327a48e6e i386.md (lshlv16qi3): Remove expander.
* config/i386/i386.md (lshlv16qi3): Remove expander.
	(lshrv16qi3): New expander.
	(<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
	using any_shiftrt code iterator. Cleanup.
	(ashlv16qi3): Cleanup.
	(ashrv2di3): Ditto.

From-SVN: r180657
2011-10-29 19:51:24 +02:00
Uros Bizjak
d1fecc879e fma-check.h (main): Use return 0 instead of exit (0).
* gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
	* gcc.target/i386/fma4-check.h (main): Ditto.
	* gcc.target/i386/xop-check.h (main): Ditto.

From-SVN: r180656
2011-10-29 19:26:48 +02:00
John David Anglin
9a20164505 re PR target/50691 (Incorrect argument evaluation in call with __thread argument)
PR target/50691
	config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
	(pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
	and TLS_MODEL_LOCAL_DYNAMIC symbol references.

From-SVN: r180655
2011-10-29 15:57:00 +00:00
Georg-Johann Lay
d702f362b5 re PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS)
PR target/50887
	* config/avr/avr.opt (-maccumulate-args): New option.
	* config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
	avr_starting_frame_offset.
	(ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
	* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
	(UNSPECV_WRITE_SP_IRQ_OFF): Remove.
	(UNSPECV_WRITE_SP): New constant.
	(*addhi3_sp_R): Rewrite to...
	(*addhi3_sp): ...this new insn.
	(movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
	(movhi_sp_r): ...this new insn.
	* config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
	(avr_starting_frame_offset): New.
	* config/avr/avr.c (avr_accumulate_outgoing_args): New function.
	(avr_starting_frame_offset): New function.
	(avr_outgoing_args_size): New static function.
	(avr_initial_elimination_offset): Use it.
	(avr_simple_epilogue): Use it.
	(avr_asm_function_end_prologue): Use it.
	(expand_epilogue): Use it.
	(expand_prologue): Use it.  Break out code to...
	(avr_prologue_setup_frame): ...this new static function.
	(avr_can_eliminate): Allow eliminating to frame pointer if there
	is one.
	(avr_frame_pointer_required_p): Use frame pointer if target has a
	nonlocal label.
	* config/avr/constraints.md (R): Remove.
	(Csp): New constraint.
	* config/avr/predicates.md (avr_sp_immediate_operand): Use it.

From-SVN: r180654
2011-10-29 14:35:59 +00:00
Iain Sandoe
f439d6bad9 re PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not compatible with literal CF/NSString")
gcc/objc:

	PR target/47997
	* objc-act.c (objc_build_string_object): Remove redundant second
	call to fix_string_type ().  Add a checking assert that we are,
	indeed, passed a STRING_CST.

From-SVN: r180653
2011-10-29 12:59:30 +00:00
Andi Kleen
7a59e22a63 Fix cross compilation build in gcc-ar
gcc/:
2011-10-29  Andi Kleen  <ak@linux.intel.com>

	* gcc-ar.c (target_machine): Add.

From-SVN: r180652
2011-10-29 09:23:23 +00:00
Anatoly Sokolov
a08160c31c cris.c (reg_ok_for_base_p, [...]): New functions.
* config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
	cris_constant_index_p, cris_base_p, cris_index_p,
	cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
	cris_legitimate_address_p): New functions.
	(TARGET_LEGITIMATE_ADDRESS_P): Define.
	(cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
	from rtx to const_rtx.
	(cris_print_operand_address, cris_address_cost,
	cris_side_effect_mode_ok):  Use
	cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
	cris_biap_index_p and cris_bdap_index_p.
	* config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
	BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
	REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
	(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
	cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
	cris_biap_index_p and cris_bdap_index_p.
	* config/cris/cris.md (moversideqi movemsideqi peephole2): Use
	cris_base_p.
	* config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
	cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
	prototype.
	(cris_pic_symbol_type, cris_valid_pic_const): Update prototype.

From-SVN: r180651
2011-10-29 13:08:13 +04:00
Andi Kleen
3bc5016331 Use more efficient alignment in ggc
Jakub had some concerns about the performance of page alignments in
ggc-page, which use a hardware division instructions currently.
This patch changes them all to use a new PAGE_ALIGN macro, which
exploits that pages are a power of two.

gcc/:
2011-10-21  Andi Kleen  <ak@linux.intel.com>

	* ggc-page (PAGE_ALIGN): Add.
	(alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
	Replace ROUND_UP with PAGE_ALIGN.

From-SVN: r180650
2011-10-29 01:02:35 +00:00
Andi Kleen
25f0ea8135 Add a fragmentation fallback in ggc-page v2
There were some concerns that the earlier munmap patch could lead
to address space being freed that cannot be allocated again
by ggc due to fragmentation. This patch adds a fragmentation
fallback to solve this: when a GGC_QUIRE_SIZE sized allocation fails,
try again with a page sized allocation.

Passes bootstrap and testing on x86_64-linux with the fallback
forced artificially.

v2: fix missed initialization bug added in last minute edit.

gcc/:
2011-10-20  Andi Kleen  <ak@linux.intel.com>

	* ggc-page (alloc_anon): Add check argument.
	(alloc_page): Add fallback to 1 page allocation.
	Adjust alloc_anon calls to new argument.

From-SVN: r180649
2011-10-29 01:02:14 +00:00
Andi Kleen
d33ef9a52b Free large chunks in ggc v2
This implements the freeing back of large chunks in the ggc madvise path
Richard Guenther asked for.  This way on systems with limited
address space malloc() and other allocators still have
a chance to get back at some of the memory ggc freed. The
fragmented pages are still just given back, but the address space
stays allocated.

I tried freeing only aligned 2MB areas to optimize for 2MB huge
pages, but the hit rate was quite low, so I switched to 1MB+
unaligned areas.

v2: Hardcode free unit size instead of param

gcc/:
2011-10-18  Andi Kleen  <ak@linux.intel.com>

	* ggc-page (release_pages): First free large continuous
	chunks in the madvise path.

From-SVN: r180648
2011-10-29 01:01:54 +00:00
Andi Kleen
bf72b0094a Add missing page rounding of a page_entry
This one place in ggc forgot to round page_entry->bytes to the
next page boundary, which lead to all the heuristics in freeing to
check for continuous memory failing. Round here too, like all other
allocators already do. The memory consumed should be the same
for MMAP because the kernel would round anyways. It may slightly
increase memory usage when malloc groups are used.

This will also increase the hitrate on the free page list
slightly.

gcc/:

2011-10-18  Andi Kleen  <ak@linux.intel.com>

	* ggc-page.c (alloc_pages): Always round up to entry_size.

From-SVN: r180647
2011-10-29 01:01:34 +00:00
GCC Administrator
3b6a5655d7 Daily bump.
From-SVN: r180646
2011-10-29 00:18:56 +00:00
Andi Kleen
b6b8921515 Add gcc-ar/nm/ranlib wrappers for slim LTO v2
gcc/:
2011-10-19  Andi Kleen  <ak@linux.intel.com>

	* Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib.
	(native): Add gcc-ar, gcc-nm, gcc-ranlib.
	(AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o,
         gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add.
	(install): Depend on install-gcc-ar.
	(install-gcc-ar): Add.
	(uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib.
	* gcc-ar.c: Add new file.

From-SVN: r180642
2011-10-29 00:10:36 +00:00
Ian Lance Taylor
d6b0f0f14f * setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
From-SVN: r180641
2011-10-29 00:09:39 +00:00
Paolo Carlini
dec3d2a0af 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.

From-SVN: r180640
2011-10-29 00:06:34 +00:00
Paolo Carlini
f6d3d0fd4f 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert Fix for c++/50864.

From-SVN: r180639
2011-10-29 00:04:55 +00:00
Ian Lance Taylor
b8d84495f8 Add rune as an alias for int.
From-SVN: r180634
2011-10-28 22:06:24 +00:00
Ian Lance Taylor
18b4bd7b6c morestack.S: Correct CFI information to do proper returns throughout function.
* config/i386/morestack.S: Correct CFI information to do proper
	returns throughout function.  In 32-bit mode, save %ebx so that it
	is restored on unwind.

From-SVN: r180633
2011-10-28 22:03:56 +00:00
Pat Haugen
4356b75d98 rs6000.md (define_attr "type"): Add vecdouble.
* config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
        * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use
        * vecdouble
        type for V2DF.
        (VStype_div): Use vector types for V2DF/V4SF.
        (VStype_sqrt): Use *sqrt types.
        (VS_spdp_type): Change type to vecdouble.
        (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
        vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
        vsx_xvcvspuxds): Likewise.
        (*vsx_fms<mode>4): Set type via <VStype_mul>.
        (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type
via
        <VStype_simple>.
        * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
        (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
        power7-dsqrt): Correct insn latency.
        (power7-vecsimple): Add veccmp type and correct dispatch/VSU
values.
        (power7-veccmp): Delete.
        (power7-vecfloat): Correct latency/dispatch/VSU values.
        (define_bypass "power7-vecfloat"): Correct latency and types.
        (power7-veccomplex, power7-vecperm): Correct dispatch/VSU
values.
        (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.

From-SVN: r180632
2011-10-28 21:38:56 +00:00
Jason Merrill
9be087f649 * c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
From-SVN: r180627
2011-10-28 16:27:53 -04:00
Paolo Carlini
f4d559c0f3 pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.

From-SVN: r180626
2011-10-28 20:05:38 +00:00
Uros Bizjak
c550d7dda5 * config/i386/sse.md (<shift_insn><mode>3): Fix asm template.
From-SVN: r180625
2011-10-28 21:16:17 +02:00
Uros Bizjak
1162730f53 i386.md (shift_insn): Rename code attribute from shiftrt_insn.
* config/i386/i386.md (shift_insn): Rename code attribute from
	shiftrt_insn.  Also handle ashift RTX.
	(shift): Rename code attribute from shiftrt.  Also handle ashift RTX.
	(vshift): New code attribute.
	(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
	(any_lshift): Move and rename code iterator from ...
	* config/i386/sse.md (lshift): ... here.
	(lshift_insn): Remove code attribute.
	(lshift): Remove code attribute.
	(vlshr<mode>3): Use lshiftrt RTX.
	(vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
	(vashl<mode>3, ashlv16qi3): Use ashift RTX.
	(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>.  Use
	any_lshift code iterator.  Update asm template.
	(<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
	usign any_lshift code iterator.
	* config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
	mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
	* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.

From-SVN: r180624
2011-10-28 21:05:32 +02:00
Paolo Carlini
18232de4db re PR c++/50864 (ICE with decltype and "declval" from another namespace)
/cp
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50864
	* pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
	call in case COMPONENT_REF.

/testsuite
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50864
	* g++.dg/template/crash109.C: New.

From-SVN: r180623
2011-10-28 18:40:22 +00:00
Uros Bizjak
c4ab64c640 i386.md (shift_insn): Rename code attribute from shiftrt_insn.
* config/i386/i386.md (shift_insn): Rename code attribute from
	shiftrt_insn.  Also handle ashift RTX.
	(shift): Rename code attribute from shiftrt.  Also handle ashift RTX.
	(<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
	* config/i386/sse.md (any_lshift): Rename code iterator from lshift.
	(lshift_insn): Remove code attribute.
	(lshift): Remove code attribute.
	(vlshr<mode>3): Use lshiftrt RTX.
	(vashr<mode>3): Use ashiftrt RTX.
	(vashl<mode>3): Use ashift RTX.
	(avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>.  Use
	any_lshift code iterator.  Update asm template.
	* config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.

From-SVN: r180622
2011-10-28 20:17:51 +02:00
Georg-Johann Lay
f89d6e77d7 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/avr.md (parityhi2): Expand allowing pseudos.
	(*parityhi2): New pre-reload insn-and-split to map 16-bit parity
	to the libgcc insn.
	(*parityqihi2): Same for 8-bit parity.

From-SVN: r180620
2011-10-28 17:47:56 +00:00
Steven G. Kargl
58a9e3c406 check.c (gfc_check_atan_2): Typo in comment.
2011-10-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	* check.c (gfc_check_atan_2): Typo in comment.
	(gfc_check_nearest): If 's' is constant, check that it is not 0.
	* simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
	gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
	gfc_simplify_nearest): Remove dead code.

2011-10-28  Steven G. Kargl  <kargl@gcc.gnu.org>

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

From-SVN: r180618
2011-10-28 15:15:25 +00:00
Paolo Carlini
e8a25ac83c 50862.cc: Trivial formatting fixes.
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/30_threads/condition_variable_any/50862.cc: Trivial
	formatting fixes.

From-SVN: r180617
2011-10-28 14:33:21 +00:00
Iain Sandoe
a53f352313 re PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
ada:

	PR target/50678
	* init.c (Darwin/__gnat_error_handler): Apply a work-around to the
	bug [filed as radar #10302855], which is inconsistent unwind data
	for sigtramp.


Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r180613
2011-10-28 11:59:07 +00:00
Paolo Carlini
4a6b297c98 count.cc: New.
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_map/operations/count.cc: New.
	* testsuite/23_containers/multimap/operations/count.cc: Likewise.
	* testsuite/23_containers/set/operations/count.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/operations/count.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
	* testsuite/23_containers/multiset/operations/count.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/operations/count.cc:
	Likewise.
	* testsuite/23_containers/map/operations/count.cc: Likewise.

From-SVN: r180612
2011-10-28 11:54:04 +00:00
Julian Brown
b27df4bbaf re PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and i386)
PR rtl-optimization/47918

	* reload1.c (set_initial_label_offsets): Use initial offsets
	for labels on the nonlocal_goto_handler_labels chain.

From-SVN: r180611
2011-10-28 10:48:32 +00:00
Iain Sandoe
e0f19b55ae Implement out-of-line FPR and GPR saves for PPC/Darwin
gcc:

	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): 
	Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
	(LIB2FUNCS_EXTRA):  Add darwin-gpsave.asm.
	(TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
	config/t-darwin.
	* config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
	(GP_SAVE_INLINE): Likewise.
	(SAVE_FP_PREFIX,  SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
	RESTORE_FP_SUFFIX): Set to empty strings.
	* config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
	(debug_stack_info): Print savres_strategy.
	(rs6000_savres_routine_name): Implement for Darwin.
	(rs6000_make_savres_rtx): Adjust used register for Darwin.
	(rs6000_emit_prologue): Implement out-of-line saves for Darwin.
	(rs6000_output_function_prologue): Don't emit .extern for Mach-O.
	(rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
	* config/rs6000/darwin-gpsave.asm: New file.

From-SVN: r180610
2011-10-28 10:33:55 +00:00
Jakub Jelinek
ee3b466d65 sse.md (VI4SD_AVX2): Removed.
* config/i386/sse.md (VI4SD_AVX2): Removed.
	(VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
	(vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
	Add another expander using VI48_128 iterator for
	TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
	for TARGET_AVX2.
	(vlshr<mode>3): Likewise.  Change register_operand predicate to
	nonimmediate_operand on last operand in the VI12_128 expander.
	(vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
	(vashrv4si3, vashrv8si3): New expanders.
	(avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
	avx2_<lshift>vv2di): Removed.
	(avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
	(avx2_<lshift>v<mode>): Macroize using VI48_AVX2
	iterator.  Simplify pattern.

	* gcc.dg/vshift-1.c: New test.
	* gcc.dg/vshift-2.c: New test.
	* gcc.target/i386/xop-vshift-1.c: New test.
	* gcc.target/i386/xop-vshift-2.c: New test.
	* gcc.target/i386/avx2-vshift-1.c: New test.

From-SVN: r180609
2011-10-28 12:28:40 +02:00
Richard Guenther
ef6f874e5c re PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress regressions for lto.exp on x86_64-apple-darwin11)
2010-10-28  Richard Guenther  <rguenther@suse.de>

	PR driver/50876
	* lto-wrapper.c (get_options_from_collect_gcc_options):
	Properly count arguments.
	(run_gcc): Use an obstack to collect argv, properly separate
	switches and their arguments.

From-SVN: r180608
2011-10-28 09:46:26 +00:00
Richard B. Kreckel
4c16fa7714 complex (__complex_acosh): Just use '< _Tp()'.
2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>

	* include/std/complex (__complex_acosh): Just use '< _Tp()'.
	* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180607
2011-10-28 09:34:52 +00:00
Jakub Jelinek
cede2577b9 tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode from vectype's mode.
* tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
	vector mode from vectype's mode.

From-SVN: r180606
2011-10-28 11:25:18 +02:00
Eric Botcazou
0de82be517 re PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)
PR ada/50842
	* gcc-interface/Makefile.in (SYMDEPS): Delete.
	(LIBICONV): New variable.
	(LIBICONV_DEP): Likewise.
	(LIBS): Add $(LIBICONV).
	(LIBDEPS): Add $(LIBICONV_DEP).
	(EXTRA_GNATTOOLS_OBJS): Merge into...
	(TOOLS_LIBS): ...this.  Add $(LIBICONV).

From-SVN: r180605
2011-10-28 07:13:44 +00:00
Chung-Lin Tang
d303c992f6 re PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)
2011-10-28  Chung-Lin Tang  <cltang@codesourcery.com>

	PR rtl-optimization/49720
	* simplify-rtx.c (simplify_relational_operation_1): Detect
	infinite recursion condition in "(eq/ne (plus x cst1) cst2)
	simplifies to (eq/ne x (cst2 - cst1))" case.

	testsuite/
	* g++.dg/torture/pr49720.C: New test.

From-SVN: r180604
2011-10-28 06:35:31 +00:00
David S. Miller
2df19a351f Missing testsuite file add in previous commit.
From-SVN: r180603
2011-10-27 22:55:10 -07:00
David S. Miller
1864ee35eb Add support for the VIS3 addxc instruction.
gcc/

	* config/sparc/sparc.md (snedi_special): Only match when not VIS3.
	(*snedi_zero): Likewise.
	(*snedi_zero_trunc): Likewise.
	(snedi_special_vis3): New expander.
	(*snedi_zero_vis3): New insn.
	(*snedi_zero_trunc_vis3): Likewise.
	(*sltu_insn_vis3): Likewise.
	(*sltu_insn_vis3_trunc): Likewise.
	(addxc): Likewise.
	(*addxc_trunc_sp64_vis3): Likewise.
	* config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
	gen_snedi_special_vis3 expander, and try GTU/LTU addx based
	sequences on DImode values.

gcc/testsuite/

	* gcc.target/sparc/setcc-3.c: New test.

From-SVN: r180602
2011-10-27 22:52:52 -07:00
David S. Miller
0a940828f6 Fix constraint on 64-bit VIS3 vector moves.
* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
	constraint.

From-SVN: r180601
2011-10-27 22:09:42 -07:00
David S. Miller
26689420af Fix illegal register substitutions on big-endian during cprop_reg.
* regcprop.c (copyprop_hardreg_forward_1): Reject the
	transformation when we narrow the mode on big endian.

From-SVN: r180600
2011-10-27 22:08:10 -07:00
Jason Merrill
53b5166689 semantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p.
* semantics.c (cxx_eval_outermost_constant_expr): Check
	cp_has_mutable_p.
	(cxx_eval_component_reference): Check DECL_MUTABLE_P.

From-SVN: r180590
2011-10-27 22:18:12 -04:00
Roberto Agostino Vitillo
fb9120e3b1 re PR c++/30066 (option to make inline functions hidden)
PR c++/30066
gcc/c-family:
	* c.opt (fvisibility-inlines-hidden): Description change.
gcc/cp:
	* decl2.c (determine_hidden_inline): New function.
	(determine_visibility): fvisibility-inlines-hidden affects inline
	functions.

From-SVN: r180589
2011-10-27 22:18:00 -04:00
GCC Administrator
2bea3d9195 Daily bump.
From-SVN: r180588
2011-10-28 00:18:37 +00:00
Jakub Jelinek
1ee488391c sse.md (avx_cvtpd2dq256_2, [...]): New expanders.
* config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
	vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
	(*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.

	* gcc.target/i386/sse2-cvt-1.c: New test.
	* gcc.target/i386/sse2-cvt-2.c: New test.
	* gcc.target/i386/avx-cvt-1.c: New test.
	* gcc.target/i386/avx-cvt-2.c: New test.
	* gcc.target/i386/avx2-cvt-1.c: New test.
	* gcc.target/i386/avx2-cvt-2.c: New test.

From-SVN: r180580
2011-10-27 21:53:28 +02:00
Jakub Jelinek
32cac6f1ae i386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory.
* config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
	overrides for -masm=intel memory.
	* config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
	sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
	sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
	sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
	(sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
	sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
	(sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.

From-SVN: r180579
2011-10-27 21:52:06 +02:00
Martin Jambor
c419671cf3 ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo.
2011-10-27  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
	to parm_ainfo.
	(ipa_compute_jump_functions_for_edge): Likewise.
	(ipa_compute_jump_functions): Likewise.
	(ipa_analyze_indirect_call_uses): Likewise.
	(ipa_analyze_call_uses): Likewise.
	(ipa_analyze_params_uses): Likewise.
	(ipa_analyze_node): Likewise.

From-SVN: r180578
2011-10-27 21:37:07 +02:00