]> gcc.gnu.org Git - gcc.git/log
gcc.git
12 years agogcov-iov.c: Include bconfig.h and system.h.
Richard Guenther [Fri, 22 Jun 2012 10:12:46 +0000 (10:12 +0000)]
gcov-iov.c: Include bconfig.h and system.h.

2012-06-22  Richard Guenther  <rguenther@suse.de>

* gcov-iov.c: Include bconfig.h and system.h.

From-SVN: r188881

12 years ago* doc/include/texinfo.tex: Update to version 2012-06-05.14.
Andreas Schwab [Fri, 22 Jun 2012 09:22:47 +0000 (09:22 +0000)]
* doc/include/texinfo.tex: Update to version 2012-06-05.14.

From-SVN: r188880

12 years agore PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)
Richard Guenther [Fri, 22 Jun 2012 08:07:47 +0000 (08:07 +0000)]
re PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)

2012-06-22  Richard Guenther  <rguenther@suse.de>

PR gcov-profile/53744
* gcov-iov.c (main): Treat "" and "prerelease" the same.

From-SVN: r188876

12 years agoFix entry
Eric Botcazou [Fri, 22 Jun 2012 07:22:42 +0000 (07:22 +0000)]
Fix entry

From-SVN: r188875

12 years agore PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)
Eric Botcazou [Fri, 22 Jun 2012 07:18:50 +0000 (07:18 +0000)]
re PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)

PR debug/53704
* dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
for GNU Fortran if in strict DWARF2 mode.

From-SVN: r188874

12 years agotree-ssa-live.c (remove_unused_scope_block_p): Remove again DECL_IGNORED_P non-reg...
Eric Botcazou [Fri, 22 Jun 2012 06:41:09 +0000 (06:41 +0000)]
tree-ssa-live.c (remove_unused_scope_block_p): Remove again DECL_IGNORED_P non-reg vars even if they are used.

* tree-ssa-live.c (remove_unused_scope_block_p): Remove again
DECL_IGNORED_P non-reg vars even if they are used.

From-SVN: r188872

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:34:05 +0000 (01:34 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* var-tracking.c (vt_get_canonicalize_base): New.
(vt_canonicalize_addr, vt_stack_offset_p): New.
(vt_canon_true_dep): New.
(drop_overlapping_mem_locs): Use vt_canon_true_dep.
(clobber_overlaping_mems): Use vt_canonicalize_addr.

From-SVN: r188871

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:33:46 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* var-tracking.c (vt_initialize): Record initial offset between
arg pointer and stack pointer.

From-SVN: r188870

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:33:21 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* var-tracking.c (vt_init_cfa_base): Drop redundant recording of
CFA base.

From-SVN: r188869

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Fri, 22 Jun 2012 01:30:16 +0000 (01:30 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* alias.c (memrefs_conflict_p): Improve handling of AND for
alignment.

From-SVN: r188868

12 years ago* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
Alexandre Oliva [Fri, 22 Jun 2012 01:30:00 +0000 (01:30 +0000)]
* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.

From-SVN: r188867

12 years agore PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)
Alexandre Oliva [Fri, 22 Jun 2012 01:29:28 +0000 (01:29 +0000)]
re PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)

PR debug/53682
* cselib.c (promote_debug_loc): Don't crash on NULL argument.

From-SVN: r188866

12 years agoDaily bump.
GCC Administrator [Fri, 22 Jun 2012 00:19:04 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r188865

12 years agore PR c/53702 (ICE with -Wall and nested functions and unused typedef)
Meador Inge [Thu, 21 Jun 2012 20:20:30 +0000 (20:20 +0000)]
re PR c/53702 (ICE with -Wall and nested functions and unused typedef)

PR c/53702

* c-decl.c (c_push_function_context): Restore the behavior to reuse
the language function allocated for -Wunused-local-typedefs.
(c_pop_function_context): If necessary, clear the language function
created in c_push_function_context.  Always clear out the
x_cur_stmt_list field of the restored language function.

testsuite/
* gcc.dg/Wunused-local-typedefs.c: New testcase.

From-SVN: r188860

12 years agoMAINTAINERS (Write After Approval): Add myself.
Meador Inge [Thu, 21 Jun 2012 20:05:28 +0000 (20:05 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2012-06-21  Meador Inge  <meadori@codesourcery.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r188859

12 years agoPR 39654 FTELL intrinsic function return type.
Janne Blomqvist [Thu, 21 Jun 2012 18:47:01 +0000 (21:47 +0300)]
PR 39654 FTELL intrinsic function return type.

frontend ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/39654
* iresolve.c (gfc_resolve_ftell): Fix result kind and use new
library function.

library ChangeLog:

2012-06-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/39654
* io/intrinsics.c (ftell2): New function.
* gfortran.map (_gfortran_ftell2): Export function.

From-SVN: r188858

12 years agodwarf2out.c (is_cu_die, [...]): New functions.
Sterling Augustine [Thu, 21 Jun 2012 18:16:05 +0000 (18:16 +0000)]
dwarf2out.c (is_cu_die, [...]): New functions.

2012-06-21   Sterling Augustine  <saugustine@google.com>
        Cary Coutant  <ccoutant@google.com>

* dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
(comdat_type_struct): New field 'skeleton_die'.
(breakout_comdat_types): Update it.
(add_pubname): Rework logic.  Call is_class_die, is_cu_die and
is_namespace_die.  Fix minor style violation.  Call want_pubnames.
(add_pubname_string): Call want_pubnames.
(add_pubtype): Rework logic for calculating type name.  Call
is_namespace_die.  Call want_pubnames.
(output_pubnames): Move conditional logic deciding when to produce the
section from dwarf2out_finish.  Use new skeleton_die field.
(base_type_die): Call add_pubtype.
(gen_enumeration_type_die): Unconditionally call add_pubtype.
(gen_subprogram_die): Adjust calls to add_pubname.
(gen_namespace_die): Call add_pubname_string.
(dwarf2out_finish): Call add_AT_pubnames; Move logic on when to
produce pubnames and pubtypes sections to output_pubnames.
(common.opt): New option '-gpubnames'.
(invoke.texi): Document it.

Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r188857

12 years agoc-common.h (c_common_print_pch_checksum): Remove.
Steven Bosscher [Thu, 21 Jun 2012 16:53:45 +0000 (16:53 +0000)]
c-common.h (c_common_print_pch_checksum): Remove.

c-family/
* c-common.h (c_common_print_pch_checksum): Remove.
* c-pch.c: Do not include output.h.
(CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
(asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
(asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
(struct c_pch_header): Remove.
(get_ident): Update gpch version.
(pch_init): Do not print executable_checksum to asm_out_file.
Do not fail if there is no asm_out_file to read back from.  Set
asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
(c_common_write_pch): Verify that nothing was written to asm_out_file
since pch_init was called.  Do not write a c_pch_header, and do not
copy from asm_out_file to the PCH.
(c_common_read_pch): Do not read a c_pch_header, and do not restore
the content of asm_out_file from the PCH.
(c_common_print_pch_checksum): Remove.
* c-opts.c (c_common_init): Print out executable_checksum directly.

testsuite/
* testsuite/gcc.dg/pch/ident-1.c: New test.
* testsuite/gcc.dg/pch/ident-1.hs: Header file for new test.

From-SVN: r188856

12 years ago* config/m32c/m32c-pragma.c: Remove unnecessary includes.
Steven Bosscher [Thu, 21 Jun 2012 12:24:52 +0000 (12:24 +0000)]
* config/m32c/m32c-pragma.c: Remove unnecessary includes.

From-SVN: r188853

12 years agore PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)
Michael Matz [Thu, 21 Jun 2012 12:18:23 +0000 (12:18 +0000)]
re PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)

PR middle-end/53688
* builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF
with correct size.

testsuite/
* gcc.c-torture/execute/pr53688.c: New test.

From-SVN: r188852

12 years agotree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
Richard Guenther [Thu, 21 Jun 2012 09:24:53 +0000 (09:24 +0000)]
tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.

2012-06-21  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (estimate_num_insns): Estimate call cost for
tailcalls properly.

From-SVN: r188849

12 years agoDaily bump.
GCC Administrator [Thu, 21 Jun 2012 00:18:59 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188847

12 years agoi386.md (SINCOS): New int iterator.
Uros Bizjak [Wed, 20 Jun 2012 19:28:07 +0000 (21:28 +0200)]
i386.md (SINCOS): New int iterator.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (SINCOS): New int iterator.
(sincos): New int attribute.
(*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using
SINCOS int iterator.
(*<sincos>_extend<mode>xf2_i387): Macroize insn from
*{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (RDFSGSBASE): New int iterator.
(WRFSGSBASE): Ditto.
(fsgs): New int attribute.
(rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using
RDFSGSBASE int iterator.
(wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using
WRFSGSBASE int iterator.

From-SVN: r188843

12 years agoMakefile.tpl (check-target-libgomp-c++): New.
Jason Merrill [Wed, 20 Jun 2012 18:26:04 +0000 (14:26 -0400)]
Makefile.tpl (check-target-libgomp-c++): New.

* Makefile.tpl (check-target-libgomp-c++): New.
(check-target-libitm-c++): New.
* Makefile.def (c++): Add them.
* Makefile.in: Regenerate.

From-SVN: r188842

12 years agoAdd DECL_SOURCE_COLUMN.
Rüdiger Sonderfeld [Wed, 20 Jun 2012 18:03:10 +0000 (18:03 +0000)]
Add DECL_SOURCE_COLUMN.

I'm currently writing a plugin for GCC and I need to extract the
column of a declaration. There exists DECL_SOURCE_FILE/LINE already
and for consistency reasons and ease of use I've added a
DECL_SOURCE_COLUMN macro.

2012-06-20  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

* tree.h (DECL_SOURCE_COLUMN): New accessor

From-SVN: r188841

12 years agoi386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode...
Uros Bizjak [Wed, 20 Jun 2012 17:37:40 +0000 (19:37 +0200)]
i386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.

* config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.
(l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander
from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING
int iterator.

From-SVN: r188840

12 years ago* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.
Steven Bosscher [Wed, 20 Jun 2012 14:49:01 +0000 (14:49 +0000)]
* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.

From-SVN: r188838

12 years agoFix typo.
David Edelsohn [Wed, 20 Jun 2012 13:48:40 +0000 (09:48 -0400)]
Fix typo.

From-SVN: r188833

12 years agolocks.h (compare_and_swap): Use GCC atomic intrinsics.
David Edelsohn [Wed, 20 Jun 2012 13:02:56 +0000 (13:02 +0000)]
locks.h (compare_and_swap): Use GCC atomic intrinsics.

2012-06-20  David Edelsohn  <dje.gcc@gmail.com>
            Alan Modra  <amodra@gmail.com>

        * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
        intrinsics.
        (release_set): Same.
        (compare_and_swap_release): Same.
        (read_barrier): Same.
        (write_barrier): Same.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r188829

12 years agore PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
Richard Guenther [Wed, 20 Jun 2012 12:00:20 +0000 (12:00 +0000)]
re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)

2012-06-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30318
* tree-vrp.c (range_int_cst_p): Do not reject overflowed
constants here.
(range_int_cst_singleton_p): But explicitely here.
(zero_nonzero_bits_from_vr): And here.
(extract_range_from_binary_expr_1): Re-implement PLUS_EXPR
to cover all cases we can perform arbitrary precision
arithmetic with double-ints.
(intersect_ranges): Handle adjacent anti-ranges.

* gcc.dg/tree-ssa/vrp69.c: New testcase.

From-SVN: r188827

12 years ago* g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.
Richard Earnshaw [Wed, 20 Jun 2012 10:56:19 +0000 (10:56 +0000)]
* g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.

From-SVN: r188826

12 years agoi386.md (rounding_insn): New int attribute.
Uros Bizjak [Wed, 20 Jun 2012 10:25:17 +0000 (12:25 +0200)]
i386.md (rounding_insn): New int attribute.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (rounding_insn): New int attribute.
(<rounding_insn>xf2): Macroize insn from
{floor,ceil,btrunc}xf2 using FRNDINT_ROUNDING int iterator.
(l<rounding_insn>xf<mode>2): Rename from l<rounding>xf<mode>2.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (IEEE_MAXMIN): New int iterator.
(ieee_maxmin): New int attribute.
(*ieee_s<ieee_maxmin><mode>3): Macroize insn from
*ieee_s{max,min}<mode>3 using IEEE_MAXMIN mode iterator.

From-SVN: r188824

12 years agoarm.h (EMIT_EABI_ATTRIBUTE): Remove.
Steven Bosscher [Wed, 20 Jun 2012 10:18:08 +0000 (10:18 +0000)]
arm.h (EMIT_EABI_ATTRIBUTE): Remove.

* config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
* config/arm/arm.c: Do not include c-pragma.h.
(arm_emit_eabi_attribute): New function based on EMIT_EABI_ATTRIBUTE.
(arm_file_start): Replace uses of EMIT_EABI_ATTRIBUTE with calls
to arm_emit_eabi_attribute.
* arm-c.c: Do not include output.h.
(arm_output_c_attributes): Replace use of EMIT_EABI_ATTRIBUTE with a
call to arm_emit_eabi_attribute.
* config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it.

From-SVN: r188823

12 years agotree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting alignment...
Richard Guenther [Wed, 20 Jun 2012 09:54:35 +0000 (09:54 +0000)]
tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Allow adjusting alignment of user-aligned decls again.

2012-06-20  Richard Guenther  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
Allow adjusting alignment of user-aligned decls again.

From-SVN: r188822

12 years ago* config/rl78/rl78-c.c: Remove unnecessary includes.
Steven Bosscher [Wed, 20 Jun 2012 09:51:47 +0000 (09:51 +0000)]
* config/rl78/rl78-c.c: Remove unnecessary includes.

From-SVN: r188821

12 years agoClear hwcap_2 with Sun ld
Rainer Orth [Wed, 20 Jun 2012 09:17:53 +0000 (09:17 +0000)]
Clear hwcap_2 with Sun ld

* gcc.target/i386/clearcapv2.map: New file.
* gcc.target/i386/i386.exp: Try it first before clearcap.map.

From-SVN: r188820

12 years agocris.c: Include cgraph.h.
Steven Bosscher [Wed, 20 Jun 2012 08:13:39 +0000 (08:13 +0000)]
cris.c: Include cgraph.h.

* config/cris/cris.c: Include cgraph.h.
(cris_option_override): Do not set non-existing flag_no_gcc_ident.

From-SVN: r188818

12 years agostack-usage-1.c: Remove dg-options line for sh targets and add __sh__ case.
Kaz Kojima [Wed, 20 Jun 2012 07:37:48 +0000 (07:37 +0000)]
stack-usage-1.c: Remove dg-options line for sh targets and add __sh__ case.

* gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
and add __sh__ case.

From-SVN: r188815

12 years agore PR c++/52637 (ICE producing debug info for c++11 code using local class as templat...
Jason Merrill [Wed, 20 Jun 2012 07:27:07 +0000 (03:27 -0400)]
re PR c++/52637 (ICE producing debug info for c++11 code using local class as template argument)

PR c++/52637
* g++.dg/debug/localclass1.C: New.

From-SVN: r188814

12 years agoparser.c (cp_parser_direct_declarator): Move virt-specifier parsing after late-specif...
Ville Voutilainen [Wed, 20 Jun 2012 01:18:08 +0000 (04:18 +0300)]
parser.c (cp_parser_direct_declarator): Move virt-specifier parsing after late-specified return type parsing.

* parser.c (cp_parser_direct_declarator): Move virt-specifier
parsing after late-specified return type parsing.

From-SVN: r188808

12 years agore PR c++/53651 ([C++11] seg fault when specifying using decltype(...)::method)
Jason Merrill [Wed, 20 Jun 2012 01:17:59 +0000 (21:17 -0400)]
re PR c++/53651 ([C++11] seg fault when specifying using decltype(...)::method)

PR c++/53651
* name-lookup.c (constructor_name_p): Don't try to look at the
name of a DECLTYPE_TYPE.

From-SVN: r188807

12 years agoemit-rtl.c (need_atomic_barrier_p): New function.
Maxim Kuvyrkov [Wed, 20 Jun 2012 01:05:25 +0000 (01:05 +0000)]
emit-rtl.c (need_atomic_barrier_p): New function.

* emit-rtl.c (need_atomic_barrier_p): New function.
* emit-rtl.h (need_atomic_barrier_p): Declare it.
* config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it.
* config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it.
* config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it.
* config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove.
(mips_process_sync_loop): Use generic version instead.

From-SVN: r188806

12 years agomips.c (mips_process_sync_loop): Emit cmp result only if it is used.
Maxim Kuvyrkov [Wed, 20 Jun 2012 01:01:00 +0000 (01:01 +0000)]
mips.c (mips_process_sync_loop): Emit cmp result only if it is used.

2012-06-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
it is used.

From-SVN: r188805

12 years agoconstraints.md (ZR): New constraint.
Tom de Vries [Wed, 20 Jun 2012 00:59:08 +0000 (00:59 +0000)]
constraints.md (ZR): New constraint.

2012-06-19  Tom de Vries  <vries@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/constraints.md (ZR): New constraint.
* config/mips/predicates.md (mem_noofs_operand): New predicate.
* config/mips/mips.c (mips_print_operand): Handle new print modifier.
        * config/mips/mips.h (TARGET_XLP): Define.
(TARGET_SYNC_AFTER_SC): Update.
(ISA_HAS_SWAP, ISA_HAS_LDADD): Define.
* config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use
XLP-specific swap and ldadd patterns.
(atomic_exchange_swap, atomic_fetch_add_ldadd): New patterns.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r188804

12 years ago2012-06-19 Tom de Vries <vries@codesourcery.com>
Tom de Vries [Wed, 20 Jun 2012 00:57:23 +0000 (00:57 +0000)]
2012-06-19  Tom de Vries  <vries@codesourcery.com>
    Maxim Kuvyrkov  <maxim@codesourcery.com>

* config/mips/mips.c (mips_emit_pre_atomic_barrier_p,)
(mips_emit_post_atomic_barrier_p): New static functions.
(mips_process_sync_loop): Use them.  Emit sync memory barriers in
accordance with memory model semantics.  Add return of CMP result for
compare_and_swap.
* config/mips/mips.md: Update comment.
(sync_cmp): New attribute.
(sync_memmodel): New attribute replacing sync_release_barrier.
* config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,)
(UNSPEC_ATOMIC_EXCHANGE, UNSPEC_ATOMIC_FETCH_OP): New constants.
(sync_lock_test_and_set, test_and_set_12): Update.
(atomic_compare_and_swap, atomic_exchange, atomic_exchange_llsc,)
(atomic_fetch_add, atomic_fetch_add_llsc): New patterns.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r188803

12 years agoDaily bump.
GCC Administrator [Wed, 20 Jun 2012 00:18:50 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188802

12 years agostack-usage-1.c: Use sh*-*-* instead of sh-*-*.
Kaz Kojima [Tue, 19 Jun 2012 22:29:24 +0000 (22:29 +0000)]
stack-usage-1.c: Use sh*-*-* instead of sh-*-*.

* gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.

From-SVN: r188796

12 years agospe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0.
Joseph Myers [Tue, 19 Jun 2012 22:08:49 +0000 (23:08 +0100)]
spe.md (*mov_si<mode>_e500_subreg0): Rename to mov_si<mode>_e500_subreg0.

* config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
mov_si<mode>_e500_subreg0.
(*mov_si<mode>_e500_subreg0_elf_low)
(*mov_si<mode>_e500_subreg4_elf_low): New patterns.

testsuite:
* gcc.c-torture/compile/vector-5.c,
gcc.c-torture/compile/vector-6.c: New tests.

From-SVN: r188795

12 years agoSet cache parameters for alpha
Richard Henderson [Tue, 19 Jun 2012 21:08:03 +0000 (14:08 -0700)]
Set cache parameters for alpha

From-SVN: r188794

12 years agotm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, [...]): Add @hooks.
Steven Bosscher [Tue, 19 Jun 2012 20:44:47 +0000 (20:44 +0000)]
tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE, [...]): Add @hooks.

gcc/
* doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
(ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
Remove.
* doc/tm.texi: Regenerate.
* config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
.objc_class_name_*.
* config/darwin-c.c: Include target.h.
(darwin_objc_declare_unresolved_class_reference): New function.
(darwin_objc_declare_class_definition): New function.
(TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
(TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.

c-family/
* c-target.def (objc_declare_unresolved_class_reference,
objc_declare_class_definition): Add new hooks.

objc/
* objc-next-runtime-abi-01.c: Do not include tm.h and output.h.
Include c-family/c-target.h.
(handle_next_class_ref): Rewrite to emit top-level asm statements.
(handle_next_impent): Likewise.
* objc/Make-lang.in: Fix dependencies for objc-next-runtime-abi-01.o.

From-SVN: r188793

12 years agocheck_makefile_deps.sh: Look for c-common.o in c-family/.
Steven Bosscher [Tue, 19 Jun 2012 20:01:23 +0000 (20:01 +0000)]
check_makefile_deps.sh: Look for c-common.o in c-family/.

* check_makefile_deps.sh: Look for c-common.o in c-family/.
Add a few more crt* files to the list of files to skip.

From-SVN: r188792

12 years agotarget.def (output_ident): New hook.
Steven Bosscher [Tue, 19 Jun 2012 19:55:33 +0000 (19:55 +0000)]
target.def (output_ident): New hook.

gcc/
* target.def (output_ident): New hook.
* targhooks.h (default_asm_output_ident_directive): Add prototype.
* varasm.c (assemble_asm): Only prefix a tab if the string does not
already start with one.
(default_asm_output_ident_directive): New function to emit
.ident as a top-level asm node while parsing, or directly to
asm_out_file after parsing.
* toplev.c (compile_file): Print a GCC .ident with
targetm.asm_out.output_ident.
* doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro.
(TARGET_ASM_OUTPUT_IDENT): Add @hook for this.
* doc/tm.texi: Update.

* config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/i386/djgpp.h (IDENT_ASM_OP): Remove.
* config/i386/gas.h (ASM_OUTPUT_IDENT): Remove.
* config/arm/aout.h (ASM_OUTPUT_IDENT): Remove.
* config/sparc/sparc.h (IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/picochip/picochip.h (IDENT_ASM_OP): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.

* config/cris/cris-protos.h (cris_asm_output_ident): Add prototype.
* config/cris/cris.c (cris_asm_output_ident): New function.
* config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.

* config/microblaze/microblaze-protos.h (microblaze_asm_output_ident):
Add prototype.
* config/microblaze/microblaze.c: Include cgraph.h for add_asm_node.
(microblaze_asm_output_ident): Rewrite to work similar to
default_asm_output_ident_directive for front-end .idents.
* config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove.
(TARGET_ASM_OUTPUT_IDENT): Define.

* config/mips/mips.h (ASM_OUTPUT_IDENT): Remove.
* config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove.

* config/rx/rx.c: Include cgraph.h for add_asm_node.
(rx_asm_output_ident): New function, similar to
default_asm_output_ident_directive, but handle AS100 syntax also, so
that #ident also works for rx in AS100 syntax.
(TARGET_ASM_OUTPUT_IDENT): Define.
* config/rx/rx.h (IDENT_ASM_OP): Remove.

* Makefile.in: Fix dependencies for c-family/c-lex.o.

c-family/
* c-lex.c: Do not include output.h.
(cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
Remove uses of ASM_OUTPUT_IDENT.

ada/
* gcc-interface/trans.c: Include target.h.
(gigi): Try to put out .ident with targetm.asm_out.output_ident.
Remove uses of ASM_OUTPUT_IDENT.
* gcc-interface/Make-lang.in: Fix dependencies.

From-SVN: r188791

12 years agoi386.md (FIST_ROUNDING): New int iterator.
Uros Bizjak [Tue, 19 Jun 2012 18:24:26 +0000 (20:24 +0200)]
i386.md (FIST_ROUNDING): New int iterator.

* config/i386/i386.md (FIST_ROUNDING): New int iterator.
(rounding): Handle UNSPEC_FIST_{FLOOR,CEIL}.
(ROUNDING): Ditto.
(*fist<mode>2_<rounding>_1): Macroize insn from
*fist<mode>2_{floor,ceil}_1 using FIST_ROUNDING int iterator.
(fistdi2_<rounding>): Macroize insn from
fistdi2_{floor,ceil} using FIST_ROUNDING int iterator.
(fistdi2_<rounding>_with_temp and splitters): Macroize insn and
corresponding splitters from fistdi2_{floor,ceil} and corresponding
splitters using FIST_ROUNDING int iterator.
(fist<mode>2_<rounding>): Macroize insn from
fist<mode>2_{floor,ceil} using FIST_ROUNDING int iterator.
(fist<mode>2_<rounding>_with_temp and splitters): Macroize insn and
corresponding splitters from fist<mode>2_{floor,ceil} and corresponding
splitters using FIST_ROUNDING int iterator.
(l<rounding>xf<mode>2): Macroize expander from l{floor,ceil}xf<mode>2
using FIST_ROUNDING int iterator.

From-SVN: r188789

12 years agopr33329.c: Change multiplier constant to 12345
Richard Henderson [Tue, 19 Jun 2012 18:19:37 +0000 (11:19 -0700)]
pr33329.c: Change multiplier constant to 12345

From-SVN: r188788

12 years agoHandle const_vector in mulv4si3 for pre-sse4.1.
Richard Henderson [Tue, 19 Jun 2012 18:19:26 +0000 (11:19 -0700)]
Handle const_vector in mulv4si3 for pre-sse4.1.

From-SVN: r188787

12 years agoUse synth_mult for vector multiplies vs scalar constant
Richard Henderson [Tue, 19 Jun 2012 18:19:16 +0000 (11:19 -0700)]
Use synth_mult for vector multiplies vs scalar constant

From-SVN: r188786

12 years agoAdd rtx costs for sse integer ops
Richard Henderson [Tue, 19 Jun 2012 18:19:03 +0000 (11:19 -0700)]
Add rtx costs for sse integer ops

From-SVN: r188785

12 years agoinclhack.def (aix_mutex_initializer_1): New fix.
David Edelsohn [Tue, 19 Jun 2012 17:55:14 +0000 (17:55 +0000)]
inclhack.def (aix_mutex_initializer_1): New fix.

        * inclhack.def (aix_mutex_initializer_1): New fix.
        (aix_cond_initializer_1): New fix.
        (aix_rwlock_initializer): New fix.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h [AIX_MUTEX_INITIALIZER_1_CHECK]: New.
        [AIX_COND_INITIALIZER_1_CHECK]: New.
        [AIX_RWLOCK_INITIALIZER_1_CHECK]: New.

From-SVN: r188784

12 years agoi386.md (FRNDINT_ROUNDING): New int iterator.
Uros Bizjak [Tue, 19 Jun 2012 16:32:57 +0000 (18:32 +0200)]
i386.md (FRNDINT_ROUNDING): New int iterator.

* config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
(rounding): New int attribute.
(ROUNDING): Ditto.
(frndintxf2_<rounding>): Macroize insn from
frndintxf2_{floor,ceil,trunc} using FRNDINT_ROUNDING int iterator.
(frndintxf2_<rounding>_i387): Macroize insn from
frndintxf2_{floor,ceil,trunc}_i387 using FRNDINT_ROUNDING int iterator.

From-SVN: r188783

12 years agolex.c (search_line_sse42): Use __builtin_ia32_loaddqu and __builtin_ia32_pcmpestri128...
Uros Bizjak [Tue, 19 Jun 2012 16:28:50 +0000 (18:28 +0200)]
lex.c (search_line_sse42): Use __builtin_ia32_loaddqu and __builtin_ia32_pcmpestri128 instead of asm.

* lex.c (search_line_sse42): Use __builtin_ia32_loaddqu and
__builtin_ia32_pcmpestri128 instead of asm.

From-SVN: r188782

12 years agovrp68.c: Adjust testcase.
Richard Guenther [Tue, 19 Jun 2012 15:28:50 +0000 (15:28 +0000)]
vrp68.c: Adjust testcase.

2012-06-19  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/vrp68.c: Adjust testcase.

From-SVN: r188781

12 years agotree-vrp.c (union_ranges): New function.
Richard Guenther [Tue, 19 Jun 2012 14:59:39 +0000 (14:59 +0000)]
tree-vrp.c (union_ranges): New function.

2012-06-19  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (union_ranges): New function.
(vrp_meet_1): Use union_ranges.
(vrp_meet): Dump what we union and call vrp_meet_1.

From-SVN: r188780

12 years agoarm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
Richard Earnshaw [Tue, 19 Jun 2012 13:41:43 +0000 (13:41 +0000)]
arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.

* arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
(attr type): Remove fmul, ffmul, farith, ffarith, float_em
f_fpa_load, f_fpa_store, f_mem_r, r_mem_f.
(attr write_conflict, attr core_cycles): Update.
* arm-generic.md (r_mem_f_wbuf): Delete reservation.

From-SVN: r188778

12 years agotree-vrp.c (intersect_ranges): Handle more cases.
Richard Guenther [Tue, 19 Jun 2012 13:06:35 +0000 (13:06 +0000)]
tree-vrp.c (intersect_ranges): Handle more cases.

2012-06-19  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (intersect_ranges): Handle more cases.
(vrp_intersect_ranges): Dump what we intersect and call ...
(vrp_intersect_ranges_1): ... this.

From-SVN: r188776

12 years agore PR middle-end/53708 (Many failures of the objc tests with -O3 -fnext-runtime and...
Richard Guenther [Tue, 19 Jun 2012 09:19:07 +0000 (09:19 +0000)]
re PR middle-end/53708 (Many failures of the objc tests with -O3 -fnext-runtime and -m32)

2012-06-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53708
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
user-supplied alignment and alignment of decls with the used
attribute.

From-SVN: r188771

12 years agoThe intent of the phases was to have a high-level but mutually exclusive accounting...
Lawrence Crowl [Tue, 19 Jun 2012 01:30:31 +0000 (01:30 +0000)]
The intent of the phases was to have a high-level but mutually exclusive accounting of compile time.

The intent of the phases was to have a high-level but mutually exclusive
accounting of compile time.  We want to track compile time in a way that
tells us which conceptual phases are taking the most time.  That intent
is not currently satisfied.  This patch restores that intent.

Add code to verify that the sum of the phase times is less than the total
time, to detect when phases are overlapped.  A slight amount of leeway is
required due to time jitters.  This verification is done as the last step
in printing timevars so that any timevar information is not lost.

Rename the phases to be clearer about what they measure, so that they
are less likely to be modified to be overlapping.  The primary example
is to change TV_PHASE_GENERATE to TV_PHASE_LATE_ASM, meaning late work
on the assembly.  This name change avoids confusion n moving the timevar
start call after the call to lang_hooks.decls.final_write_globals, which
prevents overlapping phases.

Each implementation of lang_hooks.decls.final_write_globals, is responsible
for starting and stopping its own phases.  Each implementation currently has
a first phase of TV_PHASE_DEFERRED for front-end work deferred until after
parsing is complete.  The second phase has been renamed from TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN, to better reflect its use as the main optimization
and generation phase.  This phase accounts for 70%-80% of compilation time
during bootstrap.  The third phase is TV_PHASE_DBGINFO, except in cp/decl2.c,
where it is TV_PHASE_CHECK_DBGINFO because cc1plus mixes checking in with
debug info generation.  In langhooks.c, write_global_declarations was
using TV_PHASE_CHECK_DBGINFO, but it was doing no checking.  So, it now
uses TV_PHASE_DBGINFO.

The changes to LTO are significant.  First, initialization now uses
TV_PHASE_SETUP.  Reading files now uses TV_PHASE_STREAM_IN.  Writing files
now uses TV_PHASE_STREAM_OUT.  The remaining phase is TV_PHASE_OPT_GEN
(formerly TV_PHASE_CGRAPH).  Finally, because LTO is treated as a front
end, TV_PHASE_PARSING and TV_PARSE_GLOBAL active around it.  It is not
parsing, and so those timers should not be active.  Rather than make all
front ends manage them, we turn them off as the first thing in LTO and turn
them back on as the last thing.

Tested on x86_64.

Index: gcc/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

* timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
(TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
(TV_PHASE_STREAM_IN): New.
(TV_PHASE_STREAM_OUT): New.
* timevar.c (validate_phases): New.
(timevar_print): Call validate_phases.
* c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.
* langhooks.c (write_global_declarations): Rename use of
TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Use TV_PHASE_DBGINFO instead of
TV_PHASE_CHECK_DBGINFO.
* toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
TV_PHASE_LATE_ASM.  Move start of TV_PHASE_LATE_ASM to after call to
lang_hooks.decls.final_write_globals.

Index: gcc/cp/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

* decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
to TV_PHASE_OPT_GEN.

Index: gcc/lto/ChangeLog

2012-06-18  Lawrence Crowl  <crowl@google.com>

        * lto.c (do_whole_program_analysis):  Rename use of TV_PHASE_CGRAPH to
TV_PHASE_OPT_GEN.  Use new timevar TV_PHASE_STREAM_OUT around the call
to lto_wpa_write_files.
(lto_main):  Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Move
start of TV_PHASE_OPT_GEN to include call to materialize_cgraph.  Use
TV_PHASE_SETUP for the call to lto_init.  Use new timevar
TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
to be a front end, but is not one.

From-SVN: r188765

12 years agoDaily bump.
GCC Administrator [Tue, 19 Jun 2012 00:20:02 +0000 (00:20 +0000)]
Daily bump.

From-SVN: r188764

12 years ago* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
Doug Evans [Mon, 18 Jun 2012 23:35:08 +0000 (23:35 +0000)]
* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.

From-SVN: r188759

12 years agore PR libstdc++/53678 (namespace pollution on NetBSD)
Jörg Sonnenberger [Mon, 18 Jun 2012 21:43:58 +0000 (21:43 +0000)]
re PR libstdc++/53678 (namespace pollution on NetBSD)

2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/53678
* config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
* testsuite/22_locale/ctype_base/53678.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r188755

12 years ago* config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.
David Edelsohn [Mon, 18 Jun 2012 20:05:48 +0000 (16:05 -0400)]
* config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.

From-SVN: r188754

12 years agore PR target/53712 (Does not combine unaligned load with _mm_cmpistri, redundant...
Uros Bizjak [Mon, 18 Jun 2012 18:41:25 +0000 (20:41 +0200)]
re PR target/53712 (Does not combine unaligned load with  _mm_cmpistri, redundant instruction at -O0)

PR target/53712
* config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
(*sse4_2_pcmpistr_unaligned): New.

testsuite/ChangeLog:

PR target/53712
* gcc.target/i386/pr53712.c: New test.

From-SVN: r188753

12 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Mon, 18 Jun 2012 18:38:52 +0000 (20:38 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r188752

12 years agointrinsic.h (gfc_resolve_rank): New prototype.
Tobias Burnus [Mon, 18 Jun 2012 18:37:16 +0000 (20:37 +0200)]
intrinsic.h (gfc_resolve_rank): New prototype.

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.h (gfc_resolve_rank): New prototype.
        * intrinsic.c (add_functions): Use gfc_resolve_rank.
        * iresolve.c (add_functions): New function.
        * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
        (gfc_conv_intrinsic_function): Call it.

From-SVN: r188751

12 years agore PR fortran/53692 (OPTIONAL: Scalarizing over the wrong array)
Tobias Burnus [Mon, 18 Jun 2012 18:31:54 +0000 (20:31 +0200)]
re PR fortran/53692 (OPTIONAL: Scalarizing over the wrong array)

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53692
        * trans-array.c (set_loop_bounds): Don't scalarize via absent
        optional arrays.
        * resolve.c (resolve_elemental_actual): Don't stop resolving
        after printing a warning.

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53692
        * gfortran.dg/elemental_optional_args_6.f90: New.

From-SVN: r188749

12 years agore PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays)
Tobias Burnus [Mon, 18 Jun 2012 18:15:51 +0000 (20:15 +0200)]
re PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays)

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53526
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
        * coarrays.

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53526
        * gfortran.dg/coarray_lib_move_alloc_1.f90: New.

From-SVN: r188748

12 years agore PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays)
Tobias Burnus [Mon, 18 Jun 2012 18:14:06 +0000 (20:14 +0200)]
re PR fortran/53526 ([Coarray] (lib) Properly handle MOVE_ALLOC for coarrays)

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53526
        * check.c (gfc_check_move_alloc): Reject coindexed actual
        * arguments
        and those with different corank.

2012-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/53526
        * gfortran.dg/coarray_27.f90: New.

From-SVN: r188747

12 years agoepilog-1.c: New test.
Joey Ye [Mon, 18 Jun 2012 18:10:41 +0000 (19:10 +0100)]
epilog-1.c: New test.

gcc/testsuite

2012-06-18  Joey Ye <Joey.Ye@arm.com>
            Greta Yorsh  <Greta.Yorsh@arm.com>

        * gcc.target/arm/epilog-1.c: New test.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r188746

12 years agoAs a result of the previous changes, epilogue_insns pattern can only be generated...
Ian Bolton [Mon, 18 Jun 2012 18:06:54 +0000 (18:06 +0000)]
As a result of the previous changes, epilogue_insns pattern can only be generated in Thumb1.

As a result of the previous changes, epilogue_insns pattern can only be
generated in Thumb1. After removing other cases in define_insn for
epilogue_insns, the function arm_output_epilogue becomes dead code and can
be eliminated, along with all its helper functions.

gcc/

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm-protos.h (arm_output_epilogue): Remove.
        * config/arm/arm.c (print_multi_reg): Remove.
        (vfp_output_fldmd): Likewise.
        (arm_output_epilogue): Likewise.
        * config/arm/arm.md (epilogue_insns): Update condition and code.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188745

12 years agoGenerate RTL for return in Thumb2 mode. Used by expand of return insn.
Ian Bolton [Mon, 18 Jun 2012 18:02:03 +0000 (18:02 +0000)]
Generate RTL for return in Thumb2 mode. Used by expand of return insn.

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm-protos.h (thumb2_expand_return): New declaration.
        * config/arm/arm.c (thumb2_expand_return): New function.
        * config/arm/arm.md (return): Update condition and code.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188744

12 years agoAdd a new parameter to the function output_return_instruction to handle simple...
Ian Bolton [Mon, 18 Jun 2012 17:57:06 +0000 (17:57 +0000)]
Add a new parameter to the function output_return_instruction to handle simple...

Add a new parameter to the function output_return_instruction to handle
simple cases of return when no epilogue needs to be printed out.

gcc/

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm-protos.h (output_return_instruction): New parameter and
int to bool change of parameter types.
        * config/arm/arm.c (output_return_instruction): Likewise.
        * config/arm/arm.md (arm_simple_return): New pattern.
        (arm_return, cond_return, cond_return_inverted): Add new arguments.
        * config/arm/thumb2.md (thumb2_return): Update condition and code.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188743

12 years agoThe main function for epilogue RTL generation, used by expand epilogue
Ian Bolton [Mon, 18 Jun 2012 17:47:40 +0000 (17:47 +0000)]
The main function for epilogue RTL generation, used by expand epilogue
patterns.

gcc/

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm-protos.h (arm_expand_epilogue): New declaration.
        * config/arm/arm.c (arm_expand_epilogue): New function.
        * config/arm/arm.md (epilogue): Update condition and code.
        (sibcall_epilogue): Likewise.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188742

12 years agoHelper function for epilogue expansion.
Ian Bolton [Mon, 18 Jun 2012 17:38:21 +0000 (17:38 +0000)]
Helper function for epilogue expansion.

Helper function for epilogue expansion. Emit RTL for APCS frame epilogue
(when -mapcs-frame command line option is specified).
This function is used by a later patch.

gcc/

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
        * config/arm/arm.md (arm_addsi3) Add an alternative.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188741

12 years agoNew define insn pattern for epilogue with floating point registers (DFmode) and...
Ian Bolton [Mon, 18 Jun 2012 17:30:41 +0000 (17:30 +0000)]
New define insn pattern for epilogue with floating point registers (DFmode) and...

New define insn pattern for epilogue with floating point registers (DFmode)
and a new function that emits RTL for this pattern. This function is a
helper for epilogue extension. It is used by a later patch.

gcc/

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm.md (vfp_pop_multiple_with_writeback) New
define_insn.
        * config/arm/predicates.md (pop_multiple_fp) New special predicate.
        * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188740

12 years agoThis patch adds new define_insn patterns for epilogue with integer
Ian Bolton [Mon, 18 Jun 2012 17:24:25 +0000 (17:24 +0000)]
This patch adds new define_insn patterns for epilogue with integer
registers.

The patterns can handle pop multiple with writeback and return (loading into
PC directly).
To handle return, the patterns use a new special predicate
pop_multiple_return, that uses ldm_stm_operation_p function from a previous
patch. To output assembly, the patterns use a new function
arm_output_multireg_pop.

This patch also adds a new function arm_emit_multi_reg_pop
that emits RTL that matches the new pop patterns for integer registers.
This is a helper function for epilogue expansion. It is used by a later
patch.

2012-06-18  Ian Bolton  <ian.bolton@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <greta.yorsh@arm.com>

        * config/arm/arm.md (load_multiple_with_writeback) New define_insn.
        (load_multiple, pop_multiple_with_writeback_and_return) Likewise.
        (pop_multiple_with_return, ldr_with_return) Likewise.
        * config/arm/predicates.md (pop_multiple_return) New special predicate.
        * config/arm/arm-protos.h (arm_output_multireg_pop) New declaration.
        * config/arm/arm.c (arm_output_multireg_pop) New function.
        (arm_emit_multi_reg_pop): New function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r188739

12 years agoThis patch updates ldm_stm_operation_p to check for loads that if SP is in the regist...
Greta Yorsh [Mon, 18 Jun 2012 17:06:35 +0000 (18:06 +0100)]
This patch updates ldm_stm_operation_p to check for loads that if SP is in the register list...

This patch updates ldm_stm_operation_p to check for loads that if SP is in
the register list, then the base register is SP. It guarantees that SP is
reset correctly when an LDM instruction is interrupted. Otherwise, we might
end up with a corrupt stack.

gcc/

2012-06-18  Greta Yorsh  <greta.yorsh@arm.com>

* config/arm/arm.c (ldm_stm_operation_p): Require SP
        as base register for loads if SP is in the register list.

From-SVN: r188738

12 years agore PR tree-optimization/53693 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect...
Richard Guenther [Mon, 18 Jun 2012 14:05:27 +0000 (14:05 +0000)]
re PR tree-optimization/53693 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1438)

2012-06-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53693
* tree-vect-patterns.c (vect_operation_fits_smaller_type):
Reject operands with more than one use.

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

From-SVN: r188733

12 years agore PR tree-optimization/53703 (verify_ssa: definition in block 105 does not dominate...
Bill Schmidt [Mon, 18 Jun 2012 12:22:37 +0000 (12:22 +0000)]
re PR tree-optimization/53703 (verify_ssa: definition in block 105 does not dominate use in block 103)

gcc:

2012-06-18  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/53703
* tree-ssa-phiopt.c (hoist_adjacent_loads): Skip virtual phis;
correctly set bb_for_def[12].

gcc/testsuite:

2012-06-18  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/53703
* gcc.dg/torture/pr53703.c: New test.

From-SVN: r188731

12 years agovax.h (VMS_TARGET): Remove.
Steven Bosscher [Mon, 18 Jun 2012 11:34:28 +0000 (11:34 +0000)]
vax.h (VMS_TARGET): Remove.

gcc/
* config/vax/vax.h (VMS_TARGET): Remove.

cp/
* decl.c (finish_function): Remove code conditional on VMS_TARGET.

From-SVN: r188729

12 years agotree-vrp.c (extract_range_from_assert): Split out range intersecting code.
Richard Guenther [Mon, 18 Jun 2012 11:11:32 +0000 (11:11 +0000)]
tree-vrp.c (extract_range_from_assert): Split out range intersecting code.

2012-06-18  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (extract_range_from_assert): Split out range
intersecting code.
(intersect_ranges): New function.
(vrp_intersect_ranges): Likewise.

From-SVN: r188728

12 years agos390.c (s390_gimplify_va_arg): Revert change from r187965.
Andreas Krebbel [Mon, 18 Jun 2012 11:05:41 +0000 (11:05 +0000)]
s390.c (s390_gimplify_va_arg): Revert change from r187965.

2012-06-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_gimplify_va_arg): Revert change from
r187965.

From-SVN: r188727

12 years agoImplement support for int iterators.
Tejas Belagod [Mon, 18 Jun 2012 10:43:03 +0000 (11:43 +0100)]
Implement support for int iterators.

From-SVN: r188726

12 years agore PR middle-end/53698 (ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress...
Richard Sandiford [Mon, 18 Jun 2012 09:32:51 +0000 (09:32 +0000)]
re PR middle-end/53698 (ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts)

gcc/
PR middle-end/53698
* expr.c (expand_expr_addr_expr_1): Convert to tmode before
performing an addition.

gcc/testsuite/
PR middle-end/53698
* gcc.target/i386/pr53698.c: New test.

From-SVN: r188725

12 years agoDaily bump.
GCC Administrator [Mon, 18 Jun 2012 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188721

12 years ago* gcc.target/i386/pr33329.c: .
Uros Bizjak [Sun, 17 Jun 2012 22:14:03 +0000 (00:14 +0200)]
* gcc.target/i386/pr33329.c: .

From-SVN: r188717

12 years ago* gcc.target/i386/pr33329.c: Fix tabcount increase.
Uros Bizjak [Sun, 17 Jun 2012 22:09:40 +0000 (00:09 +0200)]
* gcc.target/i386/pr33329.c: Fix tabcount increase.

From-SVN: r188716

12 years agopr33329.c (f): Increase tabs array to 1024.
Uros Bizjak [Sun, 17 Jun 2012 22:01:25 +0000 (00:01 +0200)]
pr33329.c (f): Increase tabs array to 1024.

* gcc.target/i386/pr33329.c (f): Increase tabs array to 1024.

From-SVN: r188715

12 years agooutput.h (split_double): Move prototype to rtl.h.
Steven Bosscher [Sun, 17 Jun 2012 21:12:24 +0000 (21:12 +0000)]
output.h (split_double): Move prototype to rtl.h.

* output.h (split_double): Move prototype to rtl.h.
(constructor_static_from_elts_p): Move prototype to tree.c.
* rtl.h (split_double): Moved here from output.h.
* tree.h (constructor_static_from_elts_p): Moved here from output.h.
* final.c (split_double): Move from here ...
* rtlanal.c (split_double): ... to here.
* expr.c: Do not include output.h.

From-SVN: r188714

12 years agoforgot ChangeLog
Steven Bosscher [Sun, 17 Jun 2012 21:09:08 +0000 (21:09 +0000)]
forgot ChangeLog

From-SVN: r188713

12 years agocfglayout.h: Remove.
Steven Bosscher [Sun, 17 Jun 2012 21:08:39 +0000 (21:08 +0000)]
cfglayout.h: Remove.

2012-06-17  Steven Bosscher  <steven@gcc.gnu.org>

* cfglayout.h: Remove.
* cfglayout.c: Remove.
* function.h (struct function): Remove x_last_location field.
* function.c: Do not include cfglayout.h.
(expand_function_start): Do not call no-op force_next_line_note.
(expand_function_end): Likewise.
* cfgrtl.c: Do not include cfglayout.h.  Include gt-cfgrtl.h.
(unlink_insn_chain): Moved here from cfglayout.c.
(skip_insns_after_block, label_for_bb, record_effective_endpoints,
into_cfg_layout_mode, outof_cfg_layout_mode,
pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
relink_block_chain, fixup_reorder_chain, verify_insn_chain,
fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
cfg_layout_finalize): Likewise.
(rtl_can_remove_branch_p): Likewise.
* rtl.h (insn_scope): Move prototype from cfglayout.h here.
(duplicate_insn_chain): Likewise.
(force_next_line_note): Remove prototype.
* emit-rtl.c: Do not include tree-flow.h, egad.  Include vecprim.h.
(last_location): Remove #define to emit.x_last_location.
(force_next_line_note): Remove no-op function.
(init_emit): Don't set x_last_location.
(block_locators_locs, block_locators_blocks, locations_locators_locs,
locations_locators_vals, prologue_locator, epilogue_locator,
curr_location, last_location, curr_block, last_block, curr_rtl_loc):
Move POD to here from cfglayout.c.
(insn_locators_alloc, insn_locators_finalize, insn_locators_free,
set_curr_insn_source_location, get_curr_insn_source_location,
set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
locator_scope, insn_scope, locator_location, locator_line, insn_line,
locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
* cfghooks.h: Remove double-include protection.
(can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
* cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
* final.c: Do not include cfglayout.h.
(choose_inner_scope, change_scope): Move to here from cfglayout.c.
(reemit_insn_block_notes): Likewise.  Make static.
* tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
operation_could_trap_p, tree_could_throw_p): Move from here...
* tree.h: ... to here.
* gengtype.c (open_base_files): Remove cfglayout.h from the list.
* profile.c: Do not include cfghooks.h.
* cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
* modulo-sched.c: Likewise.
* loop-unswitch.c: Do not include cfglayout.h.
* sched-ebb.c: Likewise.
* tracer.c: Likewise.
* ddg.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* loop-init.c: Likewise.
* dwarf2out.c: Likewise.
* hw-doloop.c: Likewise.
* loop-unroll.c: Likewise.
* cfgcleanup.c: Likewise.
* bb-reorder.c: Likewise.
* sched-rgn.c: Likewise.
* tree-cfg.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/spu/spu.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/sh/sh.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/score/score.c: Likewise.
* config/mips/mips.c: Likewise.
* config/bfin/bfin.c: Likewise.
* Makefile.in (CFGAYOUT_H): Remove, and fixup users.
* config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
* config/spu/t-spu-elf (spu.o: $): Likewise.
* config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.

From-SVN: r188712

12 years agocfgloop.h: Do not include rtl.h.
Steven Bosscher [Sun, 17 Jun 2012 21:04:41 +0000 (21:04 +0000)]
cfgloop.h: Do not include rtl.h.

* cfgloop.h: Do not include rtl.h.
(enum iv_extend_code): New.
(struct rtx_iv): Use iv_extend_code instead of rtx_code.
* Makefile.in (CFGLOOP_H): Do not depend on RTL_H.
* loop-iv.c (iv_extend_to_rtx_code): New function to translate
an IV_EXTEND_CODE to an RTX_CODE.
(dump_iv_info): Update for rtx_iv field type change.
(iv_constant): Likewise.
(iv_subreg): Likewise.
(iv_extend): Likewise.
(iv_neg): Likewise.
(iv_add): Likewise.
(iv_mult): Likewise.
(iv_shift): Likewise.
(get_biv_step_1): Likewise.
(get_biv_step): Likewise.
(iv_analyze_biv): Likewise.
(get_iv_value): Likewise.
(shorten_into_mode): Likewise.
(canonicalize_iv_subregs): Likewise.
* sese.c (sese_build_liveouts): Use MAY_HAVE_DEBUG_STMTS instead
of MAY_HAVE_DEBUG_INSNS.
* tree-ssa-loop-ivopts.c: Include recog.h after expr.h.
* tree-ssa-loop-prefetch.c: Likewise.

From-SVN: r188711

This page took 0.111604 seconds and 5 git commands to generate.