platform/upstream/gcc.git
11 years agore PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)
Jakub Jelinek [Tue, 7 May 2013 10:30:13 +0000 (12:30 +0200)]
re PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)

PR tree-optimization/57149
* tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
(can_skip_redundant_opnd, compute_uninit_opnds_pos,
collect_phi_def_edges, execute_late_warn_uninitialized): Use
uninit_undefined_value_p instead of ssa_undefined_value_p.

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

From-SVN: r198671

11 years agore PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)
Jakub Jelinek [Tue, 7 May 2013 08:28:01 +0000 (10:28 +0200)]
re PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)

PR debug/57184
* expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
for modifier == EXPAND_INITIALIZER.

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

From-SVN: r198666

11 years agore PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based...
Eric Botcazou [Tue, 7 May 2013 07:59:37 +0000 (07:59 +0000)]
re PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based array)

PR ada/56474
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
int_const_binop to shift bounds by 1 when they are integer constants.

From-SVN: r198663

11 years agoconfigure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little...
Anton Blanchard [Tue, 7 May 2013 01:01:08 +0000 (01:01 +0000)]
configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little endian.

* configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation
for powerpc64 little endian.
* configure: Regenerate.

From-SVN: r198662

11 years agoDaily bump.
GCC Administrator [Tue, 7 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198661

11 years agoexpmed.c (init_expmed_rtl): Remove unused fields reg_fld...
Graham Stott [Mon, 6 May 2013 22:26:53 +0000 (22:26 +0000)]
expmed.c (init_expmed_rtl): Remove unused fields reg_fld...

2013-05-06  Graham Stott  <grahams@btinternet.com>

        * expmed.c (init_expmed_rtl): Remove unused fields reg_fld, plus_fld,
        mult_fld, sdiv_fld1, udiv_fld1, sdiv_32_fld1, smod_32_fld1,
        wide_mult_fld1, wide_lshr_fld1, shift_fld1, shift_mult_fld1,
        shift_add_fld1, shift_sub0_fld1, shift_sub1_fld1.

From-SVN: r198654

11 years ago013-05-06 Graham Stott <grahams@btinternet.com>
Graham Stott [Mon, 6 May 2013 22:08:56 +0000 (22:08 +0000)]
013-05-06  Graham Stott  <grahams@btinternet.com>

        * gensupport.c (add_predicate_code): Also exclude SCRATCH from rtx
        codes which allow non-lvalues.

From-SVN: r198653

11 years agotree.c (integer_all_onesp): Test that both components are all 1s.
Marc Glisse [Mon, 6 May 2013 21:14:59 +0000 (23:14 +0200)]
tree.c (integer_all_onesp): Test that both components are all 1s.

2013-05-06  Marc Glisse  <marc.glisse@inria.fr>

* tree.c (integer_all_onesp) <COMPLEX_CST>: Test that both
components are all 1s.
(integer_minus_onep): New function.
* tree.h (integer_minus_onep): Declare it.
* fold-const.c (fold_binary_loc) <MULT_EXPR>: Test
integer_minus_onep instead of integer_all_onesp.

From-SVN: r198649

11 years agotypeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.
Marc Glisse [Mon, 6 May 2013 21:11:24 +0000 (23:11 +0200)]
typeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.

2013-05-06  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
* typeck.c (cp_build_binary_op): Call save_expr before
build_vector_from_val.

gcc/testsuite/
* c-c++-common/vector-scalar-2.c: New testcase.

From-SVN: r198648

11 years agore PR target/52933 (SH Target: Use div0s for integer sign comparisons)
Oleg Endo [Mon, 6 May 2013 19:59:26 +0000 (19:59 +0000)]
re PR target/52933 (SH Target: Use div0s for integer sign comparisons)

PR target/52933
* config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add
variations of these patterns.

From-SVN: r198646

11 years agoi386.md (isa): Add x64_sse4 member.
Uros Bizjak [Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)]
i386.md (isa): Add x64_sse4 member.

* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets.  Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets.  Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.

From-SVN: r198643

11 years agore PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode...
Oleg Endo [Mon, 6 May 2013 19:49:57 +0000 (19:49 +0000)]
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)

PR target/57108
* config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.

From-SVN: r198642

11 years agoSupport {, } and | in assembly output
Maxim Kuznetsov [Mon, 6 May 2013 19:35:44 +0000 (19:35 +0000)]
Support {, } and | in assembly output

gcc/

2013-05-06  Maxim Kuznetsov  <maks.kuznetsov@gmail.com>

* final.c (do_assembler_dialects): Don't handle curly braces and
vertical bar escaped by % as dialect delimiters.
(output_asm_insn): Print curly braces and vertical bar if escaped
by % and ASSEMBLER_DIALECT defined.
* doc/tm.texi.in (ASSEMBLER_DIALECT): Document new standard escapes.
* doc/tm.texi: Regenerated.

gcc/testsuite/

2013-05-06  Maxim Kuznetsov  <maks.kuznetsov@gmail.com>

* gcc.target/i386/asm-dialect-2.c: New testcase.

From-SVN: r198641

11 years agomips.c: Include tree-pass.h.
Steven Bosscher [Mon, 6 May 2013 19:02:12 +0000 (19:02 +0000)]
mips.c: Include tree-pass.h.

* config/mips/mips.c: Include tree-pass.h.
(mips_reorg): Split in pre- and post-dbr_schedule parts.
(mips_machine_reorg2): Move mips_reorg post-dbr_schedule parts here.
(pass_mips_machine_reorg2): New machine specific pass.
(insert_pass_mips_machine_reorg2): New pass plugin definition.
(mips_option_override): Register the new pass.
* rtl.h (cleanup_barriers): Remove prototype.
(dbr_schedule): Likewise.
* jump.c (cleanup_barriers): Make static.
* reorg.c (dbr_schedule): Likewise.

From-SVN: r198640

11 years agore PR c++/57183 ([C++11] auto and -Wunused-variable)
Paolo Carlini [Mon, 6 May 2013 16:40:24 +0000 (16:40 +0000)]
re PR c++/57183 ([C++11] auto and -Wunused-variable)

/cp
2013-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57183
* decl.c (cp_finish_decl): After do_auto_deduction copy the
qualifers with cp_apply_type_quals_to_decl.

/testsuite
2013-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57183
* g++.dg/cpp0x/auto38.C: New.

From-SVN: r198636

11 years agoChangeLog: Add my last entry.
Uros Bizjak [Mon, 6 May 2013 16:22:21 +0000 (18:22 +0200)]
ChangeLog: Add my last entry.

* ChangeLog: Add my last entry.
* testsuite/ChangLog: Ditto.

From-SVN: r198634

11 years agohashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to...
David Edelsohn [Mon, 6 May 2013 15:40:54 +0000 (15:40 +0000)]
hashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to wordsize.

2013-05-06  David Edelsohn  <dje.gcc@gmail.com>
            Peter Bergner  <bergner@vnet.ibm.com>
            Segher Boessenkool  <segher@kernel.crashing.org>
            Jakub Jelinek  <jakub@redhat.com>

        * hashtab.c (hash_pointer): Remove conditional and avoid
        unexecuted shift equal to wordsize.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r198633

11 years agore PR libgcj/57074 (libgcj regression on 32bit Power architecture)
Jakub Jelinek [Mon, 6 May 2013 15:09:41 +0000 (17:09 +0200)]
re PR libgcj/57074 (libgcj regression on 32bit Power architecture)

PR libgcj/57074
* class.c (emit_symbol_table): Use array type of the
right size for the_syms_decl and its DECL_INITIAL, instead
of symbols_array_type.  Set TREE_TYPE (the_syms_decl) to it.
(emit_assertion_table): Use array type of the right size
for table_decl and its DECL_INITIAL.

From-SVN: r198631

11 years agore PR tree-optimization/57185 (ICE: Segmentation fault in add_field_for_reduction...
Richard Biener [Mon, 6 May 2013 15:06:41 +0000 (15:06 +0000)]
re PR tree-optimization/57185 (ICE: Segmentation fault in add_field_for_reduction with -ftree-parallelize-loops=2 -fipa-pta)

2013-05-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57185
* tree-parloops.c (add_field_for_reduction): Handle anonymous
SSA names properly.

* gcc.dg/autopar/pr57185.c: New testcase.

From-SVN: r198630

11 years agore PR target/57106 (-fcompare-debug failure with -O2 -fschedule-insns -funroll-all...
Uros Bizjak [Mon, 6 May 2013 14:53:03 +0000 (16:53 +0200)]
re PR target/57106 (-fcompare-debug failure with -O2 -fschedule-insns -funroll-all-loops)

PR target/57106
* config/i386/i386.c (add_parameter_dependencies): Add dependence
between "first_arg" and "insn", not "last" and "insn".

testsuite/ChangeLog:

PR target/57106
* gcc.target/i386/pr57106.c: New test.

From-SVN: r198629

11 years agogimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
William Schmidt [Mon, 6 May 2013 13:31:39 +0000 (13:31 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.

gcc:

2013-05-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
(find_candidates_in_block): Re-enable slsr_process_phi.
(create_phi_basis): Fix double counting of candidate adjustment.

gcc/testsuite:

2013-05-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: Re-enable.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.

From-SVN: r198627

11 years agore PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
Teresa Johnson [Mon, 6 May 2013 12:46:53 +0000 (12:46 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)

2013-05-03  Teresa Johnson  <tejohnson@google.com>

PR bootstrap/57154
* gcc.dg/pr57154.c: New test.

From-SVN: r198626

11 years agore PR middle-end/57147 (setjmp call and if body wrongly elided (function runs off...
Richard Biener [Mon, 6 May 2013 11:27:29 +0000 (11:27 +0000)]
re PR middle-end/57147 (setjmp call and if body wrongly elided (function runs off early end))

2013-05-06  Richard Biener  <rguenther@suse.de>

PR middle-end/57147
* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): If
the edge is also fallthru, preserve it and just clear the
abnormal flag.
* tree-cfgcleanup.c (remove_fallthru_edge): If the edge is
also complex, preserve that and just clear the fallthru flag.
* tree-inline.c (update_ssa_across_abnormal_edges): Also
update virtual operands.

* gcc.dg/torture/pr57147-1.c: New testcase.
* gcc.dg/torture/pr57147-2.c: Likewise.
* gcc.dg/torture/pr57147-3.c: Likewise.

From-SVN: r198625

11 years agofp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload.
Thomas Schwinge [Mon, 6 May 2013 08:23:02 +0000 (10:23 +0200)]
fp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload.

libgcc/
* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
NaN's payload.

From-SVN: r198622

11 years agofp-bit.h [FLOAT] (QUIET_NAN): Correct value.
Thomas Schwinge [Mon, 6 May 2013 08:22:48 +0000 (10:22 +0200)]
fp-bit.h [FLOAT] (QUIET_NAN): Correct value.

libgcc/
* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.

From-SVN: r198621

11 years agolinux.h (DEFAULT_ASM_ENDIAN): Define.
Alan Modra [Mon, 6 May 2013 02:57:43 +0000 (12:27 +0930)]
linux.h (DEFAULT_ASM_ENDIAN): Define.

* config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.

From-SVN: r198620

11 years agosysv4.h (ENDIAN_SELECT): Define, extracted from
Alan Modra [Mon, 6 May 2013 00:20:29 +0000 (09:50 +0930)]
sysv4.h (ENDIAN_SELECT): Define, extracted from

* config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
(ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
(DEFAULT_ASM_ENDIAN): Define.
(CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
Update -K PIC clause from sysv4.h.
(ASM_SPEC_COMMON): Use ENDIAN_SELECT.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.

From-SVN: r198619

11 years agors6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.
Alan Modra [Mon, 6 May 2013 00:19:07 +0000 (09:49 +0930)]
rs6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.

* config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
twice for little-endian.
(ashrdi3_no_power, ashrdi3): Support little-endian.

From-SVN: r198618

11 years agore PR target/55303 ([SH] Add support for clips / clipu instructions)
Oleg Endo [Mon, 6 May 2013 00:16:55 +0000 (00:16 +0000)]
re PR target/55303 ([SH] Add support for clips / clipu instructions)

PR target/55303
* config/sh/sh.c (sh_rtx_costs): Handle SMIN and SMAX cases.
* config/sh/sh.md (*clips, uminsi3, *clipu, clipu_one): New insns and
related expanders.
* config/sh/iterators.md (SMIN_SMAX): New code iterator.
* config/sh/predicates.md (arith_reg_or_0_or_1_operand,
clips_min_const_int, clips_max_const_int, clipu_max_const_int):
New predicates.

PR target/55303
* gcc.target/sh/pr55303-1.c: New.
* gcc.target/sh/pr55303-2.c: New.
* gcc.target/sh/pr55303-3.c: New.

From-SVN: r198617

11 years agoDaily bump.
GCC Administrator [Mon, 6 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198616

11 years agolibcaf.h (_gfortran_caf_critical): Add a prototype.
David Edelsohn [Sun, 5 May 2013 23:47:22 +0000 (23:47 +0000)]
libcaf.h (_gfortran_caf_critical): Add a prototype.

        * caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
        (_gfortran_caf_end_critical): Same.

From-SVN: r198613

11 years agoconfig.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
Steven Bosscher [Sun, 5 May 2013 20:47:24 +0000 (20:47 +0000)]
config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.

* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config/pa/pa.opt: Make mbig-switch a no-op.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH.
(CASE_VECTOR_MODE): Always return SImode.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code
for the !TARGET_BIG_SWITCH case.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-openbsd.h: Likewise.
* config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0.
* config/pa/pa.md (short_jump): Remove define_insn.
(casesi): Remove code for the !TARGET_BIG_SWITCH case.
(casesi0): Remove define_insn.
(type): Remove btable_branch.
(pa_combine_type): Likewise.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
(define_delay): Likewise.
(define_insn_reservation "Z3"): Likewise.
(define_insn_reservation "Z4"): Likewise.
* config/pa/pa.c  (pa_reorg): Remove code for !TARGET_BIG_SWITCH.
(pa_adjust_insn_length): Remove adjustment for btable branches.
* doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch
and mno-big-switch

Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r198612

11 years agosse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex...
Uros Bizjak [Sun, 5 May 2013 17:25:50 +0000 (19:25 +0200)]
sse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.

* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
Add m->r,x alternatives.
(*vec_extract<ssevecmodelower>_0 splitters): Merge V2DI and V4SI
splitters using SWI48x mode iterator.
(*vec_extract_v2di_0_sse): Rename from *sse2_storeq.  Disable for
TARGET_64BIT.  Add m->x alternative.
(*vec_extractv4si_mem): Rename from *vec_ext_v4si_mem.
Add o->x alternative.  Enable for TARGET_SSE.
(sse_storeq): Remove expander.
(*vec_extractv2di_1): Enable for TARGET_SSE. Split alternatives
with memory input operand.
(*vec_extractv2di_1 splitter): New.
(*vec_extractv4sf_mem): Rename from *vec_extract_v4sf_mem.
* config/i386/i386.md (ssevecmodelower): New mode attribute.

From-SVN: r198611

11 years agoresolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.
Tobias Burnus [Sun, 5 May 2013 14:04:07 +0000 (16:04 +0200)]
resolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (conformable_arrays): Avoid segfault
        when ar.start[i] == NULL.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/allocate_with_source_3.f90: New.

From-SVN: r198610

11 years agore PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)
Tobias Burnus [Sun, 5 May 2013 14:01:38 +0000 (16:01 +0200)]
re PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57141
        * decl.c (gfc_match_null): Permit use-associated
        NULL intrinsic.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57141
        * gfortran.dg/null_8.f90: New.

From-SVN: r198609

11 years agopt.c (convert_nontype_argument): Add missing whitespace in error message.
Paolo Carlini [Sun, 5 May 2013 11:36:27 +0000 (11:36 +0000)]
pt.c (convert_nontype_argument): Add missing whitespace in error message.

2013-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_nontype_argument): Add missing whitespace in
error message.

From-SVN: r198608

11 years agore PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enume...
Paolo Carlini [Sun, 5 May 2013 00:27:46 +0000 (00:27 +0000)]
re PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enumerator initializer)

/cp
2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53745
* decl.c (build_enumerator): Improve error message.

/testsuite
2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53745
* g++.dg/cpp0x/enum27.C: New.
* g++.dg/cpp0x/enum_base.C: Adjust.

From-SVN: r198607

11 years agoDaily bump.
GCC Administrator [Sun, 5 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198606

11 years agoenviron.c: Include unistd.h.
David Edelsohn [Sat, 4 May 2013 21:23:11 +0000 (21:23 +0000)]
environ.c: Include unistd.h.

        * runtime/environ.c: Include unistd.h.
        * runtime/pause.c: Test HAVE_UNISTD_H.
        * runtime/stop.c: Same.
        * io/open.c: Same.
        * io/unix.c: Same.
        * io/read.c (si_max): Protect declaration of value.

From-SVN: r198603

11 years agors6000.c (INT_P): Reformat.
Segher Boessenkool [Sat, 4 May 2013 21:22:09 +0000 (23:22 +0200)]
rs6000.c (INT_P): Reformat.

        * config/rs6000/rs6000.c (INT_P): Reformat.  Delete obsolete comment.
        (INT_LOWPART): Delete.
        (extract_MB): Adjust.
        (extract_ME): Adjust.
        (print_operand): Adjust.

From-SVN: r198602

11 years agopredicates.md (reg_or_add_cint_operand, [...]): Delete "HOST_BITS_PER_WIDE_INT =...
Segher Boessenkool [Sat, 4 May 2013 21:19:08 +0000 (23:19 +0200)]
predicates.md (reg_or_add_cint_operand, [...]): Delete "HOST_BITS_PER_WIDE_INT == 32" case.

       * config/rs6000/predicates.md (reg_or_add_cint_operand,
       reg_or_sub_cint_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
       (reg_or_logical_cint_operand, easy_fp_constant,
       logical_const_operand): Delete "CONST_DOUBLE" case.
       * config/rs6000/rs6000.c (num_insns_constant_wide): Delete
       "HOST_BITS_PER_WIDE_INT == 64" test.
       (num_insns_constant): Ditto.  Delete CONST_DOUBLE DImode/VOIDmode
       case.
       (build_mask64_2_operands): Delete "HOST_BITS_PER_WIDE_INT >= 64" test.
       (rs6000_emit_set_const): Delete CONST_DOUBLE case.
       (rs6000_emit_set_long_const): Delete "HOST_BITS_PER_WIDE_INT >= 64"
       test.
       (includes_rldic_lshift_p, includes_rldicr_lshift_p): Delete
       CONST_DOUBLE DImode/VOIDmode case.
       (INT_P, INT_LOWPART): Delete CONST_DOUBLE case.
       (print_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.  Delete
       CONST_DOUBLE VOIDmode case.
       (output_toc): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
       (rs6000_rtx_costs): Delete CONST_DOUBLE DImode/VOIDmode case.
       * config/rs6000/rs6000.md (iordi3, xordi3, splitter for these):
       Delete CONST_DOUBLE case.
       (splitters for mov FMOVE64 const_double): Delete
       "HOST_BITS_PER_WIDE_INT == 32" case.  Delete
       "HOST_BITS_PER_WIDE_INT >= 64" test.
       (splitter for mov DI const_int): Delete "HOST_BITS_PER_WIDE_INT == 32"
       case.
       (mov DI const_double): Delete.

From-SVN: r198601

11 years agore PR tree-optimization/56205 (stdarg pass confused by jump threading)
Jakub Jelinek [Sat, 4 May 2013 18:23:46 +0000 (20:23 +0200)]
re PR tree-optimization/56205 (stdarg pass confused by jump threading)

PR tree-optimization/56205
* gcc.dg/tree-ssa/stdarg-6.c: Add cleanup-tree-dump "stdarg".

From-SVN: r198599

11 years agodecl.c (gfc_verify_c_interop_param): Permit allocatable and pointer with -std=f2008ts.
Tobias Burnus [Sat, 4 May 2013 17:49:31 +0000 (19:49 +0200)]
decl.c (gfc_verify_c_interop_param): Permit allocatable and pointer with -std=f2008ts.

2013-05-04  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_verify_c_interop_param): Permit allocatable
        and pointer with -std=f2008ts.

2013-05-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bind_c_array_params.f03: Update dg-error.
        * gfortran.dg/bind_c_usage_27.f90: New.
        * gfortran.dg/bind_c_usage_28.f90: New.

From-SVN: r198597

11 years agoinclhack.def (aix_null): New.
David Edelsohn [Sat, 4 May 2013 14:49:59 +0000 (10:49 -0400)]
inclhack.def (aix_null): New.

        * inclhack.def (aix_null): New.
        (void_null): Update replacement definition of NULL.
        * fixincl.x: Regenerate.
        * tests/base/curses.h: Update for new fix.

From-SVN: r198596

11 years agocombine.c (combine_simplify_rtx): If nonzero_bits on op shows all bits zero in mode...
Jakub Jelinek [Sat, 4 May 2013 12:41:52 +0000 (14:41 +0200)]
combine.c (combine_simplify_rtx): If nonzero_bits on op shows all bits zero in mode of a lowpart subreg, return zero.

* combine.c (combine_simplify_rtx) <case SUBREG>: If nonzero_bits
on op shows all bits zero in mode of a lowpart subreg, return zero.

From-SVN: r198595

11 years agore PR c++/51927 ([C++0x] Cannot access non-static members in initializer)
Paolo Carlini [Sat, 4 May 2013 12:32:05 +0000 (12:32 +0000)]
re PR c++/51927 ([C++0x] Cannot access non-static members in initializer)

2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51927
* g++.dg/cpp0x/lambda/lambda-nsdmi4.C: New.

From-SVN: r198594

11 years agore PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)
Michael Meissner [Sat, 4 May 2013 05:38:47 +0000 (05:38 +0000)]
re PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)

[gcc]
2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57150
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
to save TFmode registers and DImode to save TImode registers for
caller save operations.
(HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
mark being partially clobbered since they only use the first
double word.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
and TDmode only use the upper 64-bits of each VSX register.

[gcc/testsuite]
2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57150
* gcc.target/powerpc/pr57150.c: New file.

From-SVN: r198593

11 years agogimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
Bill Schmidt [Sat, 4 May 2013 04:57:32 +0000 (04:57 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.

gcc:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
(find_candidates_in_block): Disable slsr_process_phi.

gcc/testsuite:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: Skip test for now.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.

From-SVN: r198592

11 years agocoverage.c (coverage_obj_init): Move the construction of gcov constructor to
Guozhi Wei [Sat, 4 May 2013 01:26:52 +0000 (01:26 +0000)]
coverage.c (coverage_obj_init): Move the construction of gcov constructor to

* coverage.c (coverage_obj_init): Move the construction of gcov
constructor to
(build_init_ctor): here.

From-SVN: r198591

11 years agoDaily bump.
GCC Administrator [Sat, 4 May 2013 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198590

11 years agoRemove "\\" from scan-assembler-times
Dominique d'Humieres [Fri, 3 May 2013 20:08:19 +0000 (22:08 +0200)]
Remove "\\" from scan-assembler-times

2013-05-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
p
* gcc.target/i386/sse2-init-v2di-2.c: Remove "\\" from
scan-assembler-times.

From-SVN: r198587

11 years agogimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
Bill Schmidt [Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)]
gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.

gcc:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
(slsr_cand_d): Redefine def_phi.
(stride_status, phi_adjust_status, count_phis_status): New enums.
(find_phi_def): New.
(find_basis_for_base_expr): New.
(find_basis_for_candidate): Handle hidden bases.
(alloc_cand_and_find_basis): Handle phi candidates.
(slsr_process_phi): New.
(create_mul_ssa_cand): Exclude phi base candidates; use integer_onep.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Exclude phi base candidates.
(create_add_imm_cand): Likewise.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(find_candidates_in_block): Handle phi candidates.
(dump_candidate): Likewise.
(unconditional_cands): Delete.
(unconditional_cands_with_known_stride_p): Delete.
(phi_dependent_cand_p): New.
(cand_increment): Handle phi-dependent candidates.
(replace_dependent): Delete.
(replace_mult_candidate): New.
(replace_unconditional_candidate): New.
(incr_vec_index): Move to avoid forward reference.
(create_add_on_incoming_edge): New.
(create_phi_basis): New.
(replace_dependents): Delete.
(replace_conditional_candidate): New.
(phi_add_costs): New.
(replace_uncond_cands_and_profitable_phis): New.
(record_increment): Handle phi adjustments.
(record_phi_increments): New.
(record_increments): Handle phi adjustments.
(phi_incr_cost): New.
(lowest_cost_path): Handle phis.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_with_phi): New.
(ncd_of_cand_and_phis): New.
(nearest_common_dominator_for_cands): Handle phi increments.
(all_phi_incrs_profitable): New.
(replace_profitable_candidates): Handle phi-dependent candidates.
(analyze_candidates_and_replace): Likewise.

gcc/testsuite:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: New.
* gcc.dg/tree-ssa/slsr-33.c: New.
* gcc.dg/tree-ssa/slsr-34.c: New.
* gcc.dg/tree-ssa/slsr-35.c: New.
* gcc.dg/tree-ssa/slsr-36.c: New.
* gcc.dg/tree-ssa/slsr-37.c: New.
* gcc.dg/tree-ssa/slsr-38.c: New.

From-SVN: r198586

11 years agoAArch64 test cases for TST instruction
Ian Bolton [Fri, 3 May 2013 18:30:00 +0000 (18:30 +0000)]
AArch64 test cases for TST instruction

From-SVN: r198585

11 years agore PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
Teresa Johnson [Fri, 3 May 2013 16:48:24 +0000 (16:48 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)

2013-05-03  Teresa Johnson  <tejohnson@google.com>

PR bootstrap/57154
* sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities
do not exceed REG_BR_PROB_BASE.

From-SVN: r198584

11 years agoFix typos in ChangeLog entries
Jeff Law [Fri, 3 May 2013 16:47:21 +0000 (10:47 -0600)]
Fix typos in ChangeLog entries

From-SVN: r198583

11 years agore PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does...
Jeff Law [Fri, 3 May 2013 16:35:04 +0000 (10:35 -0600)]
re PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize)

PR tree-optimization/57411
* tree-vrp.c (simplify_cond_using_ranges): Verify the constant
operand of the condition will bit into the new type when eliminating
a cast feeding a condition.

PR tree-optimization/57411
* gcc.c-torture/execute/pr57144.c: New test.

From-SVN: r198582

11 years agore PR rtl-optimization/57130 (Incorrect "and --> extract" conversion in combine)
Jakub Jelinek [Fri, 3 May 2013 12:56:12 +0000 (14:56 +0200)]
re PR rtl-optimization/57130 (Incorrect "and --> extract" conversion in combine)

PR rtl-optimization/57130
* combine.c (make_compound_operation) <case SUBREG>: Pass
SET instead of COMPARE as in_code to the recursive call
if needed.

* gcc.c-torture/execute/pr57130.c: New test.

From-SVN: r198579

11 years agoi386.md (isa): Add x64_sse4_noavx and x64_avx members.
Uros Bizjak [Fri, 3 May 2013 12:03:29 +0000 (14:03 +0200)]
i386.md (isa): Add x64_sse4_noavx and x64_avx members.

* config/i386/i386.md (isa): Add x64_sse4_noavx and x64_avx members.
(enabled): Handle new members.
* config/i386/sse.md (*vec_concatv2si): Merge from
*vec_concatv2si_sse2 and vec_concatv2si_sse.
(vec_concatv2di): Merge with *vec_concatv2di_rex64.

testsuite/ChangeLog:

* gcc.target/i386/sse2-init-v2di-2.c: Update scan assembler string.

From-SVN: r198578

11 years agore PR tree-optimization/57027 (ICE in gimple_assign_rhs_code, at gimple.h:2022)
Joern Rennecke [Fri, 3 May 2013 11:18:37 +0000 (11:18 +0000)]
re PR tree-optimization/57027 (ICE in gimple_assign_rhs_code, at gimple.h:2022)

2013-05-03  Joern Rennecke <joern.rennecke@embecosm.com>

        PR tree-optimization/57027
        * tree-ssa-math-opts.c (convert_mult_to_fma): When checking for
        fnms opportunity, check we got the prerequisite kind of tree / gimple
        before using accessor functions.

From-SVN: r198577

11 years agodouble-int.h (lshift): New overload without precision and arith argument.
Richard Biener [Fri, 3 May 2013 11:09:59 +0000 (11:09 +0000)]
double-int.h (lshift): New overload without precision and arith argument.

2013-05-03  Richard Biener  <rguenther@suse.de>

* double-int.h (lshift): New overload without precision
and arith argument.
(operator *=, operator +=, operator -=): Move ...
* double-int.c (operator *=, operator +=, operator -=): ... here
and implement more efficiently.
(mul_double_with_sign): Remove.
(lshift_double): Adjust to take unsinged shift argument, push
dispatching code to callers.
(mul_double_wide_with_sign): Add early out for callers that
are not interested in high parts or overflow.
(lshift): New function.
(lshift, rshift, alshift, arshift, llshift, lrshift): Add
dispatch code here.
(lrotate, rrotate): Use logical shifts.
* expr.c (get_inner_reference): Use lshift.
* fixed-value.c (do_fixed_divide): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.

From-SVN: r198576

11 years ago[AArch64] Correct simd_fabd comment text.
Vidya Praveen [Fri, 3 May 2013 10:21:16 +0000 (11:21 +0100)]
[AArch64] Correct simd_fabd comment text.

From-SVN: r198575

11 years ago[AArch64] Support scalar FABD
Vidya Praveen [Fri, 3 May 2013 10:17:57 +0000 (11:17 +0100)]
[AArch64] Support scalar FABD

gcc/ChangeLog

2013-05-02  Vidya Praveen  <vidyapraveen@arm.com>

        * config/aarch64/aarch64-simd.md (*fabd_scalar<mode>3): Support
          scalar form of FABD instruction.

gcc/testsuite/ChangeLog

2013-05-02  Vidya Praveen <vidyapraveen@arm.com>

        * gcc.target/aarch64/fabd.c: New file.

From-SVN: r198574

11 years agore PR c++/54318 ([C++11] Bogus "template instantiation depth exceeds maximum" error...
Paolo Carlini [Fri, 3 May 2013 09:35:42 +0000 (09:35 +0000)]
re PR c++/54318 ([C++11] Bogus "template instantiation depth exceeds maximum" error + segfault)

2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54318
* g++.dg/cpp0x/pr54318.C: New.

From-SVN: r198573

11 years agore PR c++/14283 (Diagnostic for invalid template-id could be improved)
Paolo Carlini [Fri, 3 May 2013 09:02:15 +0000 (09:02 +0000)]
re PR c++/14283 (Diagnostic for invalid template-id could be improved)

/cp
2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/14283
* parser.c (cp_parser_diagnose_invalid_type_name): Improve error
messages for template types and fix column numbers.

/testsuite
2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/14283
* g++.dg/parse/error51.C: New.
* g++.dg/parse/error15.C: Adjust column numbers.

From-SVN: r198572

11 years agoDaily bump.
GCC Administrator [Fri, 3 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198568

11 years agoAdd ChangeLog entry for r197770 (in boehm-gc).
Yvan Roux [Thu, 2 May 2013 19:48:45 +0000 (21:48 +0200)]
Add ChangeLog entry for r197770 (in boehm-gc).

From-SVN: r198562

11 years agolra-constraints.c (process_alt_operands): Add checking alt number to choose the best...
Vladimir Makarov [Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)]
lra-constraints.c (process_alt_operands): Add checking alt number to choose the best alternative.

2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.

From-SVN: r198558

11 years agotree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts bitmap and its handling.
Richard Biener [Thu, 2 May 2013 17:24:26 +0000 (17:24 +0000)]
tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts bitmap and its handling.

* tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts
bitmap and its handling.
(pass_cleanup_eh): Set todo_flags_finish to TODO_verify_ssa.

From-SVN: r198552

11 years agore PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)
Tobias Burnus [Thu, 2 May 2013 16:29:14 +0000 (18:29 +0200)]
re PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)

2013-05-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57142
        * simplify.c (gfc_simplify_size): Renamed from
        simplify_size; fix kind=8 handling.
        (gfc_simplify_size): New function.
        (gfc_simplify_shape): Add range check.
        * resolve.c (resolve_function): Fix handling
        for ISYM_SIZE.

2013-05-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57142
        * gfortran.dg/size_kind_2.f90: New.
        * gfortran.dg/size_kind_3.f90: New.

From-SVN: r198549

11 years agore PR middle-end/57140 (Segmentation fault in backtrace_dwarf_add)
Richard Biener [Thu, 2 May 2013 15:46:12 +0000 (15:46 +0000)]
re PR middle-end/57140 (Segmentation fault in backtrace_dwarf_add)

2013-05-02  Richard Biener  <rguenther@suse.de>

PR middle-end/57140
* tree-inline.c (copy_loops): Properly handle removed loops.
(copy_cfg_body): Mark destination loops for fixup if source
loops needed fixup.

* g++.dg/torture/pr57140.C: New testcase.

From-SVN: r198548

11 years agore PR rtl-optimization/56732 (ICE in advance_target_bb)
Greta Yorsh [Thu, 2 May 2013 15:45:10 +0000 (16:45 +0100)]
re PR rtl-optimization/56732 (ICE in advance_target_bb)

gcc/ChangeLog

2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

PR target/56732
* config/arm/arm.c (arm_expand_epilogue): Check really_return before
generating simple_return for naked functions.

gcc/testsuite/ChangeLog

2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

PR target/56732
* gcc.target/arm/pr56732-1.c: New test.

From-SVN: r198547

11 years agore PR middle-end/56988 (ipa-cp incorrectly propagates a field of an aggregate)
Martin Jambor [Thu, 2 May 2013 14:03:02 +0000 (16:03 +0200)]
re PR middle-end/56988 (ipa-cp incorrectly propagates a field of an aggregate)

2013-05-02  Martin Jambor  <mjambor@suse.cz>

PR middle-end/56988
* ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also check that by_ref
flags match.
(find_aggregate_values_for_callers_subset): Fill in the by_ref flag of
ipa_agg_replacement_value structures.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
(read_agg_replacement_chain): Likewise.
(ipcp_transform_function): Also check that by_ref flags match.

testsuite/
* gcc.dg/ipa/pr56988.c: New test.

From-SVN: r198540

11 years agographds.h (struct graph): Add obstack member.
Richard Biener [Thu, 2 May 2013 13:59:38 +0000 (13:59 +0000)]
graphds.h (struct graph): Add obstack member.

2013-05-02  Richard Biener  <rguenther@suse.de>

* graphds.h (struct graph): Add obstack member.
* graphds.c (new_graph): Initialize obstack and allocate
vertices from it.
(add_edge): Allocate edge from the obstack.
(free_graph): Free the obstack instead of all edges and
vertices.

From-SVN: r198539

11 years agoFollow-on patch to r197595 to complete the replacement of truncating divides in...
Teresa Johnson [Thu, 2 May 2013 13:20:47 +0000 (13:20 +0000)]
Follow-on patch to r197595 to complete the replacement of truncating divides in...

Follow-on patch to r197595 to complete the replacement of truncating divides
in profile scaling code with rounding divide equivalents using helper routines
in basic-block.h.

In addition to bootstrap and profiledbootstrap builds and tests (with and
without LTO), I built and tested performance of the SPEC cpu2006 benchmarks
with FDO on a Nehalem system. I didn't see any performance changes that
looked significant.

2013-05-02  Teresa Johnson  <tejohnson@google.com>

* loop-unswitch.c (unswitch_loop): Use helper routines with rounding
        divides.
* cfg.c (update_bb_profile_for_threading): Ditto.
* tree-inline.c (copy_bb): Ditto.
(copy_edges_for_bb): Ditto.
(initialize_cfun): Ditto.
(copy_cfg_body): Ditto.
(expand_call_inline): Ditto.
* ipa-inline-analysis.c (estimate_edge_size_and_time): Ditto.
(estimate_node_size_and_time): Ditto.
(inline_merge_summary): Ditto.
* cgraphclones.c (cgraph_clone_edge): Ditto.
(cgraph_clone_node): Ditto.
* sched-rgn.c (compute_dom_prob_ps): Ditto.
(compute_trg_info): Ditto.

From-SVN: r198532

11 years agoAArch64 fix for LDR/STR from/to S and D regs
Ian Bolton [Thu, 2 May 2013 12:54:16 +0000 (12:54 +0000)]
AArch64 fix for LDR/STR from/to S and D regs

From-SVN: r198527

11 years agoAArch64 Support for BICS in the backend
Ian Bolton [Thu, 2 May 2013 12:52:22 +0000 (12:52 +0000)]
AArch64 Support for BICS in the backend

From-SVN: r198526

11 years agotree-scalar-evolution.c (scev_info_hasher): Remove.
Richard Biener [Thu, 2 May 2013 12:23:20 +0000 (12:23 +0000)]
tree-scalar-evolution.c (scev_info_hasher): Remove.

2013-05-02  Richard Biener  <rguenther@suse.de>

* tree-scalar-evolution.c (scev_info_hasher): Remove.
(struct instantiate_cache_entry): New type.
(struct instantiate_cache_entry_hasher): New hashtable descriptor.
(struct instantiate_cache_type): New type.
(set_instantiated_value, get_instantiated_value): Remove.
(get_instantiated_value_entry): New function.
(instantiate_scev_name): Use the new cache and adjust.
(instantiate_scev_poly): Adjust.
(instantiate_scev_binary): Likewise.
(instantiate_array_ref): Likewise.
(instantiate_scev_convert): Likewise.
(instantiate_scev_not): Likewise.
(instantiate_scev_3): Likewise.
(instantiate_scev_2): Likewise.
(instantiate_scev_r): Likewise.
(instantiate_scev): Likewise.
(resolve_mixers): Likewise.

From-SVN: r198523

11 years agoconstexpr_data.cc: Move...
Paolo Carlini [Thu, 2 May 2013 12:03:30 +0000 (12:03 +0000)]
constexpr_data.cc: Move...

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.

From-SVN: r198521

11 years agoMove libitm ChangeLog entry to the right ChangeLog file.
Jakub Jelinek [Thu, 2 May 2013 11:32:11 +0000 (13:32 +0200)]
Move libitm ChangeLog entry to the right ChangeLog file.

From-SVN: r198519

11 years agotype_traits (is_null_pointer): Add.
Paolo Carlini [Thu, 2 May 2013 11:00:26 +0000 (11:00 +0000)]
type_traits (is_null_pointer): Add.

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r198516

11 years agocstdio: Add comment about LWG 2249.
Paolo Carlini [Thu, 2 May 2013 09:48:07 +0000 (09:48 +0000)]
cstdio: Add comment about LWG 2249.

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.

From-SVN: r198512

11 years agore PR rtl-optimization/57131 (Wrong register assignment?)
Jakub Jelinek [Thu, 2 May 2013 06:00:46 +0000 (08:00 +0200)]
re PR rtl-optimization/57131 (Wrong register assignment?)

PR rtl-optimization/57131
* gcc.c-torture/execute/pr57131.c: New test.

From-SVN: r198511

11 years agoDaily bump.
GCC Administrator [Thu, 2 May 2013 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198510

11 years agore PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in if (m) res...
Paolo Carlini [Wed, 1 May 2013 19:19:44 +0000 (19:19 +0000)]
re PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in  if (m) res %=m;)

/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* pt.c (tsubst_copy_and_build, MODOP_EXPR): Increase / decrease
c_inhibit_evaluation_warnings around build_x_modify_expr call.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* g++.dg/warn/Wdiv-by-zero-bogus-2.C: New.

From-SVN: r198504

11 years agore PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel...
Vladimir Makarov [Wed, 1 May 2013 18:54:17 +0000 (18:54 +0000)]
re PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel=large and indirect call)

2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* lra-constraints.c (best_small_class_operands_num): Remove.
(process_alt_operands): Remove small_class_operands_num.  Take
small classes operands into losers and only if the operand is not
matched.  Modify debugging output.
(curr_insn_transform): Remove best_small_class_operands_num.
Print insn name.

2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* gcc.target/i386/pr57091.c: New test.

From-SVN: r198503

11 years ago[AArch64] Refactor reduc_<su>plus patterns.
James Greenhalgh [Wed, 1 May 2013 15:37:52 +0000 (15:37 +0000)]
[AArch64] Refactor reduc_<su>plus patterns.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
* config/aarch64/aarch64-simd-builtins.def
(reduc_splus_): Add new modes.
(reduc_uplus_): New.
* config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
(reduc_uplus_v4sf): Likewise.
(reduc_splus_v4sf): Likewise.
(aarch64_addv<mode>): Likewise.
(reduc_uplus_<mode>): Likewise.
(reduc_splus_<mode>): Likewise.
(aarch64_addvv2di): Likewise.
(reduc_uplus_v2di): Likewise.
(reduc_splus_v2di): Likewise.
(aarch64_addvv2si): Likewise.
(reduc_uplus_v2si): Likewise.
(reduc_splus_v2si): Likewise.
(reduc_<sur>plus_<mode>): New.
(reduc_<sur>plus_v2di): Likewise.
(reduc_<sur>plus_v2si): Likewise.
(reduc_<sur>plus_v4sf): Likewise.
(aarch64_addpv4sf): Likewise.
* config/aarch64/arm_neon.h
(vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
* config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
add UNSPEC_SADDV, UNSPEC_UADDV.
(SUADDV): New.
(sur): Add UNSPEC_SADDV, UNSPEC_UADDV.

gcc/testsuite/
* gcc.target/aarch64/vect-vaddv.c: New.

From-SVN: r198500

11 years ago[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.
James Greenhalgh [Wed, 1 May 2013 15:33:34 +0000 (15:33 +0000)]
[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.

gcc/
* config/aarch64/arm_neon.h
(v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.

gcc/testsuite/
* gcc.target/aarch64/vect-vmaxv.c: New.
* gcc.target/aarch64/vect-vfmaxv.c: Likewise.

From-SVN: r198499

11 years ago[AArch64] Fold max and min reduction builtins to tree.
James Greenhalgh [Wed, 1 May 2013 15:18:18 +0000 (15:18 +0000)]
[AArch64] Fold max and min reduction builtins to tree.

gcc/
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.

From-SVN: r198498

11 years ago[AArch64] Refactor vector max and min RTL and builtins.
James Greenhalgh [Wed, 1 May 2013 15:16:14 +0000 (15:16 +0000)]
[AArch64] Refactor vector max and min RTL and builtins.

gcc/
* config/aarch64/aarch64-simd-builtins.def
(reduc_smax_): New.
(reduc_smin_): Likewise.
(reduc_umax_): Likewise.
(reduc_umin_): Likewise.
(reduc_smax_nan_): Likewise.
(reduc_smin_nan_): Likewise.
(fmax): Remove.
(fmin): Likewise.
(smax): Update for V2SF, V4SF and V2DF modes.
(smin): Likewise.
(smax_nan): New.
(smin_nan): Likewise.
* config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
(<su><maxmin><mode>3): ...This, refactor.
(s<maxmin><mode>3): New.
(<maxmin_uns><mode>3): Likewise.
(reduc_<maxmin_uns>_<mode>): Refactor.
(reduc_<maxmin_uns>_v4sf): Likewise.
(reduc_<maxmin_uns>_v2si): Likewise.
(aarch64_<fmaxmin><mode>: Remove.
* config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
new builtin names.
(vmin<q>_f<32,64>): Likewise.
* config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): New.
(su): Add mappings for smax, smin, umax, umin.
(maxmin): New.
(FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): Rename as...
(FMAXMIN_UNS): ...This.
(maxminv): Remove.
(fmaxminv): Likewise.
(fmaxmin): Likewise.
(maxmin_uns): New.
(maxmin_uns_op): Likewise.

From-SVN: r198497

11 years ago[AArch64] Add testcases for FAC, FCM changes.
James Greenhalgh [Wed, 1 May 2013 10:52:13 +0000 (10:52 +0000)]
[AArch64] Add testcases for FAC, FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar-vca.c: New.
* gcc.target/aarch64/vect-vca.c: Likewise.

From-SVN: r198496

11 years ago[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.
James Greenhalgh [Wed, 1 May 2013 10:49:31 +0000 (10:49 +0000)]
[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.

gcc/
* config/aarch64/arm_neon.h
(vac<ge, gt><sd>_f<32, 64>): Rename to...
(vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
(vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.

From-SVN: r198495

11 years ago[AArch64] Add combiner patterns for FAC instructions
James Greenhalgh [Wed, 1 May 2013 10:46:00 +0000 (10:46 +0000)]
[AArch64] Add combiner patterns for FAC instructions

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
* config/aarch64/iterators.md (FAC_COMPARISONS): New.

From-SVN: r198494

11 years ago[AArch64 Testsuite] Fix fallout from FCM changes.
James Greenhalgh [Wed, 1 May 2013 10:43:02 +0000 (10:43 +0000)]
[AArch64 Testsuite] Fix fallout from FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar_intrinsics.c (force_simd): New.
(test_vceqd_s64): Force arguments to SIMD registers.
(test_vceqzd_s64): Likewise.
(test_vcged_s64): Likewise.
(test_vcled_s64): Likewise.
(test_vcgezd_s64): Likewise.
(test_vcged_u64): Likewise.
(test_vcgtd_s64): Likewise.
(test_vcltd_s64): Likewise.
(test_vcgtzd_s64): Likewise.
(test_vcgtd_u64): Likewise.
(test_vclezd_s64): Likewise.
(test_vcltzd_s64): Likewise.
(test_vtst_s64): Likewise.
(test_vtst_u64): Likewise.

From-SVN: r198493

11 years ago[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.
James Greenhalgh [Wed, 1 May 2013 10:40:23 +0000 (10:40 +0000)]
[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.

gcc/
* config/aarch64/aarch64-simd.md
(vcond<mode>_internal): Handle special cases for constant masks.
(vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
(vcondu<mode><mode>): Likewise.
(vcond<v_cmp_result><mode>): New.

From-SVN: r198492

11 years ago[AArch64] Remap neon vcmp functions to C/TREE
James Greenhalgh [Wed, 1 May 2013 10:37:28 +0000 (10:37 +0000)]
[AArch64] Remap neon vcmp functions to C/TREE

gcc/
* config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
(aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
* config/aarch64/aarch64-simd-builtins.def
(cmeq): Update to BUILTIN_VALLDI.
(cmgt): Likewise.
(cmge): Likewise.
(cmle): Likewise.
(cmlt): Likewise.
* config/aarch64/arm_neon.h
(vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
to builtins or C as appropriate.

From-SVN: r198491

11 years ago[AArch64] Improve description of <F>CM instructions in RTL
James Greenhalgh [Wed, 1 May 2013 10:33:57 +0000 (10:33 +0000)]
[AArch64] Improve description of <F>CM instructions in RTL

gcc/
* config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
(cmgeu): ...This.
(cmhi): Rename to...
(cmgtu): ...This.
* config/aarch64/aarch64-simd.md
(simd_mode): Add SF.
(aarch64_vcond_internal): Use new names for unsigned comparison insns.
(aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
* config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
(cstore<mode>_neg): ...This.
* config/aarch64/iterators.md
(VALLF): new.
(unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
(COMPARISONS): New.
(UCOMPARISONS): Likewise.
(optab): Add missing comparisons.
(n_optab): New.
(cmp_1): Likewise.
(cmp_2): Likewise.
(CMP): Likewise.
(cmp): Remove.
(VCMP_S): Likewise.
(VCMP_U): Likewise.
(V_cmp_result): Add DF, SF modes.
(v_cmp_result): Likewise.
(v): Likewise.
(vmtype): Likewise.
* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.

From-SVN: r198490

11 years agothumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split.
Greta Yorsh [Wed, 1 May 2013 10:25:28 +0000 (11:25 +0100)]
thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split.

2013-05-01  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert
define_insn to define_insn_and_split.
(thumb32_umaxsi3,thumb2_uminsi3): Likewise.
(thumb2_negdi2,thumb2_abssi2,thumb2_neg_abssi2): Likewise.
(thumb2_mov_scc,thumb2_mov_negscc,thumb2_mov_notscc): Likewise.
(thumb2_movsicc_insn,thumb2_and_scc,thumb2_ior_scc): Likewise.
(thumb2_negscc): Likewise.

From-SVN: r198489

11 years agore PR c++/57092 (Using decltype of function pointer type to define a data member...
Paolo Carlini [Wed, 1 May 2013 09:21:30 +0000 (09:21 +0000)]
re PR c++/57092 (Using decltype of function pointer type to define a data member causes compiler crash)

/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* semantics.c (finish_decltype_type): Handle instantiated template
non-type arguments.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* g++.dg/cpp0x/decltype53.C: New.

From-SVN: r198487

11 years agofrontend-passes.c (optimize_power): Fix typo in comment.
Thomas Koenig [Wed, 1 May 2013 08:28:57 +0000 (08:28 +0000)]
frontend-passes.c (optimize_power): Fix typo in comment.

2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (optimize_power):  Fix typo
in comment.

From-SVN: r198486

11 years agoDaily bump.
GCC Administrator [Wed, 1 May 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198484