platform/upstream/gcc.git
12 years agoruntime: Don't ask mmap for wrapping memory.
Ian Lance Taylor [Tue, 1 Nov 2011 05:20:40 +0000 (05:20 +0000)]
runtime: Don't ask mmap for wrapping memory.

From-SVN: r180732

12 years agoruntime: Correct test of mmap return value.
Ian Lance Taylor [Tue, 1 Nov 2011 04:55:15 +0000 (04:55 +0000)]
runtime: Correct test of mmap return value.

From-SVN: r180731

12 years agosyscall: Portability code for epoll_event on GNU/Linux.
Ian Lance Taylor [Tue, 1 Nov 2011 04:12:01 +0000 (04:12 +0000)]
syscall: Portability code for epoll_event on GNU/Linux.

From-SVN: r180729

12 years ago* c.opt (-fdeduce-init-list): Off by default.
Jason Merrill [Tue, 1 Nov 2011 04:02:56 +0000 (00:02 -0400)]
* c.opt (-fdeduce-init-list): Off by default.

From-SVN: r180728

12 years agoMakefile.am (install-freestanding-headers): Install c++0x_warning.h.
Jason Merrill [Tue, 1 Nov 2011 04:02:45 +0000 (00:02 -0400)]
Makefile.am (install-freestanding-headers): Install c++0x_warning.h.

* include/Makefile.am (install-freestanding-headers): Install
c++0x_warning.h.
* libsupc++/initializer_list: Include it.

From-SVN: r180727

12 years ago* doc/invoke.texi: Update for -std=c++11.
Jason Merrill [Tue, 1 Nov 2011 04:02:31 +0000 (00:02 -0400)]
* doc/invoke.texi: Update for -std=c++11.

From-SVN: r180726

12 years agore PR debug/50869 (ice in vt_expand_var_loc_chain)
Alexandre Oliva [Tue, 1 Nov 2011 02:09:00 +0000 (02:09 +0000)]
re PR debug/50869 (ice in vt_expand_var_loc_chain)

PR debug/50869
* cselib.c (cfa_base_preserved_regno): Initialize.
(cselib_expand_value_rtx_1): Don't expand it.
* var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
Check it's only zero if result is NULL.

From-SVN: r180725

12 years agosse.md (fixuns_trunc<mode><sseintvecmodelower>2): New expander.
Jakub Jelinek [Tue, 1 Nov 2011 01:09:58 +0000 (02:09 +0100)]
sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New expander.

* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
expander.

From-SVN: r180724

12 years agosse.md (sseintvecmode): Remove duplicate modes.
Jakub Jelinek [Tue, 1 Nov 2011 01:09:07 +0000 (02:09 +0100)]
sse.md (sseintvecmode): Remove duplicate modes.

* config/i386/sse.md (sseintvecmode): Remove duplicate modes.
(sseintvecmodelower): New mode iterator.
(floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
(float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
(floatunsv4siv4sf2): Macroize into...
(floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.

From-SVN: r180723

12 years agoDaily bump.
GCC Administrator [Tue, 1 Nov 2011 00:18:07 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180721

12 years agoacinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
Gerald Pfeifer [Tue, 1 Nov 2011 00:02:45 +0000 (00:02 +0000)]
acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.

* acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
* configure: Regenerate.

From-SVN: r180717

12 years agosyscall: Use sched_yield rather than pthread_yield.
Ian Lance Taylor [Mon, 31 Oct 2011 22:09:21 +0000 (22:09 +0000)]
syscall: Use sched_yield rather than pthread_yield.

From-SVN: r180716

12 years agoAllow zero operand in sparc VIS3 cmask patterns.
David S. Miller [Mon, 31 Oct 2011 22:09:12 +0000 (22:09 +0000)]
Allow zero operand in sparc VIS3 cmask patterns.

* config/sparc/sparc.md (cmask patterns): Allow zero operand.

From-SVN: r180715

12 years agosyscall: Fix Errstr on systems without strerror_r.
Ian Lance Taylor [Mon, 31 Oct 2011 21:55:22 +0000 (21:55 +0000)]
syscall: Fix Errstr on systems without strerror_r.

From-SVN: r180714

12 years agoInvalidate cached next real insn in dwarf2out_end_epilogue().
David S. Miller [Mon, 31 Oct 2011 21:51:22 +0000 (21:51 +0000)]
Invalidate cached next real insn in dwarf2out_end_epilogue().

* dwarf2out.c (cached_next_real_insn): New.
(dwarf2out_end_epilogue): Set it to NULL_RTX.
(dwarf2out_var_location): Remove cached_next_real_insn local static.

From-SVN: r180713

12 years agosyscall: Remove a couple more 3-parameter match's in mksyscall.awk.
Ian Lance Taylor [Mon, 31 Oct 2011 21:47:30 +0000 (21:47 +0000)]
syscall: Remove a couple more 3-parameter match's in mksyscall.awk.

From-SVN: r180712

12 years agoi386: Remove TARGET_VECTORIZE_BUILTIN_CONVERSION.
Richard Henderson [Mon, 31 Oct 2011 19:36:57 +0000 (12:36 -0700)]
i386: Remove TARGET_VECTORIZE_BUILTIN_CONVERSION.

Renaming all of the insn patterns as needed to the standard
optab forms.  Sadly, only one of the builtins is unused by
the various header files, so most of them must stay around.

        * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
        (floatv4siv4sf2): Rename from sse2_cvtdq2ps.
        (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
        (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
        (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
        (floatv4siv4df2): Rename from avx_cvtdq2pd256.
        (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
        (vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
        * config/i386/i386.md (splitters for int-float conversion): Likewise.
        * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
        (bdesc_args): Likewise.
        (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
        (ix86_vectorize_builtin_conversion): Remove.
        (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.

From-SVN: r180709

12 years agore PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L)
Jason Merrill [Mon, 31 Oct 2011 19:34:26 +0000 (15:34 -0400)]
re PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L)

PR libstdc++/1773
* init.c (cpp_init_builtins): Set __cplusplus for C++11.

From-SVN: r180708

12 years agore PR c++/50920 (add a -std=c++11 option to the driver)
Jason Merrill [Mon, 31 Oct 2011 19:34:14 +0000 (15:34 -0400)]
re PR c++/50920 (add a -std=c++11 option to the driver)

PR c++/50920
gcc/c-family
* c-common.h (cxx_dialect): Add cxx11 and cxx03.
* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
and -Wc++11-compat.
* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
gcc/cp
* class.c (check_field_decl): Change c++0x in diags to c++11.
* error.c (maybe_warn_cpp0x): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
libcpp
* include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11,
CLK_GNUCXX0X to CLK_GNUCXX11.
libstdc++-v3
* include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.

From-SVN: r180707

12 years agoipa-prop.c (mark_modified): Moved up in the file.
Martin Jambor [Mon, 31 Oct 2011 17:43:25 +0000 (18:43 +0100)]
ipa-prop.c (mark_modified): Moved up in the file.

2011-10-31  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (mark_modified): Moved up in the file.
(is_parm_modified_before_call): Renamed to
is_parm_modified_before_stmt, moved up in the file.
(load_from_unmodified_param): New function.
(compute_complex_assign_jump_func): Also attempt to create pass
through jump functions for values loaded from (addressable)
parameters.

* testsuite/gcc.dg/ipa/ipcp-4.c: New test.

From-SVN: r180705

12 years agotree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def in a loop and...
Jakub Jelinek [Mon, 31 Oct 2011 16:52:19 +0000 (17:52 +0100)]
tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def in a loop and has different type from op0...

* tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
in a loop and has different type from op0, cast it to op0's type
before the loop first.  For slp give up.  Don't crash if op1_vectype
is NULL.

* gcc.dg/vshift-3.c: New test.
* gcc.dg/vshift-4.c: New test.
* gcc.dg/vshift-5.c: New test.

From-SVN: r180704

12 years agoUpdate file position for inquire lazily.
Janne Blomqvist [Mon, 31 Oct 2011 14:59:19 +0000 (16:59 +0200)]
Update file position for inquire lazily.

libgfortran ChangeLog:

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* io/inquire.c (inquire_via_unit): Check whether we're at the
beginning or end if the position is unspecified. If the position
is not one of the 3 standard ones, return unspecified.
* io/io.h (update_position): Remove prototype.
* io/transfer.c (next_record): Set the position to unspecified,
letting inquire figure it out more exactly when needed.
* io/unit.c (update_position): Remove function.

testsuite ChangeLog:

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* gfortran.dg/inquire_5.f90: Update testcase to match the standard
and current implementation.

From-SVN: r180703

12 years agoIntroduce a size member function to struct stream.
Janne Blomqvist [Mon, 31 Oct 2011 14:52:26 +0000 (16:52 +0200)]
Introduce a size member function to struct stream.

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* io/unix.h (struct stream): Add size function pointer.
(ssize): New inline function.
(file_length): Remove prototype.
* io/unix.c (raw_size): New function.
(raw_init): Initialize st.size pointer.
(buf_size): New function.
(buf_init): Initialize st.size pointer.
(open_internal): Likewise.
(open_internal4): Likewise.
(file_length): Remove function.
* io/file_pos.c (st_rewind): Use ssize instead of file_length.
* io/open.c (test_endfile): Likewise.
* io/transfer.c (data_transfer_init): Likewise.
(next_record_r): Likewise.
(next_record_w): Likewise.
* io/unit.c (update_position): Likewise.

From-SVN: r180702

12 years agoSimplify handling of special files.
Janne Blomqvist [Mon, 31 Oct 2011 14:45:50 +0000 (16:45 +0200)]
Simplify handling of special files.

2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>

* io/file_pos.c (st_rewind): Handle regular and special files
identically.
* io/intrinsics.c (fseek_sub): Don't check whether we think the
file is seekable, just do what the caller says.
* io/transfer.c (skip_record): First try to seek, then fallback to
reading and throwing away what we read.
* io/unit.c (update_position): Don't check whether file is
seekable, just try to do what we're told.
(unit_truncate): Likewise.
* io/unix.c (struct unix_stream): Remove special_file flag.
(buf_flush): Remove code for handling unseekable files.
(buf_seek): Likewise.
(fd_to_stream): Use buffered IO only for regular files.
(file_length): Remove is_seekable() call.
(is_seekable): Remove function.
(is_special): Likewise.
* io/unix.h: Remove prototypes for is_seekable and is_special.

From-SVN: r180701

12 years agocgraphunit.c: Don't mark clones as static constructors.
Paul Brook [Mon, 31 Oct 2011 14:26:38 +0000 (14:26 +0000)]
cgraphunit.c: Don't mark clones as static constructors.

2011-10-31  Paul Brook  <paul@codesourcery.com>

gcc/
* cgraphunit.c: Don't mark clones as static constructors.

gcc/testsuite/
* gcc.dg/constructor-1.c: New test.

From-SVN: r180700

12 years agogcc-ar: Do not include stdio.h.
David Edelsohn [Mon, 31 Oct 2011 14:04:50 +0000 (10:04 -0400)]
gcc-ar: Do not include stdio.h.

        * gcc-ar: Do not include stdio.h.

From-SVN: r180699

12 years agomangle.c (get_mangled_id): Factor from ...
Diego Novillo [Mon, 31 Oct 2011 14:04:19 +0000 (10:04 -0400)]
mangle.c (get_mangled_id): Factor from ...

* mangle.c (get_mangled_id): Factor from ...
(mangle_decl): ... here.
Call get_mangled_id.

From-SVN: r180698

12 years agotree-streamer-out.c (pack_ts_base_value_fields): Emit TYPE_ADDR_SPACE.
Diego Novillo [Mon, 31 Oct 2011 14:03:32 +0000 (10:03 -0400)]
tree-streamer-out.c (pack_ts_base_value_fields): Emit TYPE_ADDR_SPACE.

* tree-streamer-out.c (pack_ts_base_value_fields): Emit
TYPE_ADDR_SPACE.
* tree-streamer-in.c (unpack_ts_base_value_fields): Read
TYPE_ADDR_SPACE.

From-SVN: r180697

12 years agoSlight improvements to vec_init code gen on sparc.
David S. Miller [Mon, 31 Oct 2011 06:24:26 +0000 (06:24 +0000)]
Slight improvements to vec_init code gen on sparc.

* config/sparc/sparc.c (vector_init_bshuffle): New function.
(vector_init_fpmerge): New function.
(sparc_expand_vector_init): Use them to improve non-const cases.

From-SVN: r180696

12 years agoHandle many consecutive location notes more efficiently in dwarf2.
David S. Miller [Mon, 31 Oct 2011 01:48:15 +0000 (01:48 +0000)]
Handle many consecutive location notes more efficiently in dwarf2.

* dwarf2out.c (dwarf2out_var_location): When processing several
consecutive location notes, cache the result of next_real_insn().

From-SVN: r180695

12 years agoDaily bump.
GCC Administrator [Mon, 31 Oct 2011 00:18:12 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180694

12 years agosymbol.c (gfc_free_charlen): Whitespace.
Steven G. Kargl [Sun, 30 Oct 2011 22:31:10 +0000 (22:31 +0000)]
symbol.c (gfc_free_charlen): Whitespace.

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

* symbol.c (gfc_free_charlen): Whitespace.

From-SVN: r180687

12 years agore PR other/50573 (configure lists --with-gnu-ld twice)
Steven G. Kargl [Sun, 30 Oct 2011 21:59:24 +0000 (21:59 +0000)]
re PR other/50573 (configure lists --with-gnu-ld twice)

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

PR fortran/50573
* check.c (gfc_check_dshift): Update argument checking for BOZ.
Update checking SHIFT against BITSIZE of I or J.
* intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.

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

PR fortran/50573
* gfortran.dg/dshift_3.f90: New test.

From-SVN: r180686

12 years agoi386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} using VF1...
Uros Bizjak [Sun, 30 Oct 2011 17:48:46 +0000 (18:48 +0100)]
i386.md (avx2_vec_dup<mode>): Macroize insn from avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.

* config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
(vec_dupv4sf): Remove expander.
(vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
(vec_dupv2df): Remove expander.
(vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
(*vec_concatv2df): Merge *vec_concatv2df_sse3.
(*vec_dupv4si): Merge *vec_dupv4si_avx.
(*vec_dupv2di): Merge *vec_dupv2di_sse3.

From-SVN: r180685

12 years agotree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
Dmitry Plotnikov [Sun, 30 Oct 2011 17:12:02 +0000 (17:12 +0000)]
tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.

2011-10-30  Dmitry Plotnikov  <dplotnikov@ispras.ru>

        * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
        * optabs.c (supportable_convert_operation): New function.
        * optabs.h (supportable_convert_operation): New prototype.
        * tree-vect-stmts.c (vectorizable_conversion): Change condition and
        behavior for NONE modifier case.
        * tree.h (VECTOR_INTEGER_TYPE_P): New macro.

From-SVN: r180684

12 years ago* ja.po: Update.
Joseph Myers [Sun, 30 Oct 2011 16:28:46 +0000 (16:28 +0000)]
* ja.po: Update.

From-SVN: r180682

12 years agoprerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
Gerald Pfeifer [Sun, 30 Oct 2011 15:33:11 +0000 (15:33 +0000)]
prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.

* prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
Remove an obsolete reference to a Red Hat release we do not
support any longer.
Refer to Debian GNU/Linux.

From-SVN: r180681

12 years agoscal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.
John David Anglin [Sun, 30 Oct 2011 14:33:33 +0000 (14:33 +0000)]
scal-to-vec2.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.

* gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on
hppa*-*-hpux*.
* gcc.dg/torture/vshuf-v8hi.c: Likewise.
* gcc.dg/torture/vshuf-v4si.c: Likewise.
* gcc.dg/torture/vshuf-v8si.c: Likewise.
* gcc.dg/torture/vshuf-v32qi.c: Likewise.
* gcc.dg/torture/vshuf-v4di.c: Likewise.
* gcc.dg/torture/vshuf-v2df.c: Likewise.
* gcc.dg/torture/vshuf-v16qi.c: Likewise.
* gcc.dg/torture/vshuf-v4sf.c: Likewise.
* gcc.dg/torture/vshuf-v8sf.c: Likewise.
* gcc.dg/torture/vshuf-v2di.c: Likewise.
* gcc.dg/torture/vshuf-v16hi.c: Likewise.
* gcc.dg/torture/vshuf-v4df.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-31.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.

From-SVN: r180680

12 years agofaq.xml (Who's in charge of it?): Refer to the Linux kernel instead of just Linux.
Gerald Pfeifer [Sun, 30 Oct 2011 14:29:15 +0000 (14:29 +0000)]
faq.xml (Who's in charge of it?): Refer to the Linux kernel instead of just Linux.

* faq.xml (Who's in charge of it?): Refer to the Linux kernel
instead of just Linux.
(How do I install libstdc++?): Refer to GNU/Linux instead of
just Linux.

From-SVN: r180679

12 years agoNEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
Gerald Pfeifer [Sun, 30 Oct 2011 14:17:22 +0000 (14:17 +0000)]
NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.

* NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
(EGCS 1.0): Ditto.

From-SVN: r180678

12 years agotree-vectorizer.h (NUM_PATTERNS): Bump to 9.
Jakub Jelinek [Sun, 30 Oct 2011 12:16:01 +0000 (13:16 +0100)]
tree-vectorizer.h (NUM_PATTERNS): Bump to 9.

* tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
function.
(vect_vect_recog_func_ptrs): Add it.

From-SVN: r180677

12 years agoFix minor issues
Eric Botcazou [Sun, 30 Oct 2011 09:16:23 +0000 (09:16 +0000)]
Fix minor issues

From-SVN: r180675

12 years agoProperly limit backwards label scanning in reorg.
David S. Miller [Sun, 30 Oct 2011 07:48:05 +0000 (07:48 +0000)]
Properly limit backwards label scanning in reorg.

* reorg.c (label_before_next_insn): New function.
(relax_delay_slots): Use it instead of prev_label.
* rtl.h (prev_label): Delete declaration.
* emit-rtl.c (prev_label): Remove.

From-SVN: r180674

12 years agoFix marking of SMSed loops as BB_DISABLE_SCHEDULE
Revital Eres [Sun, 30 Oct 2011 05:12:53 +0000 (05:12 +0000)]
Fix marking of SMSed loops as BB_DISABLE_SCHEDULE

From-SVN: r180673

12 years agore PR c++/50901 (ICE: in build_new_op, at cp/call.c:5016)
Paolo Carlini [Sun, 30 Oct 2011 00:22:53 +0000 (00:22 +0000)]
re PR c++/50901 (ICE: in build_new_op, at cp/call.c:5016)

/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.

From-SVN: r180670

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

From-SVN: r180669

12 years agore PR target/50617 (ICE: RTL flag check: INSN_ANNULLED_BRANCH_P used with unexpected...
John David Anglin [Sat, 29 Oct 2011 18:58:48 +0000 (18:58 +0000)]
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

12 years agoi386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
Uros Bizjak [Sat, 29 Oct 2011 18:38:27 +0000 (20:38 +0200)]
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

12 years agoi386.md (lshlv16qi3): Remove expander.
Uros Bizjak [Sat, 29 Oct 2011 17:51:24 +0000 (19:51 +0200)]
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

12 years agofma-check.h (main): Use return 0 instead of exit (0).
Uros Bizjak [Sat, 29 Oct 2011 17:26:48 +0000 (19:26 +0200)]
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

12 years agore PR target/50691 (Incorrect argument evaluation in call with __thread argument)
John David Anglin [Sat, 29 Oct 2011 15:57:00 +0000 (15:57 +0000)]
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

12 years agore PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS)
Georg-Johann Lay [Sat, 29 Oct 2011 14:35:59 +0000 (14:35 +0000)]
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

12 years agore PR target/47997 (gcc on macosx: "ld: warning: -fwritable-strings not compatible...
Iain Sandoe [Sat, 29 Oct 2011 12:59:30 +0000 (12:59 +0000)]
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

12 years agoFix cross compilation build in gcc-ar
Andi Kleen [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.

From-SVN: r180652

12 years agocris.c (reg_ok_for_base_p, [...]): New functions.
Anatoly Sokolov [Sat, 29 Oct 2011 09:08:13 +0000 (13:08 +0400)]
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

12 years agoUse more efficient alignment in ggc
Andi Kleen [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.

From-SVN: r180650

12 years agoAdd a fragmentation fallback in ggc-page v2
Andi Kleen [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.

From-SVN: r180649

12 years agoFree large chunks in ggc v2
Andi Kleen [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.

From-SVN: r180648

12 years agoAdd missing page rounding of a page_entry
Andi Kleen [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.

From-SVN: r180647

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

From-SVN: r180646

12 years agoAdd gcc-ar/nm/ranlib wrappers for slim LTO v2
Andi Kleen [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.

From-SVN: r180642

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

From-SVN: r180641

12 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [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.

From-SVN: r180640

12 years ago2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [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.

From-SVN: r180639

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

From-SVN: r180634

12 years agomorestack.S: Correct CFI information to do proper returns throughout function.
Ian Lance Taylor [Fri, 28 Oct 2011 22:03:56 +0000 (22:03 +0000)]
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

12 years agors6000.md (define_attr "type"): Add vecdouble.
Pat Haugen [Fri, 28 Oct 2011 21:38:56 +0000 (21:38 +0000)]
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

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

From-SVN: r180627

12 years agopt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
Paolo Carlini [Fri, 28 Oct 2011 20:05:38 +0000 (20:05 +0000)]
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

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

From-SVN: r180625

12 years agoi386.md (shift_insn): Rename code attribute from shiftrt_insn.
Uros Bizjak [Fri, 28 Oct 2011 19:05:32 +0000 (21:05 +0200)]
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

12 years agore PR c++/50864 (ICE with decltype and "declval" from another namespace)
Paolo Carlini [Fri, 28 Oct 2011 18:40:22 +0000 (18:40 +0000)]
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

12 years agoi386.md (shift_insn): Rename code attribute from shiftrt_insn.
Uros Bizjak [Fri, 28 Oct 2011 18:17:51 +0000 (20:17 +0200)]
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

12 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Fri, 28 Oct 2011 17:47:56 +0000 (17:47 +0000)]
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

12 years agocheck.c (gfc_check_atan_2): Typo in comment.
Steven G. Kargl [Fri, 28 Oct 2011 15:15:25 +0000 (15:15 +0000)]
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

12 years ago50862.cc: Trivial formatting fixes.
Paolo Carlini [Fri, 28 Oct 2011 14:33:21 +0000 (14:33 +0000)]
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

12 years agore PR target/50678 (FAIL: c52104y on x86_64-apple-darwin10)
Iain Sandoe [Fri, 28 Oct 2011 11:59:07 +0000 (11:59 +0000)]
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

12 years agocount.cc: New.
Paolo Carlini [Fri, 28 Oct 2011 11:54:04 +0000 (11:54 +0000)]
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

12 years agore PR rtl-optimization/47918 (noreturn discovery broke non local gotos on m68k and...
Julian Brown [Fri, 28 Oct 2011 10:48:32 +0000 (10:48 +0000)]
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

12 years agoImplement out-of-line FPR and GPR saves for PPC/Darwin
Iain Sandoe [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.

From-SVN: r180610

12 years agosse.md (VI4SD_AVX2): Removed.
Jakub Jelinek [Fri, 28 Oct 2011 10:28:40 +0000 (12:28 +0200)]
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

12 years agore PR driver/50876 (unrecognized command line option '-Zmultiply_defined suppress...
Richard Guenther [Fri, 28 Oct 2011 09:46:26 +0000 (09:46 +0000)]
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

12 years agocomplex (__complex_acosh): Just use '< _Tp()'.
Richard B. Kreckel [Fri, 28 Oct 2011 09:34:52 +0000 (09:34 +0000)]
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

12 years agotree-vect-stmts.c (vectorizable_shift): Give up if op1 has different vector mode...
Jakub Jelinek [Fri, 28 Oct 2011 09:25:18 +0000 (11:25 +0200)]
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

12 years agore PR ada/50842 (gnatmake fails to link in stage3 with undefined symbol _iconv_close)
Eric Botcazou [Fri, 28 Oct 2011 07:13:44 +0000 (07:13 +0000)]
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

12 years agore PR rtl-optimization/49720 (Infinite recursion compiling gold binary_test.cc testcase)
Chung-Lin Tang [Fri, 28 Oct 2011 06:35:31 +0000 (06:35 +0000)]
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

12 years agoMissing testsuite file add in previous commit.
David S. Miller [Fri, 28 Oct 2011 05:55:10 +0000 (22:55 -0700)]
Missing testsuite file add in previous commit.

From-SVN: r180603

12 years agoAdd support for the VIS3 addxc instruction.
David S. Miller [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.

From-SVN: r180602

12 years agoFix constraint on 64-bit VIS3 vector moves.
David S. Miller [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.

From-SVN: r180601

12 years agoFix illegal register substitutions on big-endian during cprop_reg.
David S. Miller [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.

From-SVN: r180600

12 years agosemantics.c (cxx_eval_outermost_constant_expr): Check cp_has_mutable_p.
Jason Merrill [Fri, 28 Oct 2011 02:18:12 +0000 (22:18 -0400)]
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

12 years agore PR c++/30066 (option to make inline functions hidden)
Roberto Agostino Vitillo [Fri, 28 Oct 2011 02:18:00 +0000 (02:18 +0000)]
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

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

From-SVN: r180588

12 years agosse.md (avx_cvtpd2dq256_2, [...]): New expanders.
Jakub Jelinek [Thu, 27 Oct 2011 19:53:28 +0000 (21:53 +0200)]
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

12 years agoi386.c (ix86_print_operand): Handle 'q' and 'x' overrides for -masm=intel memory.
Jakub Jelinek [Thu, 27 Oct 2011 19:52:06 +0000 (21:52 +0200)]
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

12 years agoipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info to parm_ainfo.
Martin Jambor [Thu, 27 Oct 2011 19:37:07 +0000 (21:37 +0200)]
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

12 years agopr45605.C: Scan fre1 dump and unxfail.
Martin Jambor [Thu, 27 Oct 2011 19:27:38 +0000 (21:27 +0200)]
pr45605.C: Scan fre1 dump and unxfail.

2011-10-27  Martin Jambor  <mjambor@suse.cz>

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

From-SVN: r180577

12 years agore PR target/50875 (O3 and -mavx lead to internal compiler error: in find_reloads)
Uros Bizjak [Thu, 27 Oct 2011 19:07:27 +0000 (21:07 +0200)]
re PR target/50875 (O3 and -mavx lead to internal compiler error: in find_reloads)

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.

From-SVN: r180576

12 years agoMakefile.in (build/gencheck.o): Depend on tree.def and c-family/c-common.def.
Jakub Jelinek [Thu, 27 Oct 2011 19:05:28 +0000 (21:05 +0200)]
Makefile.in (build/gencheck.o): Depend on tree.def and c-family/c-common.def.

* Makefile.in (build/gencheck.o): Depend on tree.def and
c-family/c-common.def.

From-SVN: r180575

12 years agotree-ssa-strlen.c: Include expr.h.
Jakub Jelinek [Thu, 27 Oct 2011 19:04:43 +0000 (21:04 +0200)]
tree-ssa-strlen.c: Include expr.h.

* 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).

From-SVN: r180574