OSDN Git Service

pf3gnuchains/gcc-fork.git
15 years ago2005-04-12 Frank Ch. Eigler <fche@redhat.com>
fche [Tue, 12 Apr 2005 18:09:09 +0000 (18:09 +0000)]
2005-04-12  Frank Ch. Eigler  <fche@redhat.com>

PR mudflap/19266
From Richard Henderson <rth@redhat.com>:
* tree-mudflap.c (mf_build_check_statement_for): Correct block
splitting logic.

2005-04-12  Frank Ch. Eigler  <fche@redhat.com>

PR mudflap/19266
* testsuite/libmudflap.c++/c++frags.exp: Also test -O permutation.
* testsuite/libmudflap.c++/pass57-frag.cxx: New test.

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

15 years ago * tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.
dorit [Tue, 12 Apr 2005 18:01:19 +0000 (18:01 +0000)]
* tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.

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

15 years ago2005-04-12 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Tue, 12 Apr 2005 17:47:48 +0000 (17:47 +0000)]
2005-04-12  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/alias-1.c: Fix spelling of optimized.

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

15 years ago * config/bfin/bfin.c (bfin_library_id_string): Remove.
bernds [Tue, 12 Apr 2005 14:26:52 +0000 (14:26 +0000)]
* config/bfin/bfin.c (bfin_library_id_string): Remove.
(bfin_library_id): New variable.
(bfin_expand_prologue): Use bfin_library_id and bfin_lib_id_given
instead of bfin_library_id_string.
(bfin_handle_option): New function.
(override_options): Remove most code to deal with shared library IDs,
just check they aren't used without -mid-shared-library.
(TARGET_HANDLE_OPTION): Define.
* config/bfin/bfin.h (TARGET_OPTIONS): Delete macro.
* config/bfin/bfin.opt (mshared-library-id=): New.

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

15 years ago * configure.ac: Check declarations for basename, ffs,
gdr [Tue, 12 Apr 2005 14:23:48 +0000 (14:23 +0000)]
    * configure.ac: Check declarations for basename, ffs,
          asprintf, vasprintf.
        * configure: Regenerate.
        * config.in: Likewise.

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

15 years ago * simplify.c: Fix a comment typo.
kazu [Tue, 12 Apr 2005 14:10:38 +0000 (14:10 +0000)]
* simplify.c: Fix a comment typo.

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

15 years ago * tree-vect-transform.c: Fix comment typos.
kazu [Tue, 12 Apr 2005 14:07:24 +0000 (14:07 +0000)]
* tree-vect-transform.c: Fix comment typos.

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

15 years ago> 2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>
hagog [Tue, 12 Apr 2005 12:23:49 +0000 (12:23 +0000)]
> 2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>
>
>       * postreload-gcse.c (eliminate_partially_redundant_load): Don't
>       split critical edges when not possible/profitable.

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

15 years ago * config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
rsandifo [Tue, 12 Apr 2005 10:18:59 +0000 (10:18 +0000)]
* config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
(MASK_REGPARM, MASK_32532, MASK_32332, MASK_NO_SB, MASK_NO_BITFIELD)
(MASK_HIMEM, MASK_32381, MASK_MULT_ADD, MASK_SRC, MASK_IEEE_COMPARE)
(TARGET_32081, TARGET_32381, TARGET_MULT_ADD, TARGET_RTD)
(TARGET_REGPARM, TARGET_32532, TARGET_32332, TARGET_SB, TARGET_HIMEM)
(TARGET_BITFIELD, TARGET_IEEE_COMPARE, TARGET_SWITCHES): Delete.
(OVERRIDE_OPTIONS): Clear MASK_SB instead of setting MASK_NO_SB.
* config/ns32k/netbsd.h (TARGET_DEFAULT): Remove MASK_NO_SB and
MASK_NO_BITFIELD.
* config/ns32k/ns32k.c (ns32k_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
* config/ns32k/ns32k.opt: New file.

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

15 years ago * config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
rsandifo [Tue, 12 Apr 2005 10:16:47 +0000 (10:16 +0000)]
* config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
* config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
(MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
(TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
(MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
(TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
(MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
(MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
(MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
(TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
(TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
(MASK_COLDFIRE): Formatting fixes.
(TARGET_COLDFIRE): Turn into a boolean value for consistency.
* config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
* config/m68k/m68k.c (m68k_library_id_string): Initialize to
"_current_shared_library_a5_offset_".
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(MASK_ALL_CPU_BITS): New macro.
(m68k_handle_option): New function.
(override_options): Remove handling of m68k_library_id_string.
* config/m68k/m68k.opt: New file.
* config/m68k/ieee.opt: New file.

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

15 years agofortran/
rsandifo [Tue, 12 Apr 2005 08:35:26 +0000 (08:35 +0000)]
fortran/
* lang.opt: Refer to the GCC internals documentation instead of c.opt.

ada/
* lang.opt: Refer to the GCC internals documentation instead of c.opt.

java/
* lang.opt: Refer to the GCC internals documentation instead of c.opt.

treelang/
* lang.opt: Refer to the GCC internals documentation instead of c.opt.

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

15 years ago * target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
mmitchel [Tue, 12 Apr 2005 06:33:48 +0000 (06:33 +0000)]
* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
(TARGET_CXX): Adjust accordingly.
* target.h (struct gcc_target): Remove epxort_class_data.  Add
determine_class_data_visibility and class_data_always_comdat.
* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.c (arm_cxx_export_class_data): Remove.
(arm_cxx_determine_class_data_visibility): New.
(arm_cxx_class_data_always_comdat): Likewise.
(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
Define.

* decl2.c (determine_visibility): Don't use export_class_data.
(import_export_decl): Honor TARGET_CXX_CLASS_DATA_ALWAYS_WEAK and
TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY.

* testsuite/g++.dg/ext/visibility/arm2.C: New test.
* testsuite/g++.dg/ext/visibility/arm3.C: Likewise.
* testsuite/g++.dg/ext/visibility/symbian2.C: Likewise.

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

15 years ago * lib/wrapper.exp (${tool}_maybe_build_wrapper): Don't unset gluefile.
mmitchel [Tue, 12 Apr 2005 06:26:39 +0000 (06:26 +0000)]
* lib/wrapper.exp (${tool}_maybe_build_wrapper): Don't unset gluefile.

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

15 years ago * gcc.dg/i386-darwin-fpmath.c: New.
geoffk [Tue, 12 Apr 2005 02:10:57 +0000 (02:10 +0000)]
* gcc.dg/i386-darwin-fpmath.c: New.

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

15 years ago * config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
geoffk [Tue, 12 Apr 2005 01:46:38 +0000 (01:46 +0000)]
* config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
* config/i386/darwin.h (TARGET_FPMATH_DEFAULT): New.
* config/i386/i386.c (override_options): Use TARGET_FPMATH_DEFAULT.

* config/i386/darwin.h (ASM_SPEC): Use -arch i386 not -arch i686.
(SUBTARGET_EXTRA_SPECS): Always 'i386'.

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

15 years ago * dwarf2out.c (output_line_info): Don't try to dereference
geoffk [Tue, 12 Apr 2005 01:45:43 +0000 (01:45 +0000)]
* dwarf2out.c (output_line_info): Don't try to dereference
a NULL current_function_decl.

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

15 years ago * tree-data-ref.c (build_classic_dist_vector,
dpatel [Tue, 12 Apr 2005 01:35:54 +0000 (01:35 +0000)]
     * tree-data-ref.c (build_classic_dist_vector,
         compute_subscript_distance): Make externally visible.
         * tree-data-ref.h (build_classic_dist_vector,
         compute_subscript_distance): Same.
         * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
         Check distance vector against vectorization factor.
         (vect_analyze_loop): Determine vectorizaion factor before
         analyzing data dependences.
         * tree-vectorizer.c (loops_num): Make it externally visible and
         rename ...
         * tree-vectorizer.c (vect_loops_num): ... new name.
         * tree-vectorizer.h  (vect_loops_num): New.

         * tree-vect-analyze.c (vect_analyze_operations): Check
         vectorizable codition.
         * tree-vect-transform.c (vect_is_simple_cond): New function.
         (vectorizable_condition): New function.
         (vect_transform_stmt): Handle condition_vec_info_type.
         * tree-vectorizer.h (enum stmt_vec_info_type): Add
         condition_vec_info_type.
         (vectorizable_condition): New.

         * lib/target-supports.exp (check_effective_target_vect_condition): New.
         * gcc.dg/vect/vect-ifcvt-1.c: New test.
         * gcc.dg/vect/vect-ifcvt-2.c: New test.
         * gcc.dg/vect/vect-ifcvt-3.c: New test.
         * gcc.dg/vect/vect-ifcvt-4.c: New test.
         * gcc.dg/vect/vect-ifcvt-5.c: New test.
         * gcc.dg/vect/vect-ifcvt-6.c: New test.
         * gcc.dg/vect/vect-ifcvt-7.c: New test.
         * gcc.dg/vect/vect-none.c: Now one loop is vectorized.

         * gcc.dg/vect/vect-dv-1.c: New test.
         * gcc.dg/vect/vect-dv-2.c: New test.

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

15 years agoDaily bump.
gccadmin [Tue, 12 Apr 2005 00:16:23 +0000 (00:16 +0000)]
Daily bump.

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

15 years ago * config/t-slibgcc-darwin: Don't put shared libraries in
geoffk [Mon, 11 Apr 2005 23:30:44 +0000 (23:30 +0000)]
* config/t-slibgcc-darwin: Don't put shared libraries in
directories other than $(slibdir).
* config/rs6000/darwin.h: Find -m64 libgcc under the name the
OS uses for it.

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

15 years ago PR tree-optimization/20933
dnovillo [Mon, 11 Apr 2005 22:06:46 +0000 (22:06 +0000)]
PR tree-optimization/20933
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Move
logic to reject aliases between read-only and writable
variables ...
(may_alias_p): ... here.
(get_tmt_for): Do not associate read-only tags to pointers
whose pointed-to type is not read-only.
* tree-ssa.c (verify_ssa): Check that memory stores have at
least one V_MAY_DEF or V_MUST_DEF.

testsuite/ChangeLog

PR tree-optimization/20933
* gcc.dg/tree-ssa/pr20933.c: New test.

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

15 years agofortran/
tobi [Mon, 11 Apr 2005 21:48:27 +0000 (21:48 +0000)]
fortran/
* simplify.c (gfc_simplify_nearest): Overhaul.

testsuite/
* gfortran.dg/fold_nearest.f90: New test.

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

15 years agofixincludes:
ghazi [Mon, 11 Apr 2005 21:46:59 +0000 (21:46 +0000)]
fixincludes:
* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.

* configure, config.h.in: Regenerate.

gcc:
PR/17092
* configure.ac (gcc_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.

* configure, config.in: Regenerate.

libcpp:
* configure.ac (libcpp_UNLOCKED_FUNCS): New.
(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
* system.h (putchar, getc, getchar, clearerr, feof, fileno,
fflush, fgetc, fgets, ferror, fread): Redefine to the associated
_unlocked function.
(fwrite_unlocked): Fix prototype.

* configure, config.in: Regenerate.

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

15 years ago * tree-ssa-loop-im.c: Include real.h.
dje [Mon, 11 Apr 2005 20:17:38 +0000 (20:17 +0000)]
    * tree-ssa-loop-im.c: Include real.h.
        (determine_invariantness_stmt): If real division divisor is
        invariant and flag_unsafe_math_optimizations enabled, generate
        invariant reciprocal for hoisting.
        * Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.

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

15 years ago2005-04-11 Daniel Berlin <dberlin@dberlin.org>
dberlin [Mon, 11 Apr 2005 20:15:33 +0000 (20:15 +0000)]
2005-04-11  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/20926

* tree-ssa-alias.c (add_type_alias): Handle subvars.

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

15 years ago * config/rs6000.c (rs6000_emit_vector_select): Fix vector select
dpatel [Mon, 11 Apr 2005 19:47:44 +0000 (19:47 +0000)]
   * config/rs6000.c (rs6000_emit_vector_select): Fix vector select
       operand ordering.

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

15 years ago2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Mon, 11 Apr 2005 19:00:46 +0000 (19:00 +0000)]
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_binary_op_with_conditional_arg):
        use fold_buildN instead of "fold (buildN" in some
        non obvious places.
        (fold_unary): Likewise.
        (fold_binary): Likewise.

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

15 years ago2005-04-11 Daniel Berlin <dberlin@dberlin.org>
dberlin [Mon, 11 Apr 2005 18:55:47 +0000 (18:55 +0000)]
2005-04-11  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/20612
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
handling
(perfect_nestify): preheaderbb is *not* part of loop of the
old destination.

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

15 years ago2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
pinskia [Mon, 11 Apr 2005 18:25:08 +0000 (18:25 +0000)]
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/alias-1.c: New test.
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-ssa-alias.c (may_alias_p): If the variable
        is a global variable and the pointer is parameter
        and -fargument-noalias-global is used, then
        the pointer cannot alias the variable.

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

15 years agoinclude:
ghazi [Mon, 11 Apr 2005 17:49:47 +0000 (17:49 +0000)]
include:
* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
Provide prototypes for new functions.

libiberty:
* Makefile.in (CFILES): Add fopen_unlocked.c.
(REQUIRED_OFILES): Add ./fopen_unlocked.o.
Regenerate dependencies.

* configure.ac: Check for stdio_ext.h and __fsetlocking.

* fopen_unlocked.c: New file.

* functions.texi, configure, config.in: Regenerate.

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

15 years ago2005-04-11 James A. Morrison <phython@gcc.gnu.org>
phython [Mon, 11 Apr 2005 17:40:55 +0000 (17:40 +0000)]
2005-04-11  James A. Morrison  <phython@gcc.gnu.org>

        * config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.
        * config/sparc/sparc.h: Likewise.
        * config/sparc/sparc.md: Likewise.

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

15 years ago * tree-vrp.c: Fix a comment typo.
kazu [Mon, 11 Apr 2005 16:05:56 +0000 (16:05 +0000)]
* tree-vrp.c: Fix a comment typo.

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

15 years ago * tree-vrp.c (maybe_add_assert_expr): Move a comment.
kazu [Mon, 11 Apr 2005 16:01:37 +0000 (16:01 +0000)]
* tree-vrp.c (maybe_add_assert_expr): Move a comment.

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

15 years agoAdd missing ChangeLog entry.
dnovillo [Mon, 11 Apr 2005 15:34:10 +0000 (15:34 +0000)]
Add missing ChangeLog entry.

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

15 years ago PR tree-optimization/20920
dnovillo [Mon, 11 Apr 2005 15:05:50 +0000 (15:05 +0000)]
PR tree-optimization/20920
* tree-pretty-print.c (dump_generic_node): Show '(ab)' if an
SSA_NAME flows through an abnormal edge.
* tree-vrp.c (infer_value_range): Ignore SSA names that flow
through abnormal edges.
(maybe_add_assert_expr): Likewise.

PR tree-optimization/20920
* g++.dg/tree-ssa/pr20920.C: New test.

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

15 years ago * config/s390/s390.h (s390_tune_string, s390_arch_string)
rsandifo [Mon, 11 Apr 2005 14:04:07 +0000 (14:04 +0000)]
* config/s390/s390.h (s390_tune_string, s390_arch_string)
(s390_warn_framesize_string, s390_warn_dynamicstack_string)
(s390_stack_size_string, s390_stack_guard_string, target_flags)
(MASK_HARD_FLOAT, MASK_SMALL_EXEC, MASK_DEBUG_ARG, MASK_64BIT)
(MASK_ZARCH, MASK_MVCLE, MASK_TPF_PROFILING, MASK_NO_FUSED_MADD)
(MASK_BACKCHAIN, MASK_PACKED_STACK, TARGET_HARD_FLOAT)
(TARGET_SOFT_FLOAT, TARGET_SMALL_EXEC, TARGET_DEBUG_ARG)
(TARGET_64BIT, TARGET_ZARCH, TARGET_MVCLE, TARGET_TPF_PROFILING)
(TARGET_NO_FUSED_MADD, TARGET_FUSED_MADD, TARGET_BACKCHAIN)
(TARGET_PACKED_STACK, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
* config/s390/s390.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
(TARGET_HANDLE_OPTION): Likewise.
(s390_tune): Initialize to PROCESSOR_max.
(s390_arch_string): Make static.
(s390_tune_string, s390_warn_framesize_string): Delete.
(s390_warn_dynamicstack_string, s390_stack_size_string): Delete.
(s390_stack_guard_string, s390_warn_dynamicstack_p): Delete.
(s390_handle_arch_option, s390_handle_option): New functions.
(override_options): Remove parsing of option strings.
* config/s390/s390.opt: New file.

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

15 years ago2005-04-11 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 11 Apr 2005 12:11:46 +0000 (12:11 +0000)]
2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

* tree-complex.c (expand_vector_operations): Call
update_stmt_if_modified.

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

15 years ago2005-04-11 Paolo Bonzini <bonzini@gnu.org>
bonzini [Mon, 11 Apr 2005 07:31:21 +0000 (07:31 +0000)]
2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

* tree-vect-analyze (vect_determine_vectorization_factor):
Do not use GET_MODE_NUNITS.
* tree-vect-transform.c (vect_get_vec_def_for_operand,
(vectorizable_load, vect_transform_loop): Likewise.

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

15 years ago * builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
uros [Mon, 11 Apr 2005 06:16:39 +0000 (06:16 +0000)]
* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
* optabs.h (enum optab_index): Add new OTI_lceil.
(lceil_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize lceil_optab.
* genopinit.c (optabs): Implement lceil_optab using lceilsi2
and lceildi2 patterns.

* builtins.c (expand_builtin_int_roundingfn): Handle
BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.

* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
into lceil built-in function and (long long int)ceil{,f,l} into
llceil built-in function.
* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
BUILT_IN_LLCEIL.
testsuite:

* gcc.dg/builtins-53.c: Also check (int)ceil* and
(long long int)ceil*.

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

15 years ago * pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
danglin [Mon, 11 Apr 2005 03:06:13 +0000 (03:06 +0000)]
* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
zero.

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

15 years agoDaily bump.
gccadmin [Mon, 11 Apr 2005 00:16:24 +0000 (00:16 +0000)]
Daily bump.

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

15 years ago * g++.dg/warn/Wdtor1.C: Declare template in system header with
mmitchel [Sun, 10 Apr 2005 22:39:22 +0000 (22:39 +0000)]
* g++.dg/warn/Wdtor1.C: Declare template in system header with
explicit C++ linkage.

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

15 years ago * interface.c: Fix a comment typo.
kazu [Sun, 10 Apr 2005 17:49:46 +0000 (17:49 +0000)]
* interface.c: Fix a comment typo.

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

15 years ago * adaint.c, init.c, tracebak.c: Fix comment typos.
kazu [Sun, 10 Apr 2005 17:38:53 +0000 (17:38 +0000)]
* adaint.c, init.c, tracebak.c: Fix comment typos.
* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.

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

15 years ago * config/arm/arm.c: Fix a comment typo.
kazu [Sun, 10 Apr 2005 17:26:03 +0000 (17:26 +0000)]
* config/arm/arm.c: Fix a comment typo.
* doc/tree-ssa.texi: Fix a typo.

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

15 years ago * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
fxcoudert [Sun, 10 Apr 2005 16:01:54 +0000 (16:01 +0000)]
* match.c (match_arithmetic_if): Arithmetic IF is obsolete in
Fortran 95.

* gfortran.dg/pr17229.f: Take care of the new obsolescence
warning for arithmetic IF statements.

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

15 years ago * runtime/environ.c: Correct previous commit for obvious typo.
fxcoudert [Sun, 10 Apr 2005 13:08:12 +0000 (13:08 +0000)]
* runtime/environ.c: Correct previous commit for obvious typo.

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

15 years ago PR libfortran/20788
fxcoudert [Sun, 10 Apr 2005 10:37:59 +0000 (10:37 +0000)]
PR libfortran/20788
* runtime/environ.c (init_unsigned_integer): Function for
environment variables we want to be positive.
(init_integer): Function to allow negative environment
variables (e.g. for GFORTRAN_STDIN_UNIT).

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

15 years ago * cselib.c (clear_table): Rename to cselib_clear_table.
steven [Sun, 10 Apr 2005 08:45:25 +0000 (08:45 +0000)]
* cselib.c (clear_table): Rename to cselib_clear_table.
* cselib.h (cselib_clear_table): Add prototype.
* gcse.c (gcse_main): Make 'f' argument unused.
(alloc_gcse_mem): Do not walk the insn chain, walk the contents
of each basic block instead.
(compute_sets, compute_hash_table_work): Likewise.
(constprop_register): Change int 'alter_jumps' argument to bool.
(do_local_cprop): Likewise.
(local_cprop_pass): Likewise.  Also walk basic blocks instead of
the insn chain.  Explicitly clear the cselib tables after finishing
one basic block.  Make sure there are no unterminated libcall blocks.
Update compute_sets call.
(cprop): Walk basic blocks instead of the insn chain.
(one_cprop_pass, compute_ld_motion_mems, compute_store_table):
Likewise.
(bypass_jumps): Update alloc_gcse_mem, compute_sets, and
one_cprop_pass calls.

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

15 years ago2005-05-10 Thomas Koenig <Thomas Koenig>
tkoenig [Sun, 10 Apr 2005 08:43:55 +0000 (08:43 +0000)]
2005-05-10  Thomas Koenig  <Thomas Koenig>

Removed erroneous line from Changelog.

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

15 years ago2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Sun, 10 Apr 2005 08:35:39 +0000 (08:35 +0000)]
2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>

        PR libfortran/17992
        PR libfortran/19568
        PR libfortran/19595
        PR libfortran/20005
        PR libfortran/20092
        PR libfortran/20131
        PR libfortran/20138
        PR libfortran/20661
        PR libfortran/20744
        * io/transfer.c (top level): eor_condition: New static variable.
        (read_sf): Remove unnecessary zeroing of buffer (there is enough
        information in its length).
        Return a string of length 0 (to be padded by caller) if EOR was
        seen previously.
        Remove erroneous special casing of EOR for standard input.
        Set eor_condition for non-advancing I/O if an end of line was
        detected.
        Increment ioparm.size if necessary.
        (formatted_transfer):  Skip the function if there is an EOR condition.
        (data_transfer_init):  Initialize eor_condition to zero (false).
        (next_record_r):  Clear sf_seen_eor if a \n has been seen already.
        (finalize_transfer):  If there is an EOR condition, raise the error.

2005-04-10   Thomas Koenig  <Thomas.Koenig@online.de>

        * eor_handling_1.f90: New test case.
        * eor_handling_2.f90: New test case.
        * eor_handling_3.f90: New test case.
        * eor_handling_4.f90: New test case.
        * eor_handling_5.f90: New test case.
        * noadv_size.f90: New test case.
        * pad_no.f90: New test case.

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

15 years ago * combine.c (combine_simplify_rtx): Remove a transformation that
rsandifo [Sun, 10 Apr 2005 06:27:12 +0000 (06:27 +0000)]
* combine.c (combine_simplify_rtx): Remove a transformation that
relies on an invalid assumption about rtl sign-extension semantics.

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

15 years ago * value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
rsandifo [Sun, 10 Apr 2005 06:23:08 +0000 (06:23 +0000)]
* value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
to build_int_cst_wide.

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

15 years agogcc/ChangeLog:
aoliva [Sun, 10 Apr 2005 04:00:53 +0000 (04:00 +0000)]
gcc/ChangeLog:
PR target/20126
* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
set the original address pseudo to the correct value before the
original insn, if possible, and leave the insn alone, otherwise
create a new pseudo, set it and replace it in the insn.
* recog.c (validate_change_maybe_volatile): New.
* recog.h (validate_change_maybe_volatile): Declare.
gcc/testsuite/ChangeLog:
* gcc.dg/pr20126.c: New.

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

15 years ago* gfortran.dg/PR19872.f: New test.
kargl [Sun, 10 Apr 2005 03:46:22 +0000 (03:46 +0000)]
* gfortran.dg/PR19872.f: New test.

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

15 years agoPR fortran/19872
kargl [Sun, 10 Apr 2005 03:43:09 +0000 (03:43 +0000)]
PR fortran/19872
* io/transfer.c (data_transfer_init): truncate an existing
  file on the first write.

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

15 years agoDaily bump.
gccadmin [Sun, 10 Apr 2005 00:16:59 +0000 (00:16 +0000)]
Daily bump.

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

15 years agoFix dg-do directive.
kargl [Sat, 9 Apr 2005 23:21:12 +0000 (23:21 +0000)]
Fix dg-do directive.

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

15 years ago* gfortran.dg/nint_1.f90: New test.
kargl [Sat, 9 Apr 2005 22:44:24 +0000 (22:44 +0000)]
* gfortran.dg/nint_1.f90: New test.

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

15 years ago* simplify.c (gfc_simplify_anint): Use mpfr_round()
kargl [Sat, 9 Apr 2005 22:41:35 +0000 (22:41 +0000)]
* simplify.c (gfc_simplify_anint): Use mpfr_round()
(gfc_simplify_dnint): ditto.
(gfc_simplify_nint): ditto.

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

15 years ago2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Sat, 9 Apr 2005 21:38:47 +0000 (21:38 +0000)]
2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/19106
        PR libfortran/19014
        * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
        If retarray->data is NULL (i.e. the front end does not
        know the rank and dimenson of the array), fill in its
        properties and allocate memory.
        Change the assertions about rank and dimension of retarray into
        runtime errors and only check them for retarray->data != NULL.
        Do the same for correcting the stride from 0 to 1 in retarray.
        (`m'name`'rtype_qual`_'atype_code): Likewise.
        * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
        Change assertion about rank of array to runtime error.
        (`m'name`'rtype_qual`_'atype_code): Likewise.
        * generated/all_l4.c: Regenerated.
        * generated/all_l8.c: Regenerated.
        * generated/any_l4.c: Regenerated.
        * generated/any_l8.c: Regenerated.
        * generated/count_4_l4.c: Regenerated.
        * generated/count_4_l8.c: Regenerated.
        * generated/count_8_l4.c: Regenerated.
        * generated/count_8_l8.c: Regenerated.
        * generated/maxloc0_4_i4.c: Regenerated.
        * generated/maxloc0_4_i8.c: Regenerated.
        * generated/maxloc0_4_r4.c: Regenerated.
        * generated/maxloc0_4_r8.c: Regenerated.
        * generated/maxloc0_8_i4.c: Regenerated.
        * generated/maxloc0_8_i8.c: Regenerated.
        * generated/maxloc0_8_r4.c: Regenerated.
        * generated/maxloc0_8_r8.c: Regenerated.
        * generated/maxloc1_4_i4.c: Regenerated.
        * generated/maxloc1_4_i8.c: Regenerated.
        * generated/maxloc1_4_r4.c: Regenerated.
        * generated/maxloc1_4_r8.c: Regenerated.
        * generated/maxloc1_8_i4.c: Regenerated.
        * generated/maxloc1_8_i8.c: Regenerated.
        * generated/maxloc1_8_r4.c: Regenerated.
        * generated/maxloc1_8_r8.c: Regenerated.
        * generated/maxval_i4.c: Regenerated.
        * generated/maxval_i8.c: Regenerated.
        * generated/maxval_r4.c: Regenerated.
        * generated/maxval_r8.c: Regenerated.
        * generated/minloc0_4_i4.c: Regenerated.
        * generated/minloc0_4_i8.c: Regenerated.
        * generated/minloc0_4_r4.c: Regenerated.
        * generated/minloc0_4_r8.c: Regenerated.
        * generated/minloc0_8_i4.c: Regenerated.
        * generated/minloc0_8_i8.c: Regenerated.
        * generated/minloc0_8_r4.c: Regenerated.
        * generated/minloc0_8_r8.c: Regenerated.
        * generated/minloc1_4_i4.c: Regenerated.
        * generated/minloc1_4_i8.c: Regenerated.
        * generated/minloc1_4_r4.c: Regenerated.
        * generated/minloc1_4_r8.c: Regenerated.
        * generated/minloc1_8_i4.c: Regenerated.
        * generated/minloc1_8_i8.c: Regenerated.
        * generated/minloc1_8_r4.c: Regenerated.
        * generated/minloc1_8_r8.c: Regenerated.
        * generated/minval_i4.c: Regenerated.
        * generated/minval_i8.c: Regenerated.
        * generated/minval_r4.c: Regenerated.
        * generated/minval_r8.c: Regenerated.
        * generated/product_c4.c: Regenerated.
        * generated/product_c8.c: Regenerated.
        * generated/product_i4.c: Regenerated.
        * generated/product_i8.c: Regenerated.
        * generated/product_r4.c: Regenerated.
        * generated/product_r8.c: Regenerated.
        * generated/sum_c4.c: Regenerated.
        * generated/sum_c8.c: Regenerated.
        * generated/sum_i4.c: Regenerated.
        * generated/sum_i8.c: Regenerated.
        * generated/sum_r4.c: Regenerated.
        * generated/sum_r8.c: Regenerated.

2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        * gfortran.fortran-torture/execute/intrinsic_anyall.f90:
        Added test for callee-allocated arrays with write statements.
        * gfortran.fortran-torture/execute/intrinsic_count.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_mmloc.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_mmval.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_product.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_sum.f90: Likewise.

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

15 years agoFix problems with labels with hot/cold partitioning.
ctice [Sat, 9 Apr 2005 20:41:49 +0000 (20:41 +0000)]
Fix problems with labels with hot/cold partitioning.

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

15 years ago2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Sat, 9 Apr 2005 19:40:48 +0000 (19:40 +0000)]
2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/20163
        * gfortran.dg/open-options-blanks.f:  New test.

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

15 years ago2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
tkoenig [Sat, 9 Apr 2005 19:37:14 +0000 (19:37 +0000)]
2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>

        PR libfortran/20163
        * runtime/string.c (compare0): Use fstrlen() to
        strip trailing blanks from option string.

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

15 years ago * cp-tree.h (cp_deprecated): Remove.
kazu [Sat, 9 Apr 2005 19:16:29 +0000 (19:16 +0000)]
* cp-tree.h (cp_deprecated): Remove.

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

15 years ago2005-04-08 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Sat, 9 Apr 2005 18:50:52 +0000 (18:50 +0000)]
2005-04-08  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/Makefile.am: Remove libv3test.a.
* testsuite/Makefile.in: Regenerate.
* testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.

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

15 years agofix path to the new tests in my last changelog entry.
pinskia [Sat, 9 Apr 2005 18:45:39 +0000 (18:45 +0000)]
fix path to the new tests in my last changelog entry.

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

15 years agoPR fortran/13257
pinskia [Sat, 9 Apr 2005 18:44:07 +0000 (18:44 +0000)]
PR fortran/13257

fortran/ChangeLog:
* io.c (check_format): Allow an optional comma
between descriptors.

libgfortran/ChangeLog:
* format.c (parse_format_list): Allow an optional comma
between descriptors.

testsuite/ChangeLog:
* comma_format_extension_[1234].f: New tests.

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

15 years ago * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
jakub [Sat, 9 Apr 2005 17:19:58 +0000 (17:19 +0000)]
* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
and TI_VA_LIST_FPR_COUNTER_FIELD.
(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
* tree-pass.h (pass_stdarg): Add.
* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
* tree-stdarg.c: New file.
* tree-stdarg.h: New file.
* Makefile.in (OBJS-common): Add tree-stdarg.o.
(tree-stdarg.o): Add dependencies.
* function.h (struct function): Add va_list_gpr_size and
va_list_fpr_size fields.
* function.c (allocate_struct_function): Initialize them.
* target.h (struct gcc_target): Add stdarg_optimize_hook.
* target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define.
(TARGET_INITIALIZER): Add it.

* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(ix86_setup_incoming_varargs): Don't do anything if reg_save
area will not be used.  Only save registers that tree-stdarg.c
detected they need saving.
(ix86_va_start): Don't set up fields that won't be used.

* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
va_list_{g,f}pr_counter_field.
(setup_incoming_varargs): Don't do anything if reg_save
area will not be used.  Only save registers that tree-stdarg.c
detected they need saving.
(rs6000_va_start): Don't set up fields that won't be used.

* config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h.
(alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field.
(va_list_skip_additions, alpha_stdarg_optimize_hook): New functions.
(TARGET_STDARG_OPTIMIZE_HOOK): Define.

* gcc.dg/tree-ssa/stdarg-1.c: New test.
* gcc.dg/tree-ssa/stdarg-2.c: New test.
* gcc.dg/tree-ssa/stdarg-3.c: New test.
* gcc.dg/tree-ssa/stdarg-4.c: New test.
* gcc.dg/tree-ssa/stdarg-5.c: New test.
* gcc.c-torture/execute/stdarg-4.c: New test.

* gcc.dg/vmx/varargs-1.c (f1, f2, f3): Add missing va_end.

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

15 years ago PR target/20795
jakub [Sat, 9 Apr 2005 17:09:49 +0000 (17:09 +0000)]
PR target/20795
* config/i386/i386.c (construct_container): Pass empty aligned
struct, union or class in memory.

* g++.dg/abi/param2.C: New test.

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

15 years ago * cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.
kazu [Sat, 9 Apr 2005 16:58:14 +0000 (16:58 +0000)]
* cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.

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

15 years ago * cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
kazu [Sat, 9 Apr 2005 16:57:01 +0000 (16:57 +0000)]
* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
CONV_STATIC_CAST): Remove.

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

15 years ago * cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
kazu [Sat, 9 Apr 2005 16:55:03 +0000 (16:55 +0000)]
* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
CONV_STATIC_CAST): Remove.

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

15 years ago * cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove.
kazu [Sat, 9 Apr 2005 16:53:39 +0000 (16:53 +0000)]
* cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove.

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

15 years ago * cp-tree.h (cxx_alignof): Remove.
kazu [Sat, 9 Apr 2005 16:52:46 +0000 (16:52 +0000)]
* cp-tree.h (cxx_alignof): Remove.

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

15 years ago * sched-int.h (haifa_insn_data): Remove blockage and units.
kazu [Sat, 9 Apr 2005 16:51:48 +0000 (16:51 +0000)]
* sched-int.h (haifa_insn_data): Remove blockage and units.
(INSN_UNIT, INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK,
ENCODE_BLOCKAGE, UNIT_BLOCKED, BLOCKAGE_RANGE,
MIN_BLOCKAGE_COST, MAX_BLOCKAGE_COST): Remove.

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

15 years ago * dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
kazu [Sat, 9 Apr 2005 16:43:43 +0000 (16:43 +0000)]
* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c,
config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h,
config/rs6000/predicates.md: Fix comment typos.

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

15 years ago * cfglayout.c (copy_bbs): Rename n_edges to num_edges.
hubicka [Sat, 9 Apr 2005 16:09:11 +0000 (16:09 +0000)]
* cfglayout.c (copy_bbs): Rename n_edges to num_edges.
* cfgloop.c (get_loop_exit_edges): Likewise.
* cfgloopmanip.c (fix_irreducible_loops): Likewise.
(unloop): Likewise.
* loop-unroll.c (analyze_insns_in_loop): Likewise.
* tree-cfg.c (dump_cfg_status): Likewise.

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

15 years ago * config/rs6000/predicates.md (altivec_register_operand): Remove
dje [Sat, 9 Apr 2005 15:39:34 +0000 (15:39 +0000)]
    * config/rs6000/predicates.md (altivec_register_operand): Remove
        redundant match_code test.
        (gpc_reg_operand): Same.
        (cc_reg_operand): Same.
        (cc_reg_not_cr0_operand): Same.

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

15 years ago Forgotten hunk from my last merge patch:
hubicka [Sat, 9 Apr 2005 13:37:33 +0000 (13:37 +0000)]
Forgotten hunk from my last merge patch:
* final.c (output_addr_const): Do not call mark_referenced.

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

15 years ago2005-04-09 Andrew MacLeod <amacleod@redhat.com>
amacleod [Sat, 9 Apr 2005 12:07:44 +0000 (12:07 +0000)]
2005-04-09  Andrew MacLeod  <amacleod@redhat.com>

* doc/tree-ssa.texi: Add immediate use documentation.

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

15 years ago * arm.c (FL_WBUF): Define.
rearnsha [Sat, 9 Apr 2005 12:03:54 +0000 (12:03 +0000)]
* arm.c (FL_WBUF): Define.
(arm_tune_strongarm): Renamed from arm_is_strong.  All uses changed.
(arm_is_6_or_7): Delete.
(arm_tune_wbuf): New.
(arm_override_options): Set arm_tune_wbuf.
* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
(arm_is_6_or_7): Delete declaration.
(arm_tune_wbuf): New declartion.
* arm.md (is_strongarm): Derive from arm_tune_strongarm.
(model_wbuf): Derive from arm_tune_wbuf.
* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
(arm740t): Mark CPUs as having a write buffer.

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

15 years ago * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
fxcoudert [Sat, 9 Apr 2005 09:13:53 +0000 (09:13 +0000)]
* match.c (match_arithmetic_if): Remove gfc_ prefix and correct
comment according to GNU coding style.

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

15 years ago * config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
uros [Sat, 9 Apr 2005 05:39:47 +0000 (05:39 +0000)]
* config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
of 'const_double_operand' in operand 2 constraints.  Update enable
condition.

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

15 years ago * builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
uros [Sat, 9 Apr 2005 05:31:46 +0000 (05:31 +0000)]
* builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
* optabs.h (enum optab_index): Add new OTI_lfloor.
(lfloor_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize lfloor_optab.
* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
and lfloordi2 patterns.

* builtins.c (expand_builtin_int_roundingfn): New prototype.
(expand_builtin_int_roundingfn): New function.
(fold_builtin_int_roundingfn): New prototype.
(fold_builtin_int_roundingfn): New function, renamed from
fold_builtin_lround.
Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.

* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
into lfloor built-in function and (long long int)floor{,f,l} into
llfloor built-in function.
* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
BUILT_IN_LLFLOOR.

testsuite:

* gcc.dg/builtins-53.c: New test.

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

15 years ago./
ian [Sat, 9 Apr 2005 03:18:18 +0000 (03:18 +0000)]
./
* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def.
* c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h.
(DO_COND, DO_BODY): Likewise.
(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise.
(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise.
(c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT,
BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT.
(build_continue_stmt, build_break_stmt): Don't declare.
(c_do_switch_warnings): Update declaration.
* c-gimplify.c (enum bc_t): Remove.
(struct c_gimplify_ctx, ctxp): Remove.
(push_context, pop_context): Remove static functions.
(c_genericize): Don't call push_context or pop_context.
(begin_bc_block, finish_bc_block): Remove static functions.
(build_bc_goto): Likewise.
(gimplify_c_loop): Likewise.
(gimplify_for_stmt, gimplify_while_stmt): Likewise.
(gimplify_do_stmt, gimplify_switch_stmt): Likewise.
(c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT,
DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
* c-common.c (c_do_switch_warnings): Rename from
c_do_switch_warnings_1.
(c_do_switch_warnings) [old version]: Remove.
(c_do_switch_expr_warnings): Remove.
* c-typeck.c (c_finish_case): Call new c_do_switch_warnings
function instead of c_do_switch_expr_warnings.
* c-dump.c (c_dump_tree): Remove handling of BREAK_STMT,
CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT.
* c-pretty-print.c (pp_c_statement): Likewise.
* c-semantics.c (build_break_stmt, build_continue_stmt): Remove.
cp/
* cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
CONTINUE_STMT, SWITCH_STMT.
* cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT,
BREAK_STMT, CONTINUE_STMT, SWITCH_STMT.
(WHILE_COND, WHILE_BODY): Define.
(DO_COND, DO_BODY): Define.
(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define.
(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define.
* cp-gimplify.c (enum bc_t): Define.
(struct cp_gimplify_ctx, ctxp): Define.
(push_context, pop_context): New static functions.
(begin_bc_block, finish_bc_block): New static functions.
(build_bc_goto): New static function.
(gimplify_cp_loop, gimplify_for_stmt): New static functions.
(gimplify_while_stmt, gimplify_do_stmt): Likewise.
(gimplify_switch_stmt): Likewise.
(cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT,
SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
(cp_genericize): Call push_context and pop_context.
* semantics.c (finish_break_stmt): Just call build_stmt
(BREAK_STMT) rather than build_break_stmt.
(finish_continue_stmt): Corresponding change.
* decl.c (pop_switch): Update call to c_do_switch_warnings for new
parameters.
* cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT,
WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT.
* dump.c (cp_dump_tree): Likewise.

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

15 years ago Merge from tree-cleanup-branch: VRP, store CCP, store
dnovillo [Sat, 9 Apr 2005 01:37:54 +0000 (01:37 +0000)]
Merge from tree-cleanup-branch: VRP, store CCP, store
    copy-prop, incremental SSA updating of FUD chains and
    newly exposed symbols.

* Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h.
(OBJS-common): Add tree-vrp.o.
(tree-vrp.o): New rule.
* basic-block.h (nearest_common_dominator_for_set): Declare.
* common.opt (ftree-store-ccp): New flag.
(ftree-copy-prop): New flag.
(ftree-vrp): New flag.
(ftree-store-copy-prop): New flag.
* dominance.c (nearest_common_dominator_for_set): New.
* domwalk.c (walk_dominator_tree): Only traverse
statements in blocks marked in walk_data->interesting_blocks.
* domwalk.h (struct dom_walk_data): Add field interesting_blocks.
* fold-const.c (fold): Handle ASSERT_EXPR.
* opts.c (decode_options): Set flag_tree_copy_prop at -O1.
Set flag_tree_store_ccp, flag_tree_store_copy_prop and
flag_tree_vrp at -O2.
* timevar.def (TV_TREE_VRP): Define.
(TV_TREE_COPY_PROP): Define.
(TV_TREE_STORE_COPY_PROP): Define.
(TV_TREE_SSA_INCREMENTAL): Define.
(TV_TREE_STORE_CCP): Define.
* tree-cfg.c (tree_can_merge_blocks_p): Remove reference
to kill_redundant_phi_nodes from comment.
(verify_expr): Handle ASSERT_EXPR.
* tree-dfa.c (mark_new_vars_to_rename): Remove second
argument.  Update all users.
(mark_call_clobbered_vars_to_rename): Remove.  Update all
users.
* tree-flow-inline.h (unmodifiable_var_p): New.
* tree-flow.h (enum value_range_type): Declare.
(struct value_range_def): Declare.
(value_range): Declare.
(remove_all_phi_nodes_for): Remove.  Update all users.
(find_phi_node_for): Declare.
(add_type_alias): Declare.
(count_uses_and_derefs): Declare.
(kill_redundant_phi_nodes): Remove.
(rewrite_into_ssa): Remove.
(rewrite_def_def_chains): Remove.
(update_ssa, register_new_name_mapping, create_new_def_for,
need_ssa_update_p, name_registered_for_update_p,
release_ssa_name_after_update_ssa, dump_repl_tbl,
debug_repl_tbl, dump_names_replaced_by,
debug_names_replaced_by, mark_sym_for_renaming,
mark_set_for_renaming, get_current_def, set_current_def,
get_value_range, dump_value_range, debug_value_range,
dump_all_value_ranges, debug_all_value_ranges,
expr_computes_nonzero, loop_depth_of_name,
unmodifiable_var_p): Declare.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle
ASSERT_EXPR.
* tree-into-ssa.c (block_defs_stack): Update comment.
(old_ssa_names, new_ssa_names, old_virtual_ssa_names,
syms_to_rename, names_to_release, repl_tbl,
need_to_initialize_update_ssa_p, need_to_update_vops_p,
need_to_replace_names_p): New locals.
(NAME_SETS_GROWTH_FACTOR): Define.
(struct repl_map_d): Declare.
(struct mark_def_sites_global_data): Add field
interesting_blocks.
(enum rewrite_mode): Declare.
(REGISTER_DEFS_IN_THIS_STMT): Define.
(compute_global_livein): Use last_basic_block instead of
n_basic_blocks.
(set_def_block): Remove last argument.  Update all callers.
(prepare_use_operand_for_rename): Remove.  Update all callers.
(prepare_def_operand_for_rename): Remove.  Update all callers.
(symbol_marked_for_renaming): New.
(is_old_name): New.
(is_new_name): New.
(repl_map_hash): New.
(repl_map_eq): New.
(repl_map_free): New.
(names_replaced_by): New.
(add_to_repl_tbl): New.
(add_new_name_mapping): New.
(mark_def_sites): Assume that all the operands in the
statement are in normal form.
(find_idf): Assert that the block in the stack is valid.
(get_default_def_for): New.
(insert_phi_nodes_for): Add new argument 'update_p'.
Add documentation.
If update_p is true, add a new mapping between the LHS of
each new PHI and the name that it replaces.
(insert_phi_nodes_1): Only call find_idf if needed.
(get_reaching_def): Call get_default_def_for.
(rewrite_operand): Remove.
(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT
and REWRITE_THIS_STMT are false.
Assume that all the operands in the statement are in
normal form.
(rewrite_add_phi_arguments): Don't use PHI_REWRITTEN.
(rewrite_virtual_phi_arguments): Remove.
(invalidate_name_tags): Remove.
(register_new_update_single, register_new_update_set,
rewrite_update_init_block, replace_use,
rewrite_update_fini_block, rewrite_update_stmt,
rewrite_update_phi_arguments): New.
rewrite_blocks): Remove argument 'fix_virtual_phis'.
Add arguments 'entry', 'what' and 'blocks'.
Initialize the dominator walker according to 'what' and
'blocks'.
Start the dominator walk at 'entry'.
(mark_def_site_blocks): Add argument 'interesting_blocks'.
Use it to configure the dominator walker.
(rewrite_into_ssa): Remove argument 'all'.
Make internal.
(rewrite_all_into_ssa): Remove.
(rewrite_def_def_chains): Remove.
(mark_def_interesting, mark_use_interesting,
prepare_phi_args_for_update, prepare_block_for_update,
prepare_def_site_for, prepare_def_sites,
dump_names_replaced_by, debug_names_replaced_by,
dump_repl_tbl, debug_repl_tbl, init_update_ssa,
delete_update_ssa, create_new_def_for,
register_new_name_mapping, mark_sym_for_renaming,
mark_set_for_renaming, need_ssa_update_p,
name_registered_for_update_p, ssa_names_to_replace,
release_ssa_name_after_update_ssa,
insert_updated_phi_nodes_for, update_ssa): New.
* tree-loop-linear.c (linear_transform_loops): Call
update_ssa instead of rewrite_into_ssa.
* tree-optimize.c (vars_to_rename): Remove.
Update all users.
(init_tree_optimization_passes): Replace
pass_redundant_phi with pass_copy_prop.
Add pass_vrp.
Replace pass_ccp with pass_store_ccp.
Add pass_store_copy_prop after pass_store_ccp.
(execute_todo): If the TODO_ flags don't include updating
the SSA form, assert that it does not need to be updated.
Call update_ssa instead of rewrite_into_ssa and
rewrite_def_def_chains.
If TODO_verify_loops is set, call verify_loop_closed_ssa.
(tree_rest_of_compilation):
* tree-pass.h (TODO_dump_func, TODO_ggc_collect,
TODO_verify_ssa, TODO_verify_flow, TODO_verify_stmts,
TODO_cleanup_cfg): Renumber.
(TODO_verify_loops, TODO_update_ssa,
TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
TODO_update_ssa_only_virtuals): Define.
(pass_copy_prop, pass_store_ccp, pass_store_copy_prop, pass_vrp):
Declare.
* tree-phinodes.c (make_phi_node): Update documentation.
(remove_all_phi_nodes_for): Remove.
(find_phi_node_for): New.
* tree-pretty-print.c (dump_generic_node): Handle ASSERT_EXPR.
* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
(interpret_rhs_modify_expr): Likewise.
* tree-sra.c (decide_instantiations): Mark all symbols in
SRA_CANDIDATES for renaming.
(mark_all_v_defs_1): Rename from mark_all_v_defs.
(mark_all_v_defs): New function.  Update all users to call it
with the whole list of scalarized statements, not just the
first one.
* tree-ssa-alias.c (count_ptr_derefs): Make extern.
(compute_flow_insensitive_aliasing): If the tag is
unmodifiable and the variable isn't or vice-versa, don't
make them alias of each other.
(setup_pointers_and_addressables): If the type tag for
VAR is about to change, mark the old one for renaming.
(add_type_alias): New.
* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
(ccp_lattice_t): Rename from latticevalue.
(value): Remove.  Update all users.
(const_val): New local variable.
(do_store_ccp): New local variable.
(dump_lattice_value): Handle UNINITIALIZED.
(debug_lattice_value): New.
(get_default_value): Re-write.
(set_lattice_value): Re-write.
(def_to_varying): Remove.  Update all users.
(likely_value): Return VARYING for statements that make
stores when STORE_CCP is false.
Return VARYING for any statement other than MODIFY_EXPR,
COND_EXPR and SWITCH_EXPR.
(ccp_initialize): Re-write.
(replace_uses_in, replace_vuse_in, substitute_and_fold):
Move to tree-ssa-propagate.c.
(ccp_lattice_meet): Handle memory stores when
DO_STORE_CCP is true.
(ccp_visit_phi_node): Likewise.
(ccp_fold): Likewise.
(evaluate_stmt): Likewise.
(visit_assignment): Likewise.
(ccp_visit_stmt): Likewise.
(execute_ssa_ccp): Add argument 'store_ccp'.  Copy it
into DO_STORE_CCP.
(do_ssa_ccp): New.
(pass_ccp): Use it.
(do_ssa_store_ccp): New.
(gate_store_ccp): New.
(pass_store_ccp): Declare.
* tree-ssa-copy.c: Include tree-ssa-propagate.h.
(may_propagate_copy): Reformat.
Don't abort if ORIG is a virtual and DEST isn't.
If NEW does not have alias information but DEST does,
copy it.
(copy_of, cached_last_copy_of, do_store_copy_prop, enum
copy_prop_kind, which_copy_prop): Declare.
(stmt_may_generate_copy, get_copy_of_val,
get_last_copy_of, set_copy_of_val, dump_copy_of,
copy_prop_visit_assignment, copy_prop_visit_cond_stmt,
copy_prop_visit_stmt, copy_prop_visit_phi_node,
init_copy_prop, fini_copy_prop, execute_copy_prop,
gate_copy_prop, do_copy_prop, gate_store_copy_prop,
store_copy_prop): New.
(pass_copy_prop, pass_store_copy_prop): Declare.
* tree-ssa-dom.c (struct opt_stats_d): Add fields
'num_const_prop' and 'num_copy_prop'.
(cprop_operand): Update them.
(dump_dominator_optimization_stats): Dump them.
(tree_ssa_dominator_optimize): Call update_ssa instead of
rewrite_into_ssa.
(loop_depth_of_name): Declare extern.
(simplify_cond_and_lookup_avail_expr): Guard against NULL
values for LOW or HIGH.
(cprop_into_successor_phis): Only propagate if NEW != ORIG.
(record_equivalences_from_stmt): Call expr_computes_nonzero.
(cprop_operand): Only propagate if VAL != OP.
* tree-ssa-dse.c (dse_optimize_stmt): Mark symbols in removed
statement for renaming.
* tree-ssa-loop-im.c (move_computations): Call update_ssa.
* tree-ssa-loop-ivopts.c (rewrite_address_base): Call
add_type_alias if necessary.
Call mark_new_vars_to_rename.
(tree_ssa_iv_optimize): If new symbols need to be renamed,
mark every statement updated, call update_ssa and
rewrite_into_loop_closed_ssa.
* tree-ssa-loop-manip.c (add_exit_phis): Do not remove DEF_BB
from LIVEIN if VAR is a virtual.
* tree-ssa-loop.c (tree_loop_optimizer_init): Call update_ssa.
* tree-ssa-operands.c (get_expr_operands): Handle ASSERT_EXPR.
(get_call_expr_operands): Reformat statement.
(add_stmt_operand): Don't create V_MAY_DEFs for read-only
symbols.
* tree-ssa-propagate.c (ssa_prop_init): Initialize
SSA_NAME_VALUE for every name.
(first_vdef, stmt_makes_single_load, stmt_makes_single_store,
get_value_loaded_by): New.
(replace_uses_in, replace_vuses_in, replace_phi_args_in,
substitute_and_fold): Move from tree-ssa-ccp.c.
* tree-ssa-propagate.h (struct prop_value_d, prop_value_t,
first_vdef, stmt_makes_single_load, stmt_makes_single_store,
get_value_loaded_by, replace_uses_in, substitute_and_fold):
Declare.
* tree-ssa.c (verify_use): Fix error message.
(propagate_into_addr, replace_immediate_uses, get_eq_name,
check_phi_redundancy, kill_redundant_phi_nodes,
pass_redundant_phi): Remove.  Update all users.
* tree-vect-transform.c (vect_create_data_ref_ptr): Call
add_type_alias, if necessary.
* tree-vectorizer.h (struct _stmt_vect_info): Update
documentation for field 'memtag'.
* tree-vrp.c: New file.
* tree.def (ASSERT_EXPR): Define.
* tree.h (ASSERT_EXPR_VAR): Define.
(ASSERT_EXPR_COND): Define.
(SSA_NAME_VALUE_RANGE): Define.
(struct tree_ssa_name): Add field 'value_range'.
(PHI_REWRITTEN): Remove.
(struct tree_phi_node): Remove field 'rewritten'.
* doc/invoke.texi (-fdump-tree-storeccp, -ftree-copy-prop,
-ftree-store-copy-prop): Document.
* doc/tree-ssa.texi: Remove broken link to McCAT's compiler.
Document usage of update_ssa.

testsuite/ChangeLog

* g++.dg/tree-ssa/pr18178.C: New test.
* gcc.c-torture/execute/20030216-1.x: Ignore at -O1.
* gcc.c-torture/execute/20041019-1.c: New test.
* gcc.dg/tree-ssa/20041008-1.c: New test.
* gcc.dg/tree-ssa/ssa-ccp-12.c: New test.
* gcc.dg/tree-ssa/20030731-2.c: Update to use -fdump-tree-store_ccp.
* gcc.dg/tree-ssa/20030917-1.c: Likewise.
* gcc.dg/tree-ssa/20030917-3.c: Likewise.
* gcc.dg/tree-ssa/20040721-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.

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

15 years agoDaily bump.
gccadmin [Sat, 9 Apr 2005 00:16:27 +0000 (00:16 +0000)]
Daily bump.

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

15 years ago2005-04-08 Paolo Carlini <pcarlini@suse.de>
paolo [Sat, 9 Apr 2005 00:08:58 +0000 (00:08 +0000)]
2005-04-08  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/20909
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Don't even try to group numbers like 2e20, i.e., no decimal
point, scientific notation.
* testsuite/22_locale/num_put/put/char/20909.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.

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

15 years ago PR target/20814
dje [Fri, 8 Apr 2005 23:42:06 +0000 (23:42 +0000)]
    PR target/20814
        * config/rs6000/predicates.md (altivec_register_operand): Accept
        SUBREG.
        (and64_operand): Do not limit CONST_INT to mask64_operand.
        (and64_2_operand): Do not limit CONST_INT to mask64_1or2_operand.
        (and_operand): Do not limit CONST_INT to mask_operand.

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

15 years ago * config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
mrs [Fri, 8 Apr 2005 23:30:23 +0000 (23:30 +0000)]
    * config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
        instead of 4.

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

15 years ago PR rtl-optimization/20466
hp [Fri, 8 Apr 2005 23:21:07 +0000 (23:21 +0000)]
PR rtl-optimization/20466
* flow.c (invalidate_mems_from_set): Handle a MEM by checking it
for overlap of the address of each list member.
(mark_set_1): Call invalidate_mems_from_set for MEMs too.

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

15 years ago PR rtl-optimization/20466
hp [Fri, 8 Apr 2005 23:18:32 +0000 (23:18 +0000)]
PR rtl-optimization/20466
* gcc.c-torture/execute/pr20466-1.c: New test.

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

15 years ago2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
kcook [Fri, 8 Apr 2005 23:09:32 +0000 (23:09 +0000)]
2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>

* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
* acconfig.h: Delete file.
* Makefile.in, acinclude.m4, configure: Regenerate.

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

15 years ago * config/darwin.c (indirect_data): Fix typo in strncmp logic.
mrs [Fri, 8 Apr 2005 22:53:31 +0000 (22:53 +0000)]
    * config/darwin.c (indirect_data): Fix typo in strncmp logic.

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

15 years agoFix typo.
mrs [Fri, 8 Apr 2005 22:00:58 +0000 (22:00 +0000)]
Fix typo.

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

15 years ago2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
kcook [Fri, 8 Apr 2005 21:54:31 +0000 (21:54 +0000)]
2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>

* linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): New macro.
(GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1,
GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2,
GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3,
GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1,
GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Use it.
(GLIBCXX_CHECK_MATH_SUPPORT): Delete obsolete comment.
* acconfig.h: Delete redundant macros.
* config.h.in, configure: Regenerate.

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

15 years ago2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
kcook [Fri, 8 Apr 2005 21:29:13 +0000 (21:29 +0000)]
2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>

* linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
a subshell and if test fails, test for same functions with
leading underscore.
(GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
* configure: Regenerate.

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

15 years ago PR c++/20905
mmitchel [Fri, 8 Apr 2005 21:13:57 +0000 (21:13 +0000)]
PR c++/20905
* parser.c (cp_parser_type_specifier_seq): Add is_condition
parameter.
(cp_parser_new_type_id): Pass it.
(cp_parser_condition): Likewise.
(cp_parser_conversion_type_id): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_type_specifier_seq): In a condition, do not allow
invalid type-specifier combinations.
(cp_parser_exception_declaration): Adjust call to
cp_parser_type_specifier_seq.

PR c++/20905
* g++.dg/parse/cond2.C: New test.

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

15 years ago * cp-tree.def (TINST_LEVEL): Document TINST_IN_SYSTEM_HEADER_P.
mmitchel [Fri, 8 Apr 2005 19:39:59 +0000 (19:39 +0000)]
* cp-tree.def (TINST_LEVEL): Document TINST_IN_SYSTEM_HEADER_P.
* cp-tree.h (struct tinst_level): Add in_system_header_p.
(TINST_IN_SYSTEM_HEADER_P): New macro.
(make_tinst_level): Remove.
* pt.c (lookup_template_class): Preserve DECL_IN_SYSTEM_HEADER on
the instantiated class.
(push_tinst_level): Do not use make_tinst_level.  Set
TINST_IN_SYSTEM_HEADER_P.
(pop_tinst_level): Likewise.
(instantiate_class_template): Set in_system_header.
(instantiate_pending_templates): Likewise.
* tree.c (make_tinst_level): Remove.

PR c++/20145
* g++.dg/warn/Wdtor1.C: New test.

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

15 years ago * io/backspace.c (unformatted_backspace): Do not dereference
ebotcazou [Fri, 8 Apr 2005 19:07:54 +0000 (19:07 +0000)]
* io/backspace.c (unformatted_backspace): Do not dereference
the pointer to the stream.

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