platform/upstream/gcc.git
15 years agore PR middle-end/40291 (ICE on unprototyped memcmp with long long last argument)
Jakub Jelinek [Fri, 29 May 2009 15:38:20 +0000 (17:38 +0200)]
re PR middle-end/40291 (ICE on unprototyped memcmp with long long last argument)

PR middle-end/40291
* builtins.c (expand_builtin_memcmp): Convert len to sizetype
before expansion.

* gcc.c-torture/compile/pr40291.c: New test.

From-SVN: r147978

15 years agore PR rtl-optimization/40101 (200.sixtrack ICEs in get_seqno_by_preds, at sel-sched...
Andrey Belevantsev [Fri, 29 May 2009 15:33:17 +0000 (19:33 +0400)]
re PR rtl-optimization/40101 (200.sixtrack ICEs in get_seqno_by_preds, at sel-sched-ir.c:3752)

        PR rtl-optimization/40101
        * sel-sched-ir.c (get_seqno_by_preds): Allow returning negative
        seqno.  Adjust comment.
        * sel-sched.c (find_seqno_for_bookkeeping): Assert that when
        inserting bookkeeping before a jump, the jump is not scheduled.
        When no positive seqno found, provide a value.  Add comment.

From-SVN: r147977

15 years agotree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first...
Richard Guenther [Fri, 29 May 2009 13:31:47 +0000 (13:31 +0000)]
tree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first component.

2009-05-29  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (nonaliasing_component_refs_p): Remove
short-cutting on the first component.

From-SVN: r147976

15 years agore PR middle-end/39958 (OMP tasking creates invalid gimple)
Jakub Jelinek [Fri, 29 May 2009 13:14:53 +0000 (15:14 +0200)]
re PR middle-end/39958 (OMP tasking creates invalid gimple)

PR middle-end/39958
* omp-low.c (scan_omp_1_op): Call remap_type on TREE_TYPE
for trees other than decls/types.

From-SVN: r147975

15 years agotree-ssa-operands.c (get_expr_operands): Do not handle INDIRECT_REFs in the handled...
Richard Guenther [Fri, 29 May 2009 09:49:42 +0000 (09:49 +0000)]
tree-ssa-operands.c (get_expr_operands): Do not handle INDIRECT_REFs in the handled-component case.

2009-05-29  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.c (get_expr_operands): Do not handle
INDIRECT_REFs in the handled-component case.  Remove
unused get_ref_base_and_extent case.
* tree-dfa.c (get_ref_base_and_extent): Avoid calling
tree_low_cst and host_integerp where possible.
* tree-ssa-structalias.c (equiv_class_label_eq): Check hash
codes for equivalence.
* dce.c (find_call_stack_args): Avoid redundant bitmap queries.

From-SVN: r147973

15 years agoconfig.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file...
David Billinghurst [Fri, 29 May 2009 07:49:26 +0000 (07:49 +0000)]
config.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file for...

2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

* config.host: Add i386/${host_address}/t-fprules-softfp and
t-softfp to tmake_file for i[34567]86-*-cygwin*.

2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

* config.gcc: Add i386/t-fprules-softfp and soft-fp/t-softfp
to tmake_file for i[34567]86-*-cygwin*.

From-SVN: r147972

15 years agore PR target/40017 (stdbool.h/altivec.h)
Jakub Jelinek [Fri, 29 May 2009 07:06:35 +0000 (09:06 +0200)]
re PR target/40017 (stdbool.h/altivec.h)

PR target/40017
* config/rs6000/rs6000-c.c (_Bool_keyword): New variable.
(altivec_categorize_keyword, init_vector_keywords,
rs6000_cpu_cpp_builtins): Define _Bool as conditional macro
similar to bool.

* gcc.target/powerpc/altivec-types-1.c: Don't expect error for
__vector _Bool.
* gcc.target/powerpc/altivec-30.c: New test.
* gcc.target/powerpc/altivec-31.c: New test.

From-SVN: r147970

15 years agotree.c (handle_dll_attribute): Check if node is of kind FUNCTION_DECL for DECL_DECLAR...
Kai Tietz [Fri, 29 May 2009 06:01:02 +0000 (06:01 +0000)]
tree.c (handle_dll_attribute): Check if node is of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.

2009-05-29  Kai Tietz  <kai.tietz@onevision.com>

        * tree.c (handle_dll_attribute): Check if node is
        of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.

From-SVN: r147969

15 years agofibheap.c (fibheap_replace_key_data): Make sure we don't early out when forcing the...
Michael Matz [Fri, 29 May 2009 02:55:25 +0000 (02:55 +0000)]
fibheap.c (fibheap_replace_key_data): Make sure we don't early out when forcing the minimum.

        * fibheap.c (fibheap_replace_key_data): Make sure we don't early
        out when forcing the minimum.
        (fibheap_delete_node): Assert that we managed to force the minimum.

From-SVN: r147968

15 years agoDaily bump.
GCC Administrator [Fri, 29 May 2009 00:16:38 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147965

15 years agothumb2.md (thumb2_zero_extendsidi2): Add a split component.
Richard Earnshaw [Thu, 28 May 2009 23:13:32 +0000 (23:13 +0000)]
thumb2.md (thumb2_zero_extendsidi2): Add a split component.

* config/arm/thumb2.md (thumb2_zero_extendsidi2): Add a split
component.
(thumb2_zero_extendqidi2): Likewise.

From-SVN: r147962

15 years agosh.c (sh_expand_t_scc): Use gen_xorsi3_movrt instead of gen_movrt.
Kaz Kojima [Thu, 28 May 2009 21:59:39 +0000 (21:59 +0000)]
sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt instead of gen_movrt.

* config/sh/sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt
instead of gen_movrt.
* config/sh/sh.md (movrt): Remove.

From-SVN: r147961

15 years ago2009-05-28 Steve Ellcey <sje@cup.hp.com>
Steve Ellcey [Thu, 28 May 2009 20:06:49 +0000 (20:06 +0000)]
2009-05-28  Steve Ellcey  <sje@cup.hp.com>

* doc/invoke.texi (IA-64 Options)
Add -msdata, -mfused-madd, -mno-inline-float-divide,
-mno-inline-int-divide, -mno-inline-sqrt, -msched-spec-ldc,
-msched-spec-control-ldc, -msched-prefer-non-data-spec-insns,
-msched-prefer-non-control-spec-insns,
-msched-stop-bits-after-every-cycle,
-msched-count-spec-in-critical-path,
-msel-sched-dont-check-control-spec, -msched-fp-mem-deps-zero-cost
-msched-max-memory-insns-hard-limit, -msched-max-memory-insns
Remove -mt, -pthread, -msched-ldc, -mno-sched-control-ldc,
and -msched-spec-verbose.

From-SVN: r147960

15 years agoMakefile.in, [...]: New files.
Tom Tromey [Thu, 28 May 2009 17:14:18 +0000 (17:14 +0000)]
Makefile.in, [...]: New files.

2009-05-28  Tom Tromey  <tromey@redhat.com>
    Phil Muldoon  <pmuldoon@redhat.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* python/Makefile.in, , python/libstdcxx/__init__.py,
python/libstdcxx/v6/__init__.py, python/libstdcxx/v6/printers.py,
python/hook.in, python/Makefile.am: New files.
* configure, Makefile.in: Rebuild.
* acinclude.m4 (glibcxx_SUBDIRS): Add python.
* Makefile.am (SUBDIRS): Add python.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
Co-Authored-By: Phil Muldoon <pmuldoon@redhat.com>
From-SVN: r147958

15 years agolib1funcs.asm (__clear_cache): Define if L_clear_cache.
Joseph Myers [Thu, 28 May 2009 16:26:23 +0000 (17:26 +0100)]
lib1funcs.asm (__clear_cache): Define if L_clear_cache.

* config/arm/lib1funcs.asm (__clear_cache): Define if
L_clear_cache.
* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define to give an
error if used.
* config/arm/t-linux-eabi (LIB1ASMFUNCS): Add _clear_cache.

From-SVN: r147956

15 years agotree-ssa-alias.c (ao_ref_init): New function.
Richard Guenther [Thu, 28 May 2009 13:24:16 +0000 (13:24 +0000)]
tree-ssa-alias.c (ao_ref_init): New function.

2009-05-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (ao_ref_init): New function.
(ao_ref_base): Likewise.
(ao_ref_base_alias_set): Likewise.
(ao_ref_alias_set): Likewise.
(refs_may_alias_p_1): Change signature.
(refs_may_alias_p): Adjust.
(refs_anti_dependent_p): Likewise.
(refs_output_dependent_p): Likewise.
(call_may_clobber_ref_p_1): Change signature.
(call_may_clobber_ref_p): Adjust.
(stmt_may_clobber_ref_p_1): New function split out from ...
(stmt_may_clobber_ref_p): ... here.
(maybe_skip_until): Adjust signature.
(get_continuation_for_phi): Likewise.
(walk_non_aliased_vuses): Likewise.
* tree-ssa-alias.h (struct ao_ref_s): New structure type.
(ao_ref_init): Declare.
(ao_ref_base): Likewise.
(ao_ref_alias_set): Likewise.
(stmt_may_clobber_ref_p_1): Likewise.
(walk_non_aliased_vuses): Adjust.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): New function.
(get_ref_from_reference_ops): remove.
(vn_reference_lookup_2): Adjust signature.
(vn_reference_lookup_3): Do not re-build trees.  Handle unions.
(vn_reference_lookup_pieces): Adjust signature, do not re-build
trees.
(vn_reference_lookup): Adjust.
(vn_reference_insert): Likewise.
(vn_reference_insert_pieces): Adjust signature.
(visit_reference_op_call): Adjust.
* tree-ssa-pre.c (get_expr_type): Simplify.
(phi_translate_1): Adjust.
(compute_avail): Likewise.
(translate_vuse_through_block): Do not re-build trees.
(value_dies_in_block_x): Likewise.
* tree-ssa-sccvn.h (struct vn_reference_s): Add type and alias-set
fields.
(vn_reference_lookup_pieces): Adjust declaration.
(vn_reference_insert_pieces): Likewise.

* gcc.dg/tree-ssa/ssa-fre-26.c: New testcase.
* gcc.c-torture/execute/20090527-1.c: Likewise.

From-SVN: r147953

15 years agotree-ssa-copy.c (replace_exp_1): Move op for warning-free use with checking disabled.
Benjamin Kosnik [Thu, 28 May 2009 12:28:38 +0000 (12:28 +0000)]
tree-ssa-copy.c (replace_exp_1): Move op for warning-free use with checking disabled.

2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

        * tree-ssa-copy.c (replace_exp_1): Move op for warning-free use
        with checking disabled.

From-SVN: r147952

15 years agoFix for PR c++/PR39754
Dodji Seketeli [Thu, 28 May 2009 11:24:18 +0000 (11:24 +0000)]
Fix for PR c++/PR39754

gcc/cp/ChangeLog:
    PR c++/39754
    * cp-tree.h (canonical_type_variant): Remove this function declaration.
    (strip_typedefs): New function declaration.
    * tree.c (strip_typedefs): New function definition.
    (canonical_type_variant): Remove function definition.
    * cvt.c (convert_from_reference): No need to use
    canonical_type_variant.
    * typeck.c (cp_build_indirect_ref): Likewise.
    * error.c (dump_template_bindings): Use strip_typedefs instead of
    canonical_type_variant.
    * pt.c (convert_template_argument, unify): Likewise.
    * mangle.c (canonicalize_for_substitution): Don't use
    canonical_type_variant.

gcc/testsuite/ChangeLog:
    PR c++/39754
    * g++.dg/template/canon-type-1.C: New test.
    * g++.dg/template/canon-type-2.C: Likewise.
    * g++.dg/template/canon-type-3.C: Likewise.
    * g++.dg/template/canon-type-4.C: Likewise.
    * g++.dg/template/canon-type-5.C: Likewise.
    * g++.dg/template/canon-type-6.C: Likewise.
    * g++.dg/template/canon-type-7.C: Likewise.

From-SVN: r147951

15 years agore PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated...
Dave Korn [Thu, 28 May 2009 10:48:35 +0000 (10:48 +0000)]
re PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated with -O3)

gcc/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>

PR target/37216

* configure.ac (HAVE_GAS_ALIGNED_COMM):  Add autoconf test and
macro definition for support of three-operand format aligned
.comm directive in assembler on cygwin/pe/mingw target OS.
* configure:  Regenerate.
* config.in:  Regenerate.

* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common):  Use
aligned form of .comm directive if -mpe-aligned-commons is in effect.
* config/i386/cygming.opt (-mpe-aligned-commons):  Add new option.

* doc/invoke.texi (-mpe-aligned-commons):  Document new target option.
* doc/tm.texi (ASM_OUTPUT_COMMON):  Document zero size commons.

gcc/testsuite/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>
            Uros Bizjak  <ubizjak@gmail.com>
            Danny Smith  <dansmister@gmail.com>

PR target/37216

* lib/target-supports.exp (check_effective_target_pe_aligned_commons):
New function.
* gcc.target/i386/pr37216.c:  New test source file.
* gcc.dg/compat/struct-layout-1_generate.c (dg_options[]):  No longer
use -fno-common for testing Cygwin and MinGW targets.

Co-Authored-By: Danny Smith <dansmister@gmail.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r147950

15 years agopacked6.C (size_t): Use __extension__ and __SIZE_TYPE__.
Kai Tietz [Thu, 28 May 2009 09:38:48 +0000 (09:38 +0000)]
packed6.C (size_t): Use __extension__ and __SIZE_TYPE__.

2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

*  g++.dg/ext/packed6.C (size_t): Use __extension__ and
__SIZE_TYPE__.
* g++.dg/opt/memcpy1.C (size_t): Likewise.
* g++.dg/pr37742.C (size_t): Likewise.
* g++.dg/torture/pr34850.C (size_t): Likewise.
* g++.dg/torture/20070621-1.C (ptrdiff_t): Use __extension__ and
_PTRDIFF_TYPE__.
* g++.dg/torture/pr34222.C (ptrdiff_t): Likewise.
* g++.dg/tree-ssa/pr22444.C (ptrdiff_t): Likewise.
(size_t): Use __extension__ and __SIZE_TYPE__.

From-SVN: r147949

15 years ago20000211-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
Kai Tietz [Thu, 28 May 2009 09:30:01 +0000 (09:30 +0000)]
20000211-1.c (size_t): Typedef size_t via __SIZE_TYPE__.

2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.c-torture/compile/20000211-1.c (size_t): Typedef size_t via
__SIZE_TYPE__.
        * gcc.c-torture/compile/20010328-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030320-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030405-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030902-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20060202-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20080613-1.c (size_t): Likewise,
        * gcc.c-torture/compile/920428-2.c (size_t): Likewise,
        * gcc.c-torture/compile/980329-1.c (size_t): Likewise,
        * gcc.c-torture/compile/980816-1.c (size_t): Likewise,
        * gcc.c-torture/compile/pr32584.c (size_t): Likewise,
        * (__ssize_t): Likewise.
        * gcc.c-torture/compile/pr33173.c (size_t): Likewise,
        * gcc.c-torture/compile/pr33382.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34334.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34688.c (size_t): Likewise,
        * gcc.c-torture/compile/pr35043.c (size_t): Likewise,
        * gcc.c-torture/compile/pr37669.c (size_t): Likewise,
        * gcc.dg/20050629-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
        * gcc.dg/pr33667.c (size_t): Likewise.
        * gcc.dg/prefetch-loop-arrays-1.c (size_t): Likewise.
        * gcc.dg/torture/pr39204.c (size_t): Likewise.
        * gcc.dg/tree-ssa/20041122-1.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr36908.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr38250.c (size_t): Likewise.
        * gcc.dg/tree-ssa/ssa-dse-10.c (size_t): Likewise.

From-SVN: r147947

15 years agore PR tree-optimization/40254 (SPEC2006 403.gcc miscompares)
Ira Rosen [Thu, 28 May 2009 09:02:53 +0000 (09:02 +0000)]
re PR tree-optimization/40254 (SPEC2006 403.gcc miscompares)

PR tree-optimization/40254
* tree-data-ref.c (dr_analyze_innermost): Take POFFSET into account
in analysis of basic blocks.

From-SVN: r147945

15 years agore PR middle-end/33699 (missing optimization on const addr area store)
Adam Nemet [Thu, 28 May 2009 07:42:52 +0000 (07:42 +0000)]
re PR middle-end/33699 (missing optimization on const addr area store)

PR middle-end/33699
* target.h (struct gcc_target): Fix indentation.  Add
const_anchor.
* target-def.h (TARGET_CONST_ANCHOR): New macro.
(TARGET_INITIALIZER): Use it.
* cse.c (CHEAPER): Move it up to the other macros.
(insert): Rename this ...
(insert_with_costs): ... to this.  Add cost parameters.  Update
function comment.
(insert): New function.  Call insert_with_costs.
(compute_const_anchors, insert_const_anchor, insert_const_anchors,
find_reg_offset_for_const, try_const_anchors): New functions.
(cse_insn): Call try_const_anchors.  Adjust cost of src_related
when using a const-anchor.  Call insert_const_anchors.
* config/mips/mips.c (mips_set_mips16_mode): Set
targetm.const_anchor.
* doc/tm.texi (Misc): Document TARGET_CONST_ANCHOR.

testsuite/
* gcc.target/mips/const-anchor-1.c: New test.
* gcc.target/mips/const-anchor-2.c: New test.

From-SVN: r147944

15 years agoFix typo in ChangeLog entry date.
Olivier Hainque [Thu, 28 May 2009 07:35:29 +0000 (07:35 +0000)]
Fix typo in ChangeLog entry date.

From-SVN: r147943

15 years agotree-inline.c (remap_decls): Enable nonlocalized variables when not optimizing.
Alexandre Oliva [Thu, 28 May 2009 06:52:07 +0000 (06:52 +0000)]
tree-inline.c (remap_decls): Enable nonlocalized variables when not optimizing.

* tree-inline.c (remap_decls): Enable nonlocalized variables
when not optimizing.

From-SVN: r147941

15 years agotree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Alexandre Oliva [Thu, 28 May 2009 06:49:37 +0000 (06:49 +0000)]
tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.

* tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Simplify other tests involving optimize.

From-SVN: r147939

15 years agoDaily bump.
GCC Administrator [Thu, 28 May 2009 00:17:23 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r147938

15 years agotestsuite_allocator.h (check_new, [...]): Move to ...
Benjamin Kosnik [Thu, 28 May 2009 00:17:00 +0000 (00:17 +0000)]
testsuite_allocator.h (check_new, [...]): Move to ...

2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/util/testsuite_allocator.h (check_new, check_delete): Move
to ...
* testsuite/util/replacement_memory_operators.h: ...here. New.
* testsuite/util/testsuite_hooks.h (counter): To object_counter.
* testsuite/util/testsuite_hooks.cc: Same.

* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Use
replacement_memory_operators.h.
* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
* testsuite/ext/mt_allocator/check_delete.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-6.cc: Same.
* testsuite/ext/mt_allocator/deallocate_local-8.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
* testsuite/ext/mt_allocator/check_new.cc: Same.
* testsuite/ext/debug_allocator/check_delete.cc: Same.
* testsuite/ext/debug_allocator/check_new.cc: Same.
* testsuite/ext/new_allocator/deallocate_global.cc: Same.
* testsuite/ext/new_allocator/check_delete.cc: Same.
* testsuite/ext/new_allocator/check_new.cc: Same.
* testsuite/ext/new_allocator/deallocate_local.cc: Same.
* testsuite/ext/throw_allocator/deallocate_global.cc: Same.
* testsuite/ext/throw_allocator/check_delete.cc: Same.
* testsuite/ext/throw_allocator/check_new.cc: Same.
* testsuite/ext/throw_allocator/deallocate_local.cc: Same.
* testsuite/ext/malloc_allocator/deallocate_global.cc: Same.
* testsuite/ext/malloc_allocator/check_delete.cc: Same.
* testsuite/ext/malloc_allocator/check_new.cc: Same.
* testsuite/ext/malloc_allocator/deallocate_local.cc: Same.
* testsuite/ext/pool_allocator/check_delete.cc: Same.
* testsuite/ext/pool_allocator/check_new.cc: Same.
* testsuite/ext/bitmap_allocator/check_delete.cc: Same.
* testsuite/ext/bitmap_allocator/check_new.cc: Same.
* testsuite/ext/array_allocator/check_delete.cc: Same.
* testsuite/ext/array_allocator/check_new.cc: Same.
* testsuite/23_containers/deque/cons/1.cc: Same.
* testsuite/23_containers/deque/cons/2.cc: Same.

From-SVN: r147937

15 years agounwind-dw2.c (_Unwind_DebugHook): New function.
Tom Tromey [Wed, 27 May 2009 23:12:21 +0000 (23:12 +0000)]
unwind-dw2.c (_Unwind_DebugHook): New function.

* unwind-dw2.c (_Unwind_DebugHook): New function.
(uw_install_context): Call _Unwind_DebugHook.

From-SVN: r147934

15 years agocall.c (implicit_conversion): Handle conversion from initializer-list to scalar.
Jason Merrill [Wed, 27 May 2009 22:23:41 +0000 (18:23 -0400)]
call.c (implicit_conversion): Handle conversion from initializer-list to scalar.

* call.c (implicit_conversion): Handle conversion from
initializer-list to scalar.
(convert_like_real): Likewise.  Avoid crashing on list
initialization with bad conversions.
(can_convert): Use LOOKUP_EXPLICIT.
(can_convert_arg_bad): Add flags parm.
* cp-tree.h: Adjust.
* typeck.c (convert_for_assignment): Pass flags.

From-SVN: r147933

15 years agoinitializer_list: Format.
Benjamin Kosnik [Wed, 27 May 2009 21:17:49 +0000 (21:17 +0000)]
initializer_list: Format.

2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

* libsupc++/initializer_list: Format.
* testsuite/18_support/initializer_list/requirements/typedefs.cc: New.
* testsuite/18_support/initializer_list/requirements/
explicit_instantiation.cc: New.

From-SVN: r147931

15 years agore PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)
Benjamin Kosnik [Wed, 27 May 2009 20:32:30 +0000 (20:32 +0000)]
re PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)

2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/40273
* include/tr1_impl/functional: Add explicit cast.
* testsuite/20_util/function/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/function/null_pointer_comparisons.cc: New.

From-SVN: r147930

15 years agoDon't link to or test existence of libgfortranbegin
Janne Blomqvist [Wed, 27 May 2009 20:02:02 +0000 (23:02 +0300)]
Don't link to or test existence of libgfortranbegin

From-SVN: r147929

15 years agosystem.h (CONST_CAST2): Use C++ const_cast when compiled as C++
Tom Tromey [Wed, 27 May 2009 19:53:03 +0000 (19:53 +0000)]
system.h (CONST_CAST2): Use C++ const_cast when compiled as C++

gcc/ChangeLog
* system.h (CONST_CAST2): Use C++ const_cast when compiled as C++

From-SVN: r147928

15 years agoMakefile.in (LINKER, [...]): Define.
Ian Lance Taylor [Wed, 27 May 2009 19:51:15 +0000 (19:51 +0000)]
Makefile.in (LINKER, [...]): Define.

./: * Makefile.in (LINKER, LINKER_FLAGS): Define.
(LINKER_FOR_BUILD, BUILD_LINKERFLAGS): Define.
(ALL_LINKERFLAGS): Define.
(xgcc$(exeext)): Change $(COMPILER) to $(LINKER).
(cpp$(exeext), cc1-dummy$(exeext), cc1$(exeext)): Likewise.
(collect2$(exeext), mips-tfile, mips-tdump): Likewise.
(gcov$(exeext), gcov-dump$(exeext)): Likewise.
(build/gen%$(build_exeext)): Change $(COMPILER_FOR_BUILD) to
$(LINKER_FOR_BUILD).
(build/gcov-iov$(build_exeext)): Likewise.
cp/:
* Make-lang.in (g++$(exeext)): Change $(COMPILER) to $(LINKER).
(cc1plus-dummy$(exeext), cc1plus$(exeext)): Likewise.
fortran/:
* Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to
$(LINKER).
(f951$(exeext)): Likewise.
java/:
* Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
$(LINKER).
(jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
objc/:
* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1obj$(exeext)): Likewise.
objcp/:
* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
$(LINKER).
(cc1objplus$(exeext)): Likewise.

From-SVN: r147927

15 years agore PR fortran/40270 (Revision 147883 caused many Fortran regressions)
Tobias Burnus [Wed, 27 May 2009 19:49:22 +0000 (21:49 +0200)]
re PR fortran/40270 (Revision 147883 caused many Fortran regressions)

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

        PR fortran/40270
        * trans-decl.c (create_main_function): Mark MAIN__ and
        argc/argv as TREE_USED and push/pop function_decl context
        if needed.

From-SVN: r147926

15 years agogcse.c (target.h): Include.
Julian Brown [Wed, 27 May 2009 18:47:26 +0000 (18:47 +0000)]
gcse.c (target.h): Include.

gcc/
* gcse.c (target.h): Include.
(can_assign_to_reg_without_clobbers_p): Check that the target allows
copy of argument to a pseudo register.

From-SVN: r147925

15 years agotree-ssa-live.c (dump_scope_block): Document arguments.
Diego Novillo [Wed, 27 May 2009 17:55:59 +0000 (13:55 -0400)]
tree-ssa-live.c (dump_scope_block): Document arguments.

* tree-ssa-live.c (dump_scope_block): Document arguments.
(dump_scope_blocks): Document.
(debug_scope_blocks): New.
* tree-flow.h (debug_scope_blocks): Declare.

From-SVN: r147923

15 years ago* doc/contrib.texi (Contributors): add myself to the list.
Denis Chertykov [Wed, 27 May 2009 17:12:24 +0000 (17:12 +0000)]
* doc/contrib.texi (Contributors): add myself to the list.

From-SVN: r147920

15 years agoChange scan-tree-dump-times patterns due to frontend changes
Janne Blomqvist [Wed, 27 May 2009 16:55:44 +0000 (19:55 +0300)]
Change scan-tree-dump-times patterns due to frontend changes

From-SVN: r147919

15 years ago(Synchronize with addition made to binutils sources):
Rafael Avila de Espindola [Wed, 27 May 2009 16:31:26 +0000 (16:31 +0000)]
(Synchronize with addition made to binutils sources):

        * plugins.m4: New.

From-SVN: r147918

15 years agoexpr.c (target_align): New function.
Olivier Hainque [Wed, 27 May 2009 16:06:44 +0000 (16:06 +0000)]
expr.c (target_align): New function.

* expr.c (target_align): New function.  Alignment the TARGET of an
assignment may be assume to have.
(highest_pow2_factor_for_target): Use it instead of relying on
immediate tree attributes of TARGET, not necessarily honored when
intermediate bitfields are involved.

testsuite/
* gcc.c-torture/execute/align-nest.c: New testcase.
* gnat.dg/misaligned_nest.adb: New testcase.

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

15 years agoRevert part of r147883 that breaks ABI
Janne Blomqvist [Wed, 27 May 2009 15:22:34 +0000 (18:22 +0300)]
Revert part of r147883 that breaks ABI

From-SVN: r147915

15 years agore PR target/40266 (march-native gives -mno-sse4, but cpuinfo sse4_1)
H.J. Lu [Wed, 27 May 2009 14:39:23 +0000 (14:39 +0000)]
re PR target/40266 (march-native gives -mno-sse4, but cpuinfo sse4_1)

2009-05-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/40266
* config/i386/driver-i386.c (host_detect_local_cpu): Support
AVX, SSE4, AES, PCLMUL and POPCNT.

From-SVN: r147913

15 years agoApply fixed version of previous delta.
Nick Clifton [Wed, 27 May 2009 14:27:12 +0000 (14:27 +0000)]
Apply fixed version of previous delta.

From-SVN: r147911

15 years agotree-pretty-print.c (dump_location): New.
Diego Novillo [Wed, 27 May 2009 14:13:18 +0000 (10:13 -0400)]
tree-pretty-print.c (dump_location): New.

* tree-pretty-print.c (dump_location): New.
(dump_generic_node): Call it.
Factor code to handle BLOCK nodes ...
(dump_block_node): ... here.

From-SVN: r147910

15 years agoattribute_plugin.c: Include gcc-plugin.h first.
Rafael Avila de Espindola [Wed, 27 May 2009 12:57:59 +0000 (12:57 +0000)]
attribute_plugin.c: Include gcc-plugin.h first.

2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

       * g++.dg/plugin/attribute_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/dumb_plugin.c: Include gcc-plugin.h first.
       * g++.dg/plugin/selfassign.c: Include gcc-plugin.h first.
       * gcc.dg/plugin/selfassign.c: Include gcc-plugin.h first.

2009-05-27  Rafael Avila de Espindola  <espindola@google.com>

* Makefile.in (GCC_PLUGIN_H): New. Replace all uses of gcc-plugin.h with
it.
* doc/plugins.texi: Document that gcc-plugin.h must be the first to be
included.
* gcc-plugin.h: Include config.h and system.h.
(IN_GCC): Define if not defined.

From-SVN: r147908

15 years agore PR middle-end/40249 (build breakage with inline heuristics change)
Hans-Peter Nilsson [Wed, 27 May 2009 12:40:09 +0000 (12:40 +0000)]
re PR middle-end/40249 (build breakage with inline heuristics change)

PR middle-end/40249
* Makefile.in (CRTSTUFF_CFLAGS): Replace -fno-inline-functions
with -fno-inline.

From-SVN: r147907

15 years agoMakefile.tpl (all): Avoid harmless warning in make all when gcc-bootstrap is enabled...
Alexandre Oliva [Wed, 27 May 2009 07:29:30 +0000 (07:29 +0000)]
Makefile.tpl (all): Avoid harmless warning in make all when gcc-bootstrap is enabled but stage_last...

* Makefile.tpl (all): Avoid harmless warning in make all when
gcc-bootstrap is enabled but stage_last does not exist.
* Makefile.in: Rebuilt.

From-SVN: r147900

15 years agom32r.c: Use REG_P, MEM_P and CONST_INT_P where applicable.
Shujing Zhao [Wed, 27 May 2009 06:55:00 +0000 (06:55 +0000)]
m32r.c: Use REG_P, MEM_P and CONST_INT_P where applicable.

        * config/m32r/m32r.c: Use REG_P, MEM_P and CONST_INT_P where
        applicable.
        * config/m32r/m32r.h: Ditto.
        * config/m32r/m32r.md: Ditto.
        * config/m32r/predicates.md: Ditto.

From-SVN: r147899

15 years agoarray1.C (array): Use __SIZE_TYPE__ cast instead of assuming 0ul.
Kai Tietz [Wed, 27 May 2009 06:51:31 +0000 (08:51 +0200)]
array1.C (array): Use __SIZE_TYPE__ cast instead of assuming 0ul.

2009-05-27  Kai TIetz  <kai.tietz@onevision.com>

        * g++.old-deja/g++.brendan/array1.C (array): Use __SIZE_TYPE__
        cast instead of assuming 0ul.
        * g++.old-deja/g++.brendan/crash64.C (size_t): Define it via
        __SIZE_TYPE__.
        (_type_desc): Make first argument const.
        * g++.old-deja/g++.jason/new3.C (dg-options): Add -Wno-long-long.

From-SVN: r147898

15 years agore PR libfortran/40187 (c_f_pointer with stride in SHAPE)
Thomas Koenig [Wed, 27 May 2009 05:27:31 +0000 (05:27 +0000)]
re PR libfortran/40187 (c_f_pointer with stride in SHAPE)

2009-05-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/40187
* intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
of stride in "shape" argument.

2009-05-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/40187
* gfortran.dg/c_f_pointer_shape_tests_4.f03:  New file.
* gfortran.dg/c_f_pointer_shape_tests_4_driver.c:  New file.

From-SVN: r147894

15 years ago* cgraph.c (dump_cgraph_node): Honor -fdump-noaddr.
Alexandre Oliva [Wed, 27 May 2009 03:29:41 +0000 (03:29 +0000)]
* cgraph.c (dump_cgraph_node): Honor -fdump-noaddr.

From-SVN: r147888

15 years agoDaily bump.
GCC Administrator [Wed, 27 May 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147886

15 years agore PR fortran/39178 (Generate main() rather than using a main in libgfortran/fmain.c)
Tobias Burnus [Tue, 26 May 2009 21:19:57 +0000 (23:19 +0200)]
re PR fortran/39178 (Generate main() rather than using a main in libgfortran/fmain.c)

fortran/
2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39178
        * gfortranspec.c (lang_specific_driver): Stop linking
        libgfortranbegin.
        * trans-decl.c (gfc_build_builtin_function_decls): Stop
        making MAIN__ publicly visible.
        (gfc_build_builtin_function_decls): Add
        gfor_fndecl_set_args.
        (create_main_function) New function.
        (gfc_generate_function_code): Use it.

libgfortran/
2009-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39178
        * runtime/main.c (store_exe_path): Make static
        and multiple-times callable.
        (set_args): Call store_exe_path.
        * libgfortran.h: Remove store_exe_path prototype.
        * fmain.c (main): Remove store_exe_path call.

From-SVN: r147883

15 years agore PR fortran/40246 (ICE on invalid SOURCE= using NULLIFY)
Tobias Burnus [Tue, 26 May 2009 19:23:45 +0000 (21:23 +0200)]
re PR fortran/40246 (ICE on invalid SOURCE= using NULLIFY)

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

        PR fortran/40246
        * match.c (gfc_match_nullify): NULLify freed pointer.

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

        PR fortran/40246
        * gfortran.dg/nullify_4.f90: New test.

From-SVN: r147879

15 years agoplugins.texi (Loading plugins): typo.
Basile Starynkevitch [Tue, 26 May 2009 17:33:33 +0000 (17:33 +0000)]
plugins.texi (Loading plugins): typo.

2009-05-26  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/doc/plugins.texi
(Loading plugins): typo.
(Plugin callbacks): Documented PLUGIN_INFO, PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
(Interacting with the GCC Garbage Collector): Added new section.
(Giving information about a plugin): Added new section for
PLUGIN_INFO.
* gcc/testsuite/gcc.dg/plugin/plugin.exp: Added ggcplug.c test plugin
with ggcplug-test-1.c for testing PLUGIN_GGC_MARKING etc...
* gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c: Added new file.
* gcc/testsuite/gcc.dg/plugin/ggcplug.c: Added new file.
* gcc/ggc.h (ggc_register_root_tab): Added declaration.
* gcc/gcc-plugin.h (PLUGIN_GGC_START, PLUGIN_GGC_MARKING)
(PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS): Added new events.
(register_callback): Improved comment in declaration.
* gcc/ggc-common.c (const_ggc_root_tab_t) Added new typedef for
vectors.
(extra_root_vec) Added static variable for dynamic roots
registration.
(ggc_register_root_tab) Added new routine.
(ggc_mark_roots) Added iteration inside extra_root_vec, and invoke
PLUGIN_GGC_MARKING event.
* gcc/ggc-zone.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/ggc-page.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/plugin.c (plugin_event_name): added names of PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS
(register_callback): check lack of callbacks for
pseudo-events. Added handling of PLUGIN_REGISTER_GGC_ROOTS,
PLUGIN_GGC_START, PLUGIN_GGC_MARKING, PLUGIN_GGC_END.
(invoke_plugin_callbacks): Handle PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
* gcc/Makefile.in (ggc-common.o, ggc-zone.o, ggc-page.o): Added
dependency on plugin.h.
(plugin.o): Added dependency on ggc.h...

From-SVN: r147878

15 years agorevert: neon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.
Nathan Sidwell [Tue, 26 May 2009 17:08:57 +0000 (17:08 +0000)]
revert: neon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.

revert
* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
for VxWorks kernels.
* config/arm/arm_neon.h: Regenerate.

From-SVN: r147877

15 years agoinline-3.c: Remove dump file.
Richard Guenther [Tue, 26 May 2009 15:54:54 +0000 (15:54 +0000)]
inline-3.c: Remove dump file.

2009-05-26  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/inline-3.c: Remove dump file.

From-SVN: r147876

15 years agore PR middle-end/40248 (FAIL: gcc.c-torture/compile/20090518-1.c at -O1 and above)
Richard Guenther [Tue, 26 May 2009 14:17:38 +0000 (14:17 +0000)]
re PR middle-end/40248 (FAIL: gcc.c-torture/compile/20090518-1.c at -O1 and above)

2009-05-26  Richard Guenther  <rguenther@suse.de>

PR middle-end/40248
Revert
* expr.c (expand_expr_real_1): Avoid calling do_store_flag
with mismatched comparison modes.

* expr.c (expand_expr_real_1): Expand the operand of a
VIEW_CONVERT_EXPR in its natural mode.

From-SVN: r147874

15 years agoMakefile.in (COMPILER, [...]): Define.
Ian Lance Taylor [Tue, 26 May 2009 14:02:04 +0000 (14:02 +0000)]
Makefile.in (COMPILER, [...]): Define.

./: * Makefile.in (COMPILER, COMPILER_FLAGS): Define.
(COMPILER_FOR_BUILD, BUILD_COMPILERFLAGS): Define.
(ALL_COMPILERFLAGS): Define.
(.c.o, xgcc$(exeext), cpp$(exeext)): Use $(COMPILER).
(cc1-dummy$(exeext), cc1$(exeext)): Likewise.
(collect2$(exeext), collect2.o): Likewise.
(c-opts.o, c-cppbuiltin.o, c-pch.o, gcc.o, gccspec.o): Likewise.
(gcc-options.o, version.o, prefix.o, toplev.o): Likewise.
($(out_object_file), mips-tfile, mips-tdump): Likewise.
(libbackend.o, intl.o, cppdefault.o): Likewise.
(gcov$(exeext), gcov-dump$(exeext)): Likewise.
(build/%.o): Use $(COMPILER_FOR_BUILD).
(build/gen%$(build_exeext)): Likewise.
(build/gcov-iov$(build_exeext)): LIkewise.
* config/t-darwin (darwin.o): Use $(COMPILER).
(darwin-c.o, darwin-f.o, darwin-driver.o): Likewise.
* config/t-sol2 (sol2-c.o): Likewise.
(sol2.o): Likewise.
* config/t-vxworks (vxworks.o): Likewise.
* config/x-darwin (host-darwin.o): Likewise.
* config/x-hpux (host-hpux.o): Likewise.
* config/x-linux (host-linux.o): Likewise.
* config/x-solaris (host-solaris.o): Likewise.
* config/alpha/x-alpha (driver-alpha.o): Likewise.
* config/arm/t-arm (arm-c.o): Likewise.
* config/arm/t-pe (pe.o): Likewise.
* config/arm/t-wince-pe (pe.o): Likewise.
* config/i386/t-cygming (winnt.o): Likewise.
(winnt-cxx.o, winnt-stubs.o, msformat-c.o): Likewise.
* config/i386/t-cygwin (cygwin1.o): Likewise.
(cygwin2.o): Likewise.
* config/i386/t-i386 (i386-c.o): Likewise.
* config/i386/t-interix (winnt.o): Likewise.
* config/i386/t-netware (netware.o): Likewise.
* config/i386/t-nwld (nwld.o): Likewise.
* config/i386/x-darwin (host-i386-darwin.o): Likewise.
* config/i386/x-i386 (driver-i386.o): Likewise.
* config/i386/x-cygwin (host-cygwin.o): Likewise.
* config/i386/x-mingw32 (host-mingw32.o): Likewise.
* config/ia64/t-ia64 (ia64-c.o): Likewise.
* config/m32c/t-m32c (m32c-pragma.o): Likewise.
* config/mips/x-native (driver-native.o): Likewise.
* config/rs6000/t-rs6000 (rs6000-c.o): Likewise.
* config/rs6000/x-darwin (host-ppc-darwin.o): Likewise.
* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Likewise.
* config/rs6000/x-rs6000 (driver-rs6000.o): Likewise.
* config/score/t-score-elf (score7.o): Likewise.
(score3.o): Likewise.
* config/sh/t-sh (sh-c.o): Likewise.
* config/sh/t-symbian (sh-c.o): Likewise.
(symbian.o): Likewise.
* config/spu/t-spu-elf (spu-c.o): Likewise.
* config/v850/t-v850 (v850-c.o): Likewise.
* config/v850/t-v850e (v850-c.o): Likewise.
ada/:
* gcc-interface/Makefile.in (COMPILER): Define.
(COMPILER_FLAGS, ALL_COMPILERFLAGS): Define.
(.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER).
(seh_init.o, tracebak.o): Likewise.
* gcc-interface/Make-lang.in (ada/targext.o): Likewise.
(ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise.
(ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise.
(ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise.
(ada/utils2.o): Likewise.
cp/:
* Make-lang.in (g++spec.o): Use $(COMPILER).
(g++$(exeext), cc1plus-dummy$(exeext)): Likewise.
(cc1plus$(exeext)): Likewise.
fortran/:
* Make-lang.in (gfortranspec.o): Use $(COMPILER).
(gfortran$(exeext), f951$(exeext), fortran/cpp.o): Likewise.
java/:
* Make-lang.in (jvspec.o): Use $(COMPILER).
($(XGCJ)$(exeext), jc1$(exeext), jcf-dump$(exeext)): Likewise.
(jvgenmain$(exeext), java/jcf-io.o, java/jcf-path.o): Likewise.
objc/:
* Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
(cc1obj$(exeext)): Likewise.
objcp/:
* Make-lang.in (cc1objplus-dummy$(exeext)): Use $(COMPILER).
(cc1objplus$(exeext), objcp/objcp-act.o): Likwise.

From-SVN: r147873

15 years agoneon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.
Richard Sandiford [Tue, 26 May 2009 13:22:09 +0000 (13:22 +0000)]
neon-gen.ml: Include vxWorks.h rather than stdint.h for VxWorks kernels.

* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
for VxWorks kernels.
* config/arm/arm_neon.h: Regenerate.

From-SVN: r147870

15 years agore PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))
Richard Guenther [Tue, 26 May 2009 11:41:34 +0000 (11:41 +0000)]
re PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))

2009-05-26  Richard Guenther  <rguenther@suse.de>

PR middle-end/40252
* fold-const.c (fold_binary): Use the correct types for building
rotates.

* gcc.c-torture/compile/pr40252.c: New testcase.

From-SVN: r147868

15 years agore PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))
Richard Guenther [Tue, 26 May 2009 11:38:03 +0000 (11:38 +0000)]
re PR middle-end/40252 (Internal compiler error on samba4 (verify_gimple failed))

2009-05-26  Richard Guenther  <rguenther@suse.de>

PR middle-end/40252
* fold-const.c (fold_binary): Use the correct types for building
rotates.

* gcc.c-torture/compile/pr40252.c: New testcase.

From-SVN: r147867

15 years agore PR c++/40007 (specialization causes access problem in primary template)
Dodji Seketeli [Tue, 26 May 2009 10:35:16 +0000 (10:35 +0000)]
re PR c++/40007 (specialization causes access problem in primary template)

Fix PR c++/40007

    gcc/cp/ChangeLog:
     PR c++/40007
     * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): Remove this accessor.
     (TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): New accessor.
     (get_types_needing_access_check): Declare new entry point.
     * pt.c (append_type_to_template_for_access_check_1,
     get_types_needing_access_check): New functions.
     (perform_typedefs_access_check): Accept FUNCTION_DECLs and
     RECORD_TYPEs rather than TEMPLATE_DECLs. Use the new
     get_types_needing_access_check, no more
     MEMBER_TYPES_NEEDING_ACCESS_CHECK.
     (instantiate_class_template): Set input_location to the source
     location of the most specialized template definition.
     Perform access check using the RECORD_TYPE of the template, not its
     associated most generic TEMPLATE_DECL.
     (append_type_to_template_for_access_check): Augment function
     comments. Use the new get_types_needing_access_check, not
     MEMBER_TYPE_NEEDING_ACCESS_CHECK. Use the new
     append_type_to_template_for_access_check_1 subroutine.

    gcc/testsuite/ChangeLog:
     PR c++/40007
     * g++.dg/template/typedef18.C: New test.
     * g++.dg/template/typedef19.C: Likewise.
     * g++.dg/template/typedef20.C: Likewise.
     * g++.dg/template/access11.C: Adjust.

From-SVN: r147866

15 years agore PR testsuite/40247 (Revision 147848 failed gcc.dg/struct/wo_prof_escape_substr_poi...
Richard Guenther [Tue, 26 May 2009 09:41:29 +0000 (09:41 +0000)]
re PR testsuite/40247 (Revision 147848 failed gcc.dg/struct/wo_prof_escape_substr_pointer.c)

2009-05-26  Richard Guenther  <rguenther@suse.de>

PR testsuite/40247
* gcc.dg/struct/wo_prof_escape_substr_pointer.c: Obfuscate.

From-SVN: r147864

15 years agotree-vect-data-refs.c (vect_create_data_ref_ptr): Remove redundant calls to merge_ali...
Richard Guenther [Tue, 26 May 2009 08:48:02 +0000 (08:48 +0000)]
tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove redundant calls to merge_alias_info.

2009-05-26  Richard Guenther  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_create_data_ref_ptr): Remove
redundant calls to merge_alias_info.
(bump_vector_ptr): Likewise.
* tree-ssa-copy.c (merge_alias_info): Remove.
(replace_exp_1): Remove call to merge_alias_info.
(propagate_tree_value): Likewise.
(fini_copy_prop): Propagate points-to info.
* tree-flow.h (merge_alias_info): Remove.

From-SVN: r147863

15 years agoconfig/picochip/picochip.C (PARAM_INLINE_CALL_COST): Remove.
Hariharan Sandanagobalane [Tue, 26 May 2009 08:19:34 +0000 (08:19 +0000)]
config/picochip/picochip.C (PARAM_INLINE_CALL_COST): Remove.

From-SVN: r147862

15 years agogfortran.h (GFC_MPC_RND_MODE): New.
Kaveh R. Ghazi [Tue, 26 May 2009 06:04:16 +0000 (06:04 +0000)]
gfortran.h (GFC_MPC_RND_MODE): New.

* gfortran.h (GFC_MPC_RND_MODE): New.
* simplify.c (call_mpc_func): New helper function.
(gfc_simplify_cos, gfc_simplify_exp, gfc_simplify_log,
gfc_simplify_sin, gfc_simplify_sqrt): Add MPC support.

From-SVN: r147860

15 years agoDaily bump.
GCC Administrator [Tue, 26 May 2009 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r147859

15 years agore PR c++/38064 ([c++0x] operator== doesn't work for enum classes)
Jason Merrill [Mon, 25 May 2009 23:01:02 +0000 (19:01 -0400)]
re PR c++/38064 ([c++0x] operator== doesn't work for enum classes)

PR c++/38064
* typeck.c (cp_build_binary_op): Allow ENUMERAL_TYPE in
arithmetic comparisons.
(cp_common_type): Handle scoped enums.

* call.c (promoted_arithmetic_type_p): Don't use INTEGRAL_TYPE_P.
(add_builtin_candidate, add_builtin_candidates): Likewise.
(convert_like_real): Likewise.
* class.c (check_bitfield_decl): Likewise.
* decl.c (check_static_variable_definition): Likewise.
(compute_array_index_type): Likewise.
* decl2.c (grokbitfield): Likewise.
* init.c (build_new_1): Likewise.
* pt.c (convert_nontype_argument): Likewise.
(current_instantiation): Likewise.
* tree.c (pod_type_p): Likewise.
* typeck.c (build_static_cast_1): Likewise.
(build_reinterpret_cast_1): Likewise.

From-SVN: r147854

15 years agocgraph.c (dump_cgraph_node): Dump size/time/benefit.
Jan Hubicka [Mon, 25 May 2009 21:59:24 +0000 (23:59 +0200)]
cgraph.c (dump_cgraph_node): Dump size/time/benefit.

* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
* cgraph.h (struct inline_summary): New filed self_wize,
size_inlining_benefit, self_time and time_inlining_benefit.
(struct cgraph_global_info): Replace insns by time ans size fields.
* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
(ipcp_update_callgraph): Do not touch function bodies.
* ipa-inline.c: Include except.h
(MAX_TIME): New constant.
(overall_insns): Remove.
(leaf_node_p): New.
(overall_size, max_benefit): New static variables.
(cgraph_estimate_time_after_inlining): New function.
(cgraph_estimate_size_after_inlining): Rewrite using benefits.
(cgraph_clone_inlined_nodes): Update size.
(cgraph_mark_inline_edge): Update size.
(cgraph_estimate_growth): Use size info.
(cgraph_check_inline_limits): Check size.
(cgraph_default_inline_p): Likewise.
(cgraph_edge_badness): Compute badness based on benefit and size cost.
(cgraph_decide_recursive_inlining): Check size.
(cgraph_decide_inlining_of_small_function): Update size; dump sizes and
times.
(cgraph_decide_inlining): Likewise.
(cgraph_decide_inlining_incrementally): Likewise; honor
PARAM_EARLY_INLINING_INSNS.
(likely_eliminated_by_inlining_p): New predicate.
(estimate_function_body_sizes): New function.
(compute_inline_parameters): Use it.
* except.c (must_not_throw_labels): New function.
* except.h (must_not_throw_labels): Declare.
* tree-inline.c (init_inline_once): Kill inlining_weigths
* tree-ssa-structalias.c: Avoid uninitialized warning.
* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
(PARAM_INLINE_CALL_COST): Remove.
(PARAM_EARLY_INLINING_INSNS): New.

From-SVN: r147852

15 years agore PR tree-optimization/36327 (SCCVN should look through struct copies)
Richard Guenther [Mon, 25 May 2009 15:18:21 +0000 (15:18 +0000)]
re PR tree-optimization/36327 (SCCVN should look through struct copies)

2009-05-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/36327
* tree-ssa-alias.c (walk_non_aliased_vuses): Add second walker
callback for reference translation or lookup at the point
of may-defs.
* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
* tree-ssa-sccvn.c (get_ref_from_reference_ops): Bail out
for union COMPONENT_REFs.
(vn_reference_lookup_3): New callback.  Lookup from memset
and CONSTRUCTOR assignment, translate through struct copies.
(vn_reference_lookup_pieces): Make sure to not free the
passed operands array.  Adjust walk_non_aliased_vuses call.
(vn_reference_lookup): Adjust walk_non_aliased_vuses call,
make sure we do not leak memory.

* gcc.dg/tree-ssa/ssa-fre-24.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/sra-2.c: Disable FRE.
* gcc.dg/vect/no-vfa-vect-43.c: Adjust.
* gcc.dg/vect/vect-40.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-46.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.

From-SVN: r147851

15 years agore PR fortran/40176 (Fortran 2003: Procedure pointers with array return value)
Janus Weil [Mon, 25 May 2009 14:48:24 +0000 (16:48 +0200)]
re PR fortran/40176 (Fortran 2003: Procedure pointers with array return value)

2009-05-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40176
* primary.c (gfc_match_varspec): Handle procedure pointer components
with array return value.
* resolve.c (resolve_expr_ppc): Ditto.
(resolve_symbol): Make sure the interface of a procedure pointer has
been resolved.
* trans-array.c (gfc_walk_function_expr): Handle procedure pointer
components with array return value.
* trans-expr.c (gfc_conv_component_ref,gfc_conv_procedure_call,
gfc_trans_arrayfunc_assign): Ditto.
(gfc_trans_pointer_assignment): Handle procedure pointer assignments,
where the rhs is a dummy argument.
* trans-types.c (gfc_get_ppc_type,gfc_get_derived_type): Handle
procedure pointer components with array return value.

2009-05-25  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40176
* gfortran.dg/proc_ptr_18.f90: New.
* gfortran.dg/proc_ptr_19.f90: New.
* gfortran.dg/proc_ptr_comp_9.f90: New.
* gfortran.dg/proc_ptr_comp_10.f90: New.

From-SVN: r147850

15 years agotree-ssa-alias.h (dump_points_to_solution): Declare.
Richard Guenther [Mon, 25 May 2009 13:35:10 +0000 (13:35 +0000)]
tree-ssa-alias.h (dump_points_to_solution): Declare.

2009-05-25  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.h (dump_points_to_solution): Declare.
* tree-inline.c (expand_call_inline): Reset the escaped and
callused solutions.
* tree-ssa-structalias.c (pass_build_ealias): New.
* tree-pass.h (pass_build_ealias): Declare.
* passes.c (init_optimization_passes): Add PTA during
early optimizations.
* tree-ssa-alias.c (dump_alias_info): Dump the ESCAPED
and CALLUSED solutions.
(dump_points_to_solution): New function, split out from ...
(dump_points_to_info_for): ... here.
* tree-parloops.c (parallelize_loops): Reset the escaped and
callused solutions.

* gcc.dg/tree-ssa/ssa-fre-14.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.

From-SVN: r147848

15 years agomakefile.vms: New file to compile gas on VMS.
Tristan Gingold [Mon, 25 May 2009 13:29:08 +0000 (13:29 +0000)]
makefile.vms: New file to compile gas on VMS.

2009-05-25  Tristan Gingold  <gingold@adacore.com>

* makefile.vms: New file to compile gas on VMS.

* configure.com: New file to do configuration on VMS with DCL.

From-SVN: r147847

15 years agore PR bootstrap/40027 (i686-pc-solaris2.10 bootstrap fails using Sun ld)
Rainer Orth [Mon, 25 May 2009 12:12:08 +0000 (12:12 +0000)]
re PR bootstrap/40027 (i686-pc-solaris2.10 bootstrap fails using Sun ld)

PR bootstrap/40027
* config/i386/i386.c (USE_HIDDEN_LINKONCE): Only define if missing.
* config/i386/sol2.h [!TARGET_GNU_LD] (USE_HIDDEN_LINKONCE): Define.

From-SVN: r147845

15 years agore PR tree-optimization/40238 (ICE in gimple_verify_flow_info, at tree-cfg.c:4603)
Ira Rosen [Mon, 25 May 2009 07:56:32 +0000 (07:56 +0000)]
re PR tree-optimization/40238 (ICE in gimple_verify_flow_info, at tree-cfg.c:4603)

PR tree-optimization/40238
* tree-vect-stmts.c (vect_init_vector): Insert initialization
statements after basic block's labels.
* tree-vect-slp.c (vect_slp_transform_bb): Call destroy_bb_vec_info()
to free the allocated memory.

From-SVN: r147844

15 years agoDominique Dhumieres
Jerry DeLisle [Mon, 25 May 2009 03:07:00 +0000 (03:07 +0000)]
Dominique Dhumieres

2009-05-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Dominique Dhumieres

PR fortran/35732
PR fortran/39872
* trans-array.c (gfc_conv_ss_startstride): Add one to index.
* gfortran.dg/bounds_check_fail_3.f90: New test.
* gfortran.dg/bounds_check_fail_4.f90: New test.
* gfortran.dg/bounds_check_14.f90: Update test.
* gfortran.dg/bound_4.f90: Update test.

From-SVN: r147842

15 years agoDaily bump.
GCC Administrator [Mon, 25 May 2009 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147840

15 years agosh.c (sh_set_return_address): Mark store of return address with a USE.
Kaz Kojima [Sun, 24 May 2009 22:06:17 +0000 (22:06 +0000)]
sh.c (sh_set_return_address): Mark store of return address with a USE.

* gcc/config/sh/sh.c (sh_set_return_address): Mark store of
return address with a USE.

From-SVN: r147836

15 years agore PR tree-optimization/40233 (Test failures with "alignment of array elements is...
Richard Guenther [Sun, 24 May 2009 16:12:58 +0000 (16:12 +0000)]
re PR tree-optimization/40233 (Test failures with "alignment of array elements is greater than element size")

2009-05-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/40233
* tree.c (make_vector_type): Build the TYPE_DEBUG_REPRESENTATION_TYPEs
array type from the main variant of the inner type.

* gcc.c-torture/compile/pr40233.c: New testcase.

From-SVN: r147835

15 years agoMakefile.tpl (compare-target): Skip ./ada/*tools directories.
Nicolas Roche [Sun, 24 May 2009 12:39:17 +0000 (12:39 +0000)]
Makefile.tpl (compare-target): Skip ./ada/*tools directories.

* Makefile.tpl (compare-target): Skip ./ada/*tools directories.
* Makefile.in: Regenerate.

From-SVN: r147834

15 years agoerf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets.
Uros Bizjak [Sun, 24 May 2009 11:26:53 +0000 (13:26 +0200)]
erf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets.

* gfortran.dg/erf_2.F90 (dg-options): Add -mieee
for alpha*-*-* targets.

From-SVN: r147833

15 years agovax-protos.h (legitimate_constant_address_p): Change definition to bool (from int...
Jan-Benedict Glaw [Sun, 24 May 2009 11:25:11 +0000 (11:25 +0000)]
vax-protos.h (legitimate_constant_address_p): Change definition to bool (from int) to un-break build.

2009-05-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/vax/vax-protos.h (legitimate_constant_address_p): Change
definition to bool (from int) to un-break build.
(legitimate_constant_p, vax_mode_dependent_address_p): Likewise.

From-SVN: r147832

15 years agotree-ssa-operands.h (push_stmt_changes, [...]): Delete.
Paolo Bonzini [Sun, 24 May 2009 11:20:29 +0000 (11:20 +0000)]
tree-ssa-operands.h (push_stmt_changes, [...]): Delete.

2009-05-24  Paolo Bonzini  <bonzini@gnu.org>

* tree-ssa-operands.h (push_stmt_changes, pop_stmt_changes,
discard_stmt_changes): Delete.
* tree-ssa-operands.c (scb_stack): Delete.
(init_ssa_operands): Do not initialize it.
(fini_ssa_operands): Do not free it.
(push_stmt_changes, pop_stmt_changes, discard_stmt_changes): Delete.

* tree-cfg.c (replace_uses_by): Replace pop_stmt_changes with
update_stmt, remove the others.  Fix comments.
* tree-dfa.c (optimize_stack_restore): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr): Likewise.
* tree-ssa-loop-ivopts.c (rewrite_use): Likewise.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (optimize_stack_restore, execute_fold_all_builtins):
Likewise.
* tree-ssa-propagate.c (substitute_and_fold): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
(dom_opt_finalize_block): Likewise, adjusting access to stmts_to_rescan.
(optimize_stmt): Likewise, adjusting access to stmts_to_rescan.
(stmts_to_rescan): Change item type to gimple.
(tree_ssa_dominator_optimize): Change type of stmts_to_rescan.

From-SVN: r147831

15 years agoswitch.adb (Is_Internal_GCC_Switch, [...]): Bodies of ...
Olivier Hainque [Sun, 24 May 2009 09:14:53 +0000 (09:14 +0000)]
switch.adb (Is_Internal_GCC_Switch, [...]): Bodies of ...

        * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
        * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
        Add -auxbase variants to the list of recognized internal switches.
        * back_end.adb (Scan_Back_End_Switches): Use the new functions and
        adjust comments.
        * lib.ads: Make comment on internal GCC switches more general.
        * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
        as for C.

From-SVN: r147830

15 years agopasses.texi (Tree-SSA passes): Document SLP pass.
Ira Rosen [Sun, 24 May 2009 08:44:56 +0000 (08:44 +0000)]
passes.texi (Tree-SSA passes): Document SLP pass.

* doc/passes.texi (Tree-SSA passes): Document SLP pass.
* tree-pass.h (pass_slp_vectorize): New pass.
* params.h (SLP_MAX_INSNS_IN_BB): Define.
* timevar.def (TV_TREE_SLP_VECTORIZATION): Define.
* tree-vectorizer.c (timevar.h): Include.
(user_vect_verbosity_level): Declare.
(vect_location): Fix comment.
(vect_set_verbosity_level): Update user_vect_verbosity_level
instead of vect_verbosity_level.
(vect_set_dump_settings): Add an argument. Ignore user defined
verbosity if dump flags require higher level of verbosity. Print to
stderr only for loop vectorization.
(vectorize_loops): Update call to vect_set_dump_settings.
(execute_vect_slp): New function.
(gate_vect_slp): Likewise.
(struct gimple_opt_pass pass_slp_vectorize): New.
* tree-vectorizer.h (struct _bb_vec_info): Define along macros to
access its members.
(vec_info_for_bb): New function.
(struct _stmt_vec_info): Add bb_vinfo and a macro for its access.
(VECTORIZATION_ENABLED): New macro.
(SLP_ENABLED, SLP_DISABLED): Likewise.
(vect_is_simple_use): Add bb_vec_info argument.
(new_stmt_vec_info, vect_analyze_data_ref_dependences,
vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
vect_analyze_data_ref_accesses, vect_analyze_data_refs,
vect_schedule_slp, vect_analyze_slp): Likewise.
(vect_analyze_stmt): Add slp_tree argument.
(find_bb_location): Declare.
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
* tree-vect-loop.c (new_loop_vec_info): Adjust function calls.
(vect_analyze_loop_operations, vect_analyze_loop,
get_initial_def_for_induction, vect_create_epilog_for_reduction,
vect_finalize_reduction, vectorizable_reduction,
vectorizable_live_operation, vect_transform_loop): Likewise.
* tree-data-ref.c (dr_analyze_innermost): Update comment,
skip evolution analysis if analyzing a basic block.
(dr_analyze_indices): Likewise.
(initialize_data_dependence_relation): Skip the test whether the
object is invariant for basic blocks.
(compute_all_dependences): Skip dependence analysis for data
references in basic blocks.
(find_data_references_in_stmt): Don't fail in case of invariant
access in basic block.
(find_data_references_in_bb): New function.
(find_data_references_in_loop): Move code to
find_data_references_in_bb    and add a call to it.
(compute_data_dependences_for_bb): New function.
* tree-data-ref.h (compute_data_dependences_for_bb): Declare.
* tree-vect-data-refs.c (vect_check_interleaving): Adjust to the case
that STEP is 0.
(vect_analyze_data_ref_dependence): Check for interleaving in case of
unknown dependence in basic block and fail in case of dependence in
basic block.
(vect_analyze_data_ref_dependences): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_compute_data_ref_alignment): Check if it is loop vectorization
before calling nested_in_vect_loop_p.
(vect_compute_data_refs_alignment): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_verify_datarefs_alignment): Likewise.
(vect_enhance_data_refs_alignment): Adjust function calls.
(vect_analyze_data_refs_alignment): Likewise.
(vect_analyze_group_access): Fix printing. Skip different checks if
DR_STEP is 0. Keep strided stores either in loop or basic block
vectorization data structure. Fix indentation.
(vect_analyze_data_ref_access): Fix comments, allow zero step in
basic blocks.
(vect_analyze_data_ref_accesses): Add bb_vinfo argument, get data
dependence instances from either loop or basic block vectorization
info.
(vect_analyze_data_refs): Update comment. Call
compute_data_dependences_for_bb to analyze basic blocks.
(vect_create_addr_base_for_vector_ref): Check for outer loop only in
case of loop vectorization. In case of basic block vectorization use
data-ref itself   as  a base.
(vect_create_data_ref_ptr): In case of basic block vectorization:
don't advance the pointer, add new statements before the current
statement.  Adjust function calls.
(vect_supportable_dr_alignment): Support only aligned accesses in
basic block vectorization.
* common.opt (ftree-slp-vectorize): New flag.
* tree-vect-patterns.c (widened_name_p): Adjust function calls.
(vect_pattern_recog_1): Likewise.
* tree-vect-stmts.c (process_use): Likewise.
(vect_init_vector): Add new statements in the beginning of the basic
block in case of basic block SLP.
(vect_get_vec_def_for_operand): Adjust function calls.
(vect_finish_stmt_generation): Likewise.
(vectorizable_call): Add assert that it is loop vectorization, adjust
function calls.
(vectorizable_conversion, vectorizable_assignment): Likewise.
(vectorizable_operation): In case of basic block SLP, take
vectorization factor from statement's type and skip the relevance
check. Adjust function calls.
(vectorizable_type_demotion): Add assert that it is loop
vectorization, adjust function calls.
(vectorizable_type_promotion): Likewise.
(vectorizable_store): Check for outer loop only in case of loop
vectorization. Adjust function calls. For basic blocks, skip the
relevance check and don't advance pointers.
(vectorizable_load): Likewise.
(vectorizable_condition): Add assert that it is loop vectorization,
adjust function calls.
(vect_analyze_stmt): Add argument. In case of basic block SLP, check
that it is not reduction, get vector type, call only supported
functions, skip loop    specific parts.
(vect_transform_stmt): Check for outer loop only in case of loop
vectorization.
(new_stmt_vec_info): Add new argument and initialize bb_vinfo.
(vect_is_simple_use): Fix comment, add new argument, fix conditions
for external definition.
* passes.c (pass_slp_vectorize): New pass.
* tree-vect-slp.c (find_bb_location): New function.
(vect_get_and_check_slp_defs): Add argument, adjust function calls,
check for patterns only in loops.
(vect_build_slp_tree): Add argument, adjust function calls, fail in
case of multiple types in basic block SLP.
(vect_mark_slp_stmts_relevant): New function.
(vect_supported_load_permutation_p): Fix comment.
(vect_analyze_slp_instance): Add argument. In case of basic block
SLP, take vectorization factor from statement's type, check that
unrolling factor is 1. Adjust function call. Save SLP instance in
either loop or basic block vectorization structure. Return FALSE,
if SLP failed.
(vect_analyze_slp): Add argument. Get strided stores groups from
either loop or basic block vectorization structure. Return FALSE
if basic block SLP failed.
(new_bb_vec_info): New function.
(destroy_bb_vec_info, vect_slp_analyze_node_operations,
vect_slp_analyze_operations, vect_slp_analyze_bb): Likewise.
(vect_schedule_slp): Add argument. Get SLP instances from either
loop or basic block vectorization structure. Set vectorization factor
to be 1 for basic block SLP.
(vect_slp_transform_bb): New function.
* params.def (PARAM_SLP_MAX_INSNS_IN_BB): Define.

From-SVN: r147829

15 years agoinitializer_list (initializer_list): Add missing typedefs.
Eelis van der Weegen [Sun, 24 May 2009 04:44:50 +0000 (04:44 +0000)]
initializer_list (initializer_list): Add missing typedefs.

2009-05-24  Eelis van der Weegen  <eelis@eelis.net>

* libsupc++/initializer_list (initializer_list): Add missing typedefs.

From-SVN: r147828

15 years agoDaily bump.
GCC Administrator [Sun, 24 May 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147827

15 years agofinal.c (shorten_branches): Do not align labels for jump tables.
Mark Mitchell [Sat, 23 May 2009 17:56:14 +0000 (17:56 +0000)]
final.c (shorten_branches): Do not align labels for jump tables.

* final.c (shorten_branches): Do not align labels for jump tables.
(final_scan_insn): Use JUMP_TABLE_DATA_P.

* gcc.dg/falign-labels-1.c: New test.

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

15 years agopasses.texi: Standardize spelling of RTL, Tree and Tree SSA.
Eric Botcazou [Sat, 23 May 2009 17:54:11 +0000 (17:54 +0000)]
passes.texi: Standardize spelling of RTL, Tree and Tree SSA.

* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
Remove outdated reference to flow.c and fix nits.
* doc/gccint.texi: Tweak RTL description.
* doc/rtl.texi: Likewise.

From-SVN: r147821

15 years ago* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.
Eric Botcazou [Sat, 23 May 2009 10:56:12 +0000 (10:56 +0000)]
* gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko.

From-SVN: r147820

15 years agodecl.c (set_rm_size): Bypass the check for packed array types.
Eric Botcazou [Sat, 23 May 2009 10:51:18 +0000 (10:51 +0000)]
decl.c (set_rm_size): Bypass the check for packed array types.

* gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
types.

From-SVN: r147819

15 years agodecl.c (gnat_to_gnu_entity): Do not modify the original type because of the alignment...
Eric Botcazou [Sat, 23 May 2009 10:37:34 +0000 (10:37 +0000)]
decl.c (gnat_to_gnu_entity): Do not modify the original type because of the alignment when...

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
original type because of the alignment when there is an address clause.

From-SVN: r147818

15 years agoavr.c: Change my email address.
Denis Chertykov [Sat, 23 May 2009 07:16:07 +0000 (11:16 +0400)]
avr.c: Change my email address.

* config/avr/avr.c: Change my email address.
* config/avr/avr.h: Likewise.
* config/avr/avr.md: Likewise.
* config/avr/avr-protos.h: Likewise.
* config/avr/libgcc.S: Likewise.

From-SVN: r147817

15 years agoTrevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Trevor Smigiel [Sat, 23 May 2009 02:28:14 +0000 (02:28 +0000)]
Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
(spu_split_load, spu_split_store): Change return type to int.
(spu_split_convert): Declare.
* config/spu/predicates.md (spu_mem_operand): Remove.
(spu_mov_operand): Update.
(spu_dest_operand, shiftrt_operator, extend_operator): Define.
* config/spu/spu.c (regno_aligned_for_load): Remove.
(reg_aligned_for_addr, spu_expand_load): Define.
(spu_expand_extv): Reimplement and handle MEM.
(spu_expand_insv): Handle MEM.
(spu_sched_reorder): Handle insn's with length 0.
(spu_legitimate_address_p): Reimplement.
(store_with_one_insn_p): Return TRUE for any mode with size
larger than 16 bytes.
(address_needs_split): Define.
(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
operands.
(spu_convert_move): Define.
(spu_split_load): Use spu_expand_load and change all MEM's to
TImode.
(spu_split_store): Change all MEM's to TImode.
(spu_init_expanders): Preallocate registers that correspond to
LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
mark_reg_pointer.
(spu_split_convert): Define.
* config/spu/spu.md (QHSI, QHSDI): New mode iterators.
(_move<mode>, _movdi, _movti): Update predicate and condition.
(load, store): Change to define_split.
(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
extend<mode>ti2.
(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
define_insn_and_split of lshr<mode>3.
(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
(<v>ashr<mode>3_imm): Define.
(extv, extzv, insv): Allow MEM operands.
(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
(_spu_convert2): Change to define_insn_and_split and remove the
corresponding define_peephole2.
(stack_protect_set, stack_protect_test, stack_protect_test_si):
Change predicates to memory_operand.

From-SVN: r147814

15 years agoFix typo in ChangeLog
Mark Mitchell [Sat, 23 May 2009 01:36:37 +0000 (01:36 +0000)]
Fix typo in ChangeLog

From-SVN: r147813

15 years agothumb2.md: Add 16-bit multiply instructions.
Mark Mitchell [Sat, 23 May 2009 01:34:53 +0000 (01:34 +0000)]
thumb2.md: Add 16-bit multiply instructions.

* config/arm/thumb2.md: Add 16-bit multiply instructions.
gcc/testsuite/

* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
New function.
* gcc.target/arm/thumb2-mul-space.c: New file.
* gcc.target/arm/thumb2-mul-space-2.c: New file.
* gcc.target/arm/thumb2-mul-space-3.c: New file.
* gcc.target/arm/thumb2-mul-speed.c: New file.

From-SVN: r147812

15 years agoDaily bump.
GCC Administrator [Sat, 23 May 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r147811