OSDN Git Service

* doc/install.texi (Prerequisites): Update documentation of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f3386bc..b83e3e1 100644 (file)
@@ -1,3 +1,322 @@
+2004-06-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/install.texi (Prerequisites): Update documentation of
+       required versions of autoconf and automake.  Remove mention of
+       libf2c.
+
+2004-06-11  Jason Merrill  <jason@redhat.com>
+
+       * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
+       (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+
+2004-06-11  Jerry Quinn  <jlquinn@optonline.net>
+
+       * typeclass.h: Add GPL plus exception license.  Add include
+       guard.
+
+2004-06-10  Jason Merrill  <jason@redhat.com>
+
+       * gimplify.c (gimplify_modify_expr): Don't force a temporary
+       of an aggregate_value_p type.
+
+2004-06-10  Jeff Law  <law@redhat.com>
+
+       * fold-const.c (fold_inf_compare): Avoid creating non-gimple
+       code when we are in gimple form.
+
+2004-06-10  Diego Novillo  <dnovillo@redhat.com>
+
+       * Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
+       * tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
+       (highest_ssa_version): Remove.
+       * tree-outof-ssa.c (new_temp_expr_table): Replace
+       highest_ssa_version with num_ssa_names.
+       (dump_replaceable_exprs): Likewise.
+       (rewrite_vars_out_of_ssa): Likewise.
+       * tree-ssa-ccp.c (initialize): Likewise
+       * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+       * tree-ssa-dce.c (tree_dce_init): Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+       * tree-ssa-live.c (create_ssa_var_map): Likewise.
+       (dump_var_map): Likewise.
+       * tree-ssa.c (verify_ssa): Likewise.
+       (kill_redundant_phi_nodes): Likewise.
+       Do not build a local array of SSA_NAMEs.  Use the ssa_names table.
+       * tree-ssanames.c: Include tree-flow.h
+       (ssa_names): New varray.
+       (init_ssa_names): Initialize ssa_names.
+       Reserve the first slot of the ssa_names table.
+       (make_ssa_name): Push the newly created SSA_NAME into ssa_names.
+       Assign version numbers using num_ssa_names.
+
+2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/sourcebuild.texi (Front End): Add details of more
+       installation documentation required.
+
+2004-06-10  Brian Booth  <bbooth@redhat.com>
+
+       * doc/tree-ssa.texi: Remove references to VDEF and add descriptions
+       of V_MAY_DEF and V_MUST_DEF.
+       * tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
+       num_vdefs to num_v_may_defs.
+       (compute_immediate_uses_for_stmt): Rename occurences of vdef
+       to v_may_def.
+       (redirect_immediate_uses): Ditto.
+       (dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
+       (collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
+       Also add code to sum up the number of v_must_defs.
+       (vdefs_disappeared_p): Replace with...
+       (v_may_defs_disappeared_p): This.
+       (v_must_defs_disappeared_p): New function.
+       (mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
+       Also add code to mark new variables found in V_MUST_DEFs for
+       renameing.
+       * tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
+       vdef_ops to v_may_def_ops.
+       (get_vdef_ops): Replace with...
+       (get_v_may_def_ops): This.
+       * tree-flow-inline.h (get_vdef_ops): Replace with...
+       (get_v_may_def_ops): This.
+       (get_v_must_def_ops): New function.
+       (get_vdef_result_ptr): Replace with...
+       (get_v_may_def_result_ptr): This.
+       (get_vdef_op_ptr): Ditto with...
+       (get_v_may_def_op_ptr); This.
+       (get_v_must_def_op_ptr): New function.
+       * tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
+       to v_may_def. Also add code to mark statements with
+       V_MUST_DEFs as definition sites.
+       (rewrite_stmt): Rename occurences of vdef to v_may_def. Also 
+       add code to register new V_MUST_DEFs made by the statement.
+       * tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
+       (check_replaceable): Rename occurences of vdef to v_may_def. Also 
+       add check for V_MUST_DEFs.
+       (find_replaceable_in_bb): Ditto.
+       * tree-pretty-print.c (dump_vops): Rename occurences of vdef
+       to v_may_def. Also add code to dump V_MUST_DEFs.
+       * tree-sra.c (mark_all_vdefs): Replace with...
+       (mark_all_v_may_defs): This.
+       (mark_all_v_must_defs): New function.
+       (create_scalar_copies): Replace call to mark_all_vdefs with
+       calls to mark_all_v_may_defs and mark_all_v_must_defs.
+       (scalarize_structures): Rename occurences of vdef to v_may_def. 
+       Also add a check for V_MUST_DEFs.
+       (scalarize_modify_expr): Rename occurences of vdef to v_may_def.
+       * tree-ssa-alias.c (global_var): Update comment.
+       (compute_may_aliases): Ditto.
+       (compute_points_to_and_addr_escape): Rename occurences of vdef
+       to v_may_def. Also add code to mark variables in V_MUST_DEF 
+       operands as being written to.
+       (group_aliases): Update comment.
+       (maybe_create_global_var): Ditto.
+       * tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
+       Also add a check for V_MUST_DEFs on GIMPLE registers.
+       (replace_immediate_uses): Rename occurences of vdef to v_may_def.
+       * tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
+       to v_may_def. Also add code to mark all V_MUST_DEF operands 
+       VARYING.
+       (initialize): Ditto.
+       (set_rhs): Rename occurences of vdef to v_may_def. Also add
+       code to update SSA_NAMEs in V_MUST_DEFs.
+       * tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
+       to v_may_def.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename 
+       occurences of vdef to v_may_def. Also add code to mark statements
+       with V_MUST_DEFs as necessary.
+       (propagate_necessity): Rename occurences of vdef to v_may_def.
+       * tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename 
+       occurences of vdef to v_may_def. Also add code to mark operands
+       in V_MUST_DEFs for renaming.
+       (eliminate_redundant_computations): Rename occurences of vdef
+       to v_may_def.
+       (record_equivalences_from_stmt): Rename occurences of vdef
+       to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
+       (optimize_stmt): Remove unnesessary variable vdefs. Update
+       comment.
+       (register_definitions_for_stmt): Rename occurences of vdef
+       to v_may_def. Also add code to register definitions made with
+       V_MUST_DEFs.
+       * tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
+       (fix_stmt_v_may_defs): This.
+       (fix_phi_uses): Rename occurences of vdef to v_may_def.
+       (dse_optimize_stmt): Ditto.
+       * tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
+       to v_may_def. Also add code to mark V_MUST_DEF operands as being
+       used in virtual operators.
+       * tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of 
+       vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
+       renaming.
+       * tree-ssa-operands.c (opf_kill_def): New flag for killing 
+       definitions.
+       (build_vdefs): Renamed to...
+       (build_v_may_defs): This.
+       (build_v_must_defs): New variable.
+       (voperands_d): Add v_must_def_ops and replace vdef_ops with
+       v_may_def_ops.
+       (append_vdef): Replace with...
+       (append_v_may_def): This.
+       (append_v_must_def): New function.
+       (NUM_FREE): Increment for V_MUST_DEF
+       (optype_freelist): Increment its size for V_MUST_DEF
+       (allocate_vdef_optype): Replace with...
+       (allocate_v_may_def_optype): This.
+       (allocate_v_must_def_optype): New function.
+       (free_vdefs): Replace with...
+       (free_v_may_defs): This.
+       (free_v_must_defs): New function.
+       (remove_vdefs): Replace with...
+       (remove_v_may_defs): This.
+       (remove_v_must_defs): New function.
+       (init_ssa_operands): Rename occurences of vdef to v_may_def. Also
+       add code to initialize build_v_must_defs.
+       (finalize_ssa_vdefs): Replace with...
+       (finalize_ssa_v_may_defs): This.
+       (finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
+       (finalize_ssa_v_must_defs): New function.
+       (finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
+       with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
+       (verify_start_operands): Rename occurences of vdef to v_may_def.
+       Also add check for build_v_must_defs.
+       (get_stmt_operands): Rename occurences of vdef to v_may_def.
+       Also add code to handle V_MUST_DEFs and to use opf_kill_def for
+       killing definitions.
+       (get_expr_operands): Update comment and use opf_kill_def for
+       killing definitions.
+       (add_stmt_operand): Replace code that appends VDEFs with code
+       that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
+       otherwise.
+       (add_call_clobber_ops): Update comments.
+       * tree-ssa-operands.h (vdef_optype_d): Replace with...
+       (v_may_def_optype_d): This.
+       (v_must_def_optype_d): New structure.
+       (VDEF_OPS): Replace with...
+       (V_MAY_DEF_OPS): This.
+       (STMT_VDEF_OPS): Same with...
+       (STMT_V_MAY_DEF_OPS): This.
+       (NUM_VDEFS): And...
+       (NUM_V_MAY_DEFS): This.
+       (VDEF_RESULT_PTR): As well as...
+       (V_MAY_DEF_RESULT_PTR): This.
+       (VDEF_RESULT): Same goes for...
+       (V_MAY_DEF_RESULT): This.
+       (VDEF_OP_PTR): And...
+       (V_MAY_DEF_OP_PTR): This.
+       (VDEF_OP): And...
+       (V_MAY_DEF_OP): This.
+       (V_MUST_DEF_OPS): New macro.
+       (STMT_V_MUST_DEF_OPS): Ditto.
+       (NUM_V_MUST_DEFS): Ditto.
+       (V_MUST_DEF_OP_PTR): Ditto.
+       (V_MUST_DEF_OP): Ditto.
+       (remove_vdefs): Replace signature with...
+       (remove_v_may_defs): This.
+       (remove_v_must_defs): New function signature.
+       * tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
+       with calls to remove_v_may_defs and remove_v_must_defs.
+       (process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
+       Also add code that marks left occurences of operands in V_MUST_DEFs.
+       * tree-tailcall.c (find_tail_calls): Rename occurences of vdef 
+       to v_may_def. Also add check for V_MUST_DEFs.
+       (eliminate_tail_call):Rename occurences of vdef to v_may_def.
+
+2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/15653
+       * haifa-sched.c (schedule_block): Finish cycle after issuing asm
+       insn.
+
+2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR web/15263
+       * doc/install.texi: Remove superfluous linebreak.
+
+2004-06-10  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin): Fall back to library function call for
+       conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
+       (fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
+       BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
+       IMAGPART_EXPR respectively.
+
+2004-06-10  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (dump_table): New argument start.  Changed caller.
+       (fixup_mova): New function.
+       (find_barrier): Use it.
+       (sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
+       If the label a mova refers to is above the mova itself, change
+       the mova into a load.
+       * sh.md (*casesi_worker): Rename to:
+       (casesi_worker_1).
+       (casesi_worker_2): New insn.
+
+2004-06-10  Jason Merrill  <jason@redhat.com>
+
+       * target.h (struct gcc_target): Change gimplify_va_arg_expr 
+       hook signature.
+       * tree-gimple.h: Adjust.
+       * config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
+       * config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
+       Use fold_convert.
+       * config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
+       * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
+       Use COMPLEX_EXPR for complex numbers.  Use fold_convert.
+       * builtins.c (std_gimplify_va_arg_expr): Adjust.  Use fold_convert.
+       (gimplify_va_arg_expr): Return GS_ERROR in error case.
+       Gimplify valist rather than calling stabilize_va_list.
+
+2004-06-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (df.o): Remove fibheap dependency.
+       * df.h: Do not include sbitmap.h.
+       (struct ref): New field "data".
+       (DF_REF_DATA): New accessor macro.
+       (struct df): Field "dom" removed.
+       (df_analyze_subcfg): New function.
+       (transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
+       (transfer_function): ... new type.
+       (iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
+       (iterative_dataflow): ... new function.
+       (enum set_representation, struct dataflow): New.
+       * df.c: Do not include fibheap.h.
+
+       (df_reg_def_chain_clean, df_reg_use_chain_clean,
+       (df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
+       prune_to_subcfg, df_bb_modify): New functions.
+       (df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
+       df_refs_update, df_reg_table_realloc, df_ref_create,
+       df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
+       df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
+       df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
+       
+       (dataflow_set_a_op_b, dataflow_set_copy): New functions.
+       (df_rd_transfer_function, df_ru_transfer_function,
+       df_lr_transfer_function): Type of bitmaps changed to void *.
+       (hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
+       (hybrid_search): ... new function.
+       (iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
+       (iterative_dataflow): ... new function. Avoid use of fibheaps for
+       a worklist.  Do not process basic blocks unnecessarily.
+
+2004-06-10  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_abs_const): Make extern.
+       * tree.h (fold_abs_const): Prototype here.
+       * builtins.c (fold_builtin_fabs): New function to transform
+       fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
+       (fold_builtin_abs): New function to transform abs, labs, llabs
+       and imaxabs builtins into ABS_EXPR tree nodes.
+       (expand_builtin): Fall back to a function call for abs, labs,
+       llabs and imaxabs builtins that survive constant folding.
+       (fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
+       FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
+
+2004-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
+       leaf function without unwind info at RP 0.
+
 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/14791
        BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
        the above *FILEPTR* types instead of *PTR*.
 
-       * decl.c (duplicate_decls): Handle fileptr_type_node arguments
-       specially.
-
 2004-06-09  Daniel Berlin <dberlin@dberlin.org>
 
        * tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores 
        (ia64_gimplify_va_arg): New fn.
        * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
        (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
-       * config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
        * alias.c (get_varargs_alias_set): Just return 0 for now.
        
        * c-objc-common.c (c_tree_printer): Improve handling of %T.