platform/upstream/linaro-gcc.git
13 years agoFix marking of SMSed loops as BB_DISABLE_SCHEDULE
revitale [Sun, 30 Oct 2011 05:12:53 +0000 (05:12 +0000)]
Fix marking of SMSed loops as BB_DISABLE_SCHEDULE

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180673 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Sun, 30 Oct 2011 00:22:53 +0000 (00:22 +0000)]
/cp
2011-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50901
* call.c (build_new_op_1): Handle ABS_EXPR together with the
other unary EXPR.

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

PR c++/50901
* g++.dg/cpp0x/pr50901.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180670 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sun, 30 Oct 2011 00:17:43 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180669 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/50617
danglin [Sat, 29 Oct 2011 18:58:48 +0000 (18:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180660 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
uros [Sat, 29 Oct 2011 18:38:27 +0000 (18:38 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180659 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (lshlv16qi3): Remove expander.
uros [Sat, 29 Oct 2011 17:51:24 +0000 (17:51 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180657 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
uros [Sat, 29 Oct 2011 17:26:48 +0000 (17:26 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180656 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/50691
danglin [Sat, 29 Oct 2011 15:57:00 +0000 (15:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180655 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/50887
gjl [Sat, 29 Oct 2011 14:35:59 +0000 (14:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180654 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc/objc:
iains [Sat, 29 Oct 2011 12:59:30 +0000 (12:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180653 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix cross compilation build in gcc-ar
ak [Sat, 29 Oct 2011 09:23:23 +0000 (09:23 +0000)]
Fix cross compilation build in gcc-ar

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180652 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
aesok [Sat, 29 Oct 2011 09:08:13 +0000 (09:08 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180651 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUse more efficient alignment in ggc
ak [Sat, 29 Oct 2011 01:02:35 +0000 (01:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180650 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd a fragmentation fallback in ggc-page v2
ak [Sat, 29 Oct 2011 01:02:14 +0000 (01:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180649 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFree large chunks in ggc v2
ak [Sat, 29 Oct 2011 01:01:54 +0000 (01:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180648 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd missing page rounding of a page_entry
ak [Sat, 29 Oct 2011 01:01:34 +0000 (01:01 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180647 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Sat, 29 Oct 2011 00:18:56 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180646 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd gcc-ar/nm/ranlib wrappers for slim LTO v2
ak [Sat, 29 Oct 2011 00:10:36 +0000 (00:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180642 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * setproctitle.c (setproctitle): Use "GNU/Linux" in comment.
ian [Sat, 29 Oct 2011 00:09:39 +0000 (00:09 +0000)]
* setproctitle.c (setproctitle): Use "GNU/Linux" in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180641 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 29 Oct 2011 00:06:34 +0000 (00:06 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert Fix for c++/50864.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180640 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sat, 29 Oct 2011 00:04:55 +0000 (00:04 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert Fix for c++/50864.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180639 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd rune as an alias for int.
ian [Fri, 28 Oct 2011 22:06:24 +0000 (22:06 +0000)]
Add rune as an alias for int.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180634 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/morestack.S: Correct CFI information to do proper
ian [Fri, 28 Oct 2011 22:03:56 +0000 (22:03 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180633 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
pthaugen [Fri, 28 Oct 2011 21:38:56 +0000 (21:38 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180632 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
jason [Fri, 28 Oct 2011 20:27:53 +0000 (20:27 +0000)]
* c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180627 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 28 Oct 2011 20:05:38 +0000 (20:05 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180626 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/sse.md (<shift_insn><mode>3): Fix asm template.
uros [Fri, 28 Oct 2011 19:16:17 +0000 (19:16 +0000)]
* config/i386/sse.md (<shift_insn><mode>3): Fix asm template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180625 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (shift_insn): Rename code attribute from
uros [Fri, 28 Oct 2011 19:05:32 +0000 (19:05 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180624 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago/cp
paolo [Fri, 28 Oct 2011 18:40:22 +0000 (18:40 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180623 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (shift_insn): Rename code attribute from
uros [Fri, 28 Oct 2011 18:17:51 +0000 (18:17 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180622 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/49313
gjl [Fri, 28 Oct 2011 17:47:56 +0000 (17:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180620 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 28 Oct 2011 15:15:25 +0000 (15:15 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180618 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 28 Oct 2011 14:33:21 +0000 (14:33 +0000)]
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180617 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoada:
iains [Fri, 28 Oct 2011 11:59:07 +0000 (11:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180613 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 28 Oct 2011 11:54:04 +0000 (11:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180612 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/47918
jules [Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)]
PR rtl-optimization/47918

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180611 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoImplement out-of-line FPR and GPR saves for PPC/Darwin
iains [Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180610 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/sse.md (VI4SD_AVX2): Removed.
jakub [Fri, 28 Oct 2011 10:28:40 +0000 (10:28 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180609 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-28 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 28 Oct 2011 09:46:26 +0000 (09:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180608 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Richard B. Kreckel <kreckel@ginac.de>
paolo [Fri, 28 Oct 2011 09:34:52 +0000 (09:34 +0000)]
2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180607 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
jakub [Fri, 28 Oct 2011 09:25:18 +0000 (09:25 +0000)]
* tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
vector mode from vectype's mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180606 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR ada/50842
ebotcazou [Fri, 28 Oct 2011 07:13:44 +0000 (07:13 +0000)]
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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180605 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Fri, 28 Oct 2011 06:35:31 +0000 (06:35 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180604 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoMissing testsuite file add in previous commit.
davem [Fri, 28 Oct 2011 05:55:10 +0000 (05:55 +0000)]
Missing testsuite file add in previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180603 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd support for the VIS3 addxc instruction.
davem [Fri, 28 Oct 2011 05:52:52 +0000 (05:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180602 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix constraint on 64-bit VIS3 vector moves.
davem [Fri, 28 Oct 2011 05:09:42 +0000 (05:09 +0000)]
Fix constraint on 64-bit VIS3 vector moves.

* config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
constraint.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180601 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix illegal register substitutions on big-endian during cprop_reg.
davem [Fri, 28 Oct 2011 05:08:10 +0000 (05:08 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180600 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * semantics.c (cxx_eval_outermost_constant_expr): Check
jason [Fri, 28 Oct 2011 02:18:12 +0000 (02:18 +0000)]
* semantics.c (cxx_eval_outermost_constant_expr): Check
cp_has_mutable_p.
(cxx_eval_component_reference): Check DECL_MUTABLE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180590 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR c++/30066
jason [Fri, 28 Oct 2011 02:18:00 +0000 (02:18 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180589 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Fri, 28 Oct 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180588 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
jakub [Thu, 27 Oct 2011 19:53:28 +0000 (19:53 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180580 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
jakub [Thu, 27 Oct 2011 19:52:06 +0000 (19:52 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180579 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-27 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 27 Oct 2011 19:37:07 +0000 (19:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180578 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-27 Martin Jambor <mjambor@suse.cz>
jamborm [Thu, 27 Oct 2011 19:27:38 +0000 (19:27 +0000)]
2011-10-27  Martin Jambor  <mjambor@suse.cz>

* g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180577 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/50875
uros [Thu, 27 Oct 2011 19:07:27 +0000 (19:07 +0000)]
PR target/50875
* config/i386/sse.md (*avx2_unpcklpd256): Remove extra insn
constraints.  Change alternative 1 to "x,m,1".

testsuitee/ChangeLog:

PR target/50875
* gfortran.dg/pr50875.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180576 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * Makefile.in (build/gencheck.o): Depend on tree.def and
jakub [Thu, 27 Oct 2011 19:05:28 +0000 (19:05 +0000)]
* Makefile.in (build/gencheck.o): Depend on tree.def and
c-family/c-common.def.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180575 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * tree-ssa-strlen.c: Include expr.h.
jakub [Thu, 27 Oct 2011 19:04:43 +0000 (19:04 +0000)]
* tree-ssa-strlen.c: Include expr.h.
(get_stridx): Don't use c_strlen, instead use string_constant
and compute string length from it.
* Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180574 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR rtl-optimization/46603
ebotcazou [Thu, 27 Oct 2011 18:19:54 +0000 (18:19 +0000)]
PR rtl-optimization/46603
PR bootstrap/50879
* reload.c (push_reload): In the out case, restore previous behavior
for subregs that don't have word mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180572 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
ian [Thu, 27 Oct 2011 17:55:53 +0000 (17:55 +0000)]
* cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is
not.
(cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180569 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoSmall comment cleanup
dodji [Thu, 27 Oct 2011 17:44:39 +0000 (17:44 +0000)]
Small comment cleanup

gcc/cp/

* cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180568 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * optabs.c (expand_vec_perm): Use the correct mode for scaling the
rth [Thu, 27 Oct 2011 16:23:25 +0000 (16:23 +0000)]
    * optabs.c (expand_vec_perm): Use the correct mode for scaling the
        selector.  Save the qimode constant selector for later use by the
        qimode vec_perm pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180567 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
bernds [Thu, 27 Oct 2011 12:33:22 +0000 (12:33 +0000)]
* config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
to unit_req_factor to the right enum type.
(get_unit_operand_masks, reshuffle_units, try_rename_operands,
hwloop_optimize): Remove unused variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180565 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2010-10-27 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 27 Oct 2011 12:10:57 +0000 (12:10 +0000)]
2010-10-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/50731
* tree-vect-generic.c (do_binop): Handle scalar operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180564 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-27 Richard B. Kreckel <kreckel@ginac.de>
paolo [Thu, 27 Oct 2011 11:00:25 +0000 (11:00 +0000)]
2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50880
* include/std/complex (__complex_acosh): Fix for __z.real() < 0.
* include/tr1/complex (__complex_acosh): Likewise.
* testsuite/26_numerics/complex/50880.cc: New.
* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180563 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config.sub: Import these changes from the config project:
nickc [Thu, 27 Oct 2011 09:45:55 +0000 (09:45 +0000)]
* config.sub: Import these changes from the config project:

2011-10-08  Joern Rennecke <joern.rennecke@embecosm.com>
    Ben Elliston  <bje@gnu.org>

* config.sub (epiphany): New.

2011-09-09  Linas Vepstas  <linasvepstas@gmail.com>
    Ben Elliston  <bje@gnu.org>

        * config.sub (hexagon, hexagon-*): New.

2011-08-23  Roland McGrath  <mcgrathr@google.com>

* config.sub: Rename 32eb to be32, 32el to le32, 64el to le64, and
64eb to be64.

2011-08-16  Roland McGrath  <mcgrathr@google.com>

* config.sub (32eb, 32el, 64eb, 64el): New (pseudo-)CPUs.
(nacl): Grok as alias for 32el-unknown-nacl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180562 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR target/37191
uros [Thu, 27 Oct 2011 06:17:00 +0000 (06:17 +0000)]
PR target/37191
* config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
from different units in a single alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180560 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agosyscalls: Rewrite awk script to work with nawk.
ian [Thu, 27 Oct 2011 04:56:46 +0000 (04:56 +0000)]
syscalls: Rewrite awk script to work with nawk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180559 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoFix thinko in previous sparc setcc changes.
davem [Thu, 27 Oct 2011 04:04:06 +0000 (04:04 +0000)]
Fix thinko in previous sparc setcc changes.

* config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
if we're comparing DImode and comparison is other than EQ or NE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180558 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoDaily bump.
gccadmin [Thu, 27 Oct 2011 00:18:31 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180556 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoUpdate Go library to last weekly.
ian [Wed, 26 Oct 2011 23:57:58 +0000 (23:57 +0000)]
Update Go library to last weekly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180552 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoAdd sparc fmaf test.
davem [Wed, 26 Oct 2011 23:57:20 +0000 (23:57 +0000)]
Add sparc fmaf test.

gcc/testsuite/

* gcc.target/sparc/fmaf-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180551 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoImprove sparc setcc generation and add testcases.
davem [Wed, 26 Oct 2011 23:55:23 +0000 (23:55 +0000)]
Improve sparc setcc generation and add testcases.

gcc/

* config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
LEU/LTU/GEU/GTU is attempted.
* config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
and split.
(*neg_seqsi_sign_extend): Likewise.
(*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
*neg_sgeu_extend_sp64): New insns.

gcc/testsuite/

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180550 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago PR libstdc++/50862
redi [Wed, 26 Oct 2011 23:35:26 +0000 (23:35 +0000)]
PR libstdc++/50862
* include/std/condition_variable (condition_variable_any::wait): Avoid
terminating if relocking user mutex throws during stack-unwinding.
* testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180549 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple
jsm28 [Wed, 26 Oct 2011 22:15:57 +0000 (22:15 +0000)]
* gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple
calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180546 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
jsm28 [Wed, 26 Oct 2011 22:14:43 +0000 (22:14 +0000)]
* gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
Windows targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180545 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/i386/pr37843-4.c: Allow for leading underscores on
jsm28 [Wed, 26 Oct 2011 21:52:08 +0000 (21:52 +0000)]
* gcc.target/i386/pr37843-4.c: Allow for leading underscores on
symbol names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180544 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc.target/i386/pad-4.c: Skip for Windows targets.
jsm28 [Wed, 26 Oct 2011 21:51:35 +0000 (21:51 +0000)]
* gcc.target/i386/pad-4.c: Skip for Windows targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180543 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoCanonicalize sparc movcc patterns such that operand 0 always appears in operand 4.
davem [Wed, 26 Oct 2011 21:14:56 +0000 (21:14 +0000)]
Canonicalize sparc movcc patterns such that operand 0 always appears in operand 4.

* config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
* config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
(*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
(*mov<I:mode>_cc_reg_sp64): Likewise.
(*movsf_cc_v9): Likewise.
(*movsf_cc_reg_sp64): Likewise.
(*movdf_cc_v9): Likewise.
(*movdf_cc_reg_sp64): Likewise.
(*movtf_cc_hq_v9): Likewise.
(*movtf_cc_reg_hq_sp64): Likewise.
(*movtf_cc_v9): Likewise.
(*movtf_cc_reg_sp64): Likewise.
* config/sparc/sparc.c (sparc_expand_conditional_move): New function.
(sparc_print_operand): Delete 'c' and 'd' handling, no longer used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180542 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
ebotcazou [Wed, 26 Oct 2011 21:05:10 +0000 (21:05 +0000)]
* gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
variable.  Always create the elaboration variable, if any, as constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180541 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
ebotcazou [Wed, 26 Oct 2011 20:45:09 +0000 (20:45 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
make a packable type for fields of union types as well.
<is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
(gnat_to_gnu_component_type): Try to make a packable type for fields
of union types as well.
(make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
(maybe_pad_type): Try to make a packable type for fields of union types
as well.
(gnat_to_gnu_field): Likewise.
(is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
(set_rm_size): Likewise.
(rm_size): Likewise.
* gcc-interface/misc.c (gnat_type_max_size): Likewise.
* gcc-interface/trans.c (add_decl_expr): Likewise.
* gcc-interface/utils.c (finish_record_type): Likewise.
* gcc-interface/utils2.c (build_simple_component_ref): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180540 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
ebotcazou [Wed, 26 Oct 2011 20:32:17 +0000 (20:32 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_field): Always check components
declared as atomic.  Move around conditionally executed code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180539 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * typeck.c (check_literal_operator_args): Avoid building types.
jason [Wed, 26 Oct 2011 19:31:26 +0000 (19:31 +0000)]
* typeck.c (check_literal_operator_args): Avoid building types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180538 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agobuild_string comments
jason [Wed, 26 Oct 2011 19:31:16 +0000 (19:31 +0000)]
build_string comments

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180537 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago Implement C++11 user-defined literals.
jason [Wed, 26 Oct 2011 19:30:59 +0000 (19:30 +0000)]
Implement C++11 user-defined literals.
libcpp/
* expr.c: (cpp_interpret_float_suffix, cpp_interpret_int_suffix,
cpp_userdef_string_remove_type, cpp_userdef_string_add_type,
cpp_userdef_char_remove_type, cpp_userdef_char_add_type,
cpp_userdef_string_p, cpp_userdef_char_p, cpp_get_userdef_suffix): New.
(cpp_classify_number): Classify unrecognized tokens as user-defined
literals.
* include/cpplib.h: Add new tokens for user-defined literals.
* init.c: Add new preprocessor flag (cxx11).
* lex.c: (lex_string, lex_raw_string): Handle user-defined literals
including concatenation and promotion with suffixes.
c-family/
* c-common.c (build_userdef_literal): New.
* c-common.def: New tree code.
* c-common.h (tree_userdef_literal): New tree struct and accessors.
* c-lex.c (interpret_float): Add suffix parm.
(c_lex_with_flags): Build literal tokens.
cp/
* cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
* cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
name tools. New tree code for user-defined literals.
* cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
* cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
(pp_cxx_primary_expression, pp_cxx_expression): Use it.
* decl.c: (cp_tree_node_structure): Return new tree code.
(duplicate_decls): Check for raw vs. template operator conflicts.
(grokfndecl, grokdeclarator): New checks for literal operators.
* error.c: (dump_expr): Warn about user-defined literals
in C++98 mode. (dump_function_name): Pretty printing.
* mangle.c: (write_literal_operator_name): New.
(write_unqualified_id, write_unqualified_name): Use it.
* parser.c: (cp_parser_operator): Handle operator"".
(cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
cp_parser_userdef_string_literal): New.
(cp_parser_primary_expression): Handle new user-defined literal tokens
with new functions.
* semantics.c: (potential_constant_expression_1): Add
user-defined literals.
* typeck.c (check_raw_literal_operator,
check_literal_operator_args): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180536 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 26 Oct 2011 18:04:57 +0000 (18:04 +0000)]
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180532 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 26 Oct 2011 17:59:36 +0000 (17:59 +0000)]
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (cp_build_addr_expr_1): Use BASELINK_P.
* class.c (instantiate_type): Likewise.
* pt.c (convert_nontype_argument_function, uses_template_parms,
tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p):
Likewise.
* semantics.c (finish_decltype_type): Likewise.
* decl2.c (mark_used): Likewise.
* name-lookup.c (arg_assoc): Likewise.

/cp
2011-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50870
* typeck.c (non_reference): Pass NULL_TREE through.

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

PR c++/50870
* g++.dg/cpp0x/decltype34.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180531 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Tom de Vries <tom@codesourcery.com>
vries [Wed, 26 Oct 2011 15:04:59 +0000 (15:04 +0000)]
2011-10-26  Tom de Vries <tom@codesourcery.com>

* gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer.
* gcc.c-torture/unsorted/HIset.c: Same.
* gcc.c-torture/unsorted/SIcmp.c: Same.
* gcc.c-torture/unsorted/SIset.c: Same.
* gcc.c-torture/unsorted/SFset.c: Same.
* gcc.c-torture/unsorted/UHIcmp.c: Same.
* gcc.c-torture/unsorted/USIcmp.c: Same.
* gcc.c-torture/unsorted/DFcmp.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180528 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * reload.c (reload_inner_reg_of_subreg): Change type of return value
ebotcazou [Wed, 26 Oct 2011 13:54:13 +0000 (13:54 +0000)]
* reload.c (reload_inner_reg_of_subreg): Change type of return value
and type of OUTPUT parameter to bool and adjust.  Document MODE and
OUTPUT parameters.  Use HARD_REGISTER_P.  Reorder final condition
and improve associated comment.
(push_reload): Clarify and update comments about reloading of subregs.
Adjust calls to reload_inner_reg_of_subreg.  Compute the class upfront
for the reloading of subregs in the out case as well.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180526 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agoPR debug/50826
aoliva [Wed, 26 Oct 2011 13:47:48 +0000 (13:47 +0000)]
PR debug/50826
* var-tracking.c (rtx_debug_expr_p): New.
(use_type): Don't use debug exprs to track non-VTA variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180525 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * doc/invoke.texi (sink-frequency-threshold): Document.
law [Wed, 26 Oct 2011 13:26:50 +0000 (13:26 +0000)]
* doc/invoke.texi (sink-frequency-threshold): Document.
* tree-ssa-sink.c: Include params.h.
(select_best_block): New function.
(statement_sink_location): Use it.
* params.def (SINK_FREQUENCY_THRESHOLD): New PARAM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180524 138bc75d-0d04-0410-961f-82ee72b054a4

13 years agogcc:
iains [Wed, 26 Oct 2011 12:37:59 +0000 (12:37 +0000)]
gcc:

PR target/48108
* config/darwin.c (top level): Amend comments concerning LTO output.
(lto_section_num): New variable.  (darwin_lto_section_e): New GTY.
(LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
(LTO_NAMES_SECTION): Rename.
(darwin_asm_named_section): Record LTO section counts and switches
in a vec of darwin_lto_section_e.
(darwin_file_start): Remove unused code.
(darwin_file_end): Put an LTO section termination label.  Handle
output of the wrapped LTO sections, index and names table.

libiberty:

PR target/48108
* simple-object-mach-o.c  (GNU_WRAPPER_SECTS, GNU_WRAPPER_INDEX,
GNU_WRAPPER_NAMES): New macros.
(simple_object_mach_o_segment): Handle wrapper scheme.
(simple_object_mach_o_write_section_header): Allow the segment name
to be supplied.
(simple_object_mach_o_write_segment): Handle wrapper scheme.  Ensure
that the top-level segment name in the load command is empty.
(simple_object_mach_o_write_to_file): Determine the number of
sections during segment output, use that in writing the header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180523 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
amodra [Wed, 26 Oct 2011 11:59:41 +0000 (11:59 +0000)]
* config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
declaration.
(rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp.
(rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx.  Use
simple_return in pattern, emit instruction, and set jump_label.
(rs6000_emit_prologue): Update for rs6000_emit_savres_rtx.  Use
simple_return rather than return.
(emit_cfa_restores): New function.
(rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap.
Add missing cfa_restores for SAVE_WORLD.  Add missing LR cfa_restore
when using out-of-line gpr restore.  Add missing LR and FP regs
cfa_restores for out-of-line fpr restore.  Consolidate code setting
up cfa_restores.  Formatting.  Use LR_REGNO define.
(rs6000_output_mi_thunk): Use simple_return rather than return.
* config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise.
(return_internal*): Likewise.
(any_return, return_pred, return_str): New iterators.
(return, conditional return insns): Provide both return and
simple_return variants.
* config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define.
(REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13.
Move r11 and r0 later to suit shrink-wrapping.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180522 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 26 Oct 2011 11:48:09 +0000 (11:48 +0000)]
2011-10-26  Richard Guenther  <rguenther@suse.de>

* lto-wrapper.c (run_gcc): Properly init/free obstack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180521 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago * config/i386/i386.md (UNSPEC_VSIBADDR): New.
jakub [Wed, 26 Oct 2011 09:46:45 +0000 (09:46 +0000)]
* config/i386/i386.md (UNSPEC_VSIBADDR): New.
* config/i386/predicates.md (vsib_address_operand,
vsib_mem_operator): New predicates.
* config/i386/i386.c (ix86_print_operand_address): Handle
UNSPEC_VSIBADDR addresses.
* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
avx2_gatherdi<mode>256): Adjust expanders to use MEM with
UNSPEC_VSIBADDR address.
(*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
Adjust insns to use MEM with UNSPEC_VSIBADDR address.

* gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex
to work also with -masm=intel and additionally test the xmm vs. ymm
register type combination on mask/dest and in vsib.
* gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
* gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
* gcc.target/i386/avx2-i64gatherq-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180520 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Tom de Vries <tom@codesourcery.com>
vries [Wed, 26 Oct 2011 09:33:56 +0000 (09:33 +0000)]
2011-10-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180519 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Tom de Vries <tom@codesourcery.com>
vries [Wed, 26 Oct 2011 09:33:49 +0000 (09:33 +0000)]
2011-10-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180518 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 26 Oct 2011 09:30:29 +0000 (09:30 +0000)]
2011-10-26  Richard Guenther  <rguenther@suse.de>

PR lto/41844
* Makefile.in (lto-wrapper): Depend on and link against
opts-common.o.
(lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H).
* lto-wrapper.c (get_options_from_collect_gcc_options): New function.
(run_gcc): Use it.  Filter out language specific options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180517 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-26 Andreas Tobler <andreast@fgznet.ch>
andreast [Wed, 26 Oct 2011 06:59:47 +0000 (06:59 +0000)]
2011-10-26  Andreas Tobler  <andreast@fgznet.ch>

* config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
32-bit target does.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180468 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 26 Oct 2011 00:55:15 +0000 (00:55 +0000)]
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix typo in last ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180467 138bc75d-0d04-0410-961f-82ee72b054a4

13 years ago2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 26 Oct 2011 00:50:11 +0000 (00:50 +0000)]
2011-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR translation/46617
* gcc.c (main): Fix fatal_error string for translation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180466 138bc75d-0d04-0410-961f-82ee72b054a4