OSDN Git Service

2004-10-05 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c658bc0..90f94f2 100644 (file)
@@ -1,3 +1,672 @@
+2004-10-06  Eric Christopher  <echristo@redhat.com>
+
+       * dwarf2.h: Sync with include/elf/dwarf2.h
+
+2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
+       and TREE_VEC nodes.
+
+2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
+       to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
+
+2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * lambda-code.c (compute_nest_using_fourier_motzkin): New
+       function.
+       (lambda_compute_auxillary_space): Split from here.
+
+2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
+       * tree-flow.h: Add prototype.
+       * lambda-code.c (invariant_in_loop_and_outer_loops): Use
+       expr_invariant_in_loop.
+
+2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Remove a duplicate check for
+       EXIT_BLOCK_PTR.
+
+2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s_imm_operand): Remove.
+       (s390_pool_operand): Add prototype.
+       * config/s390/s390.c (general_s_operand): Remove.
+       (s_imm_operand): Remove.
+       (s_operand): Merge contents of general_s_operand.
+       (s390_pool_operand): New function.
+       * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
+       * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
+       ("*cmpdi_ccu"): Merge Q->Q alternative.
+       ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
+       ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
+       ("*cli"): Remove.
+       ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
+       ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
+       ("*movstricthi"): Use memory_operand instead of s_imm_operand.
+
+2004-10-06  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
+       call ia64_function_arg_boundary.
+       * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
+       * config/ia64/ia64.c (ia64_function_arg_boundary): New.
+       (ia64_function_arg_advance): Do not put 128 bit floats into
+       FP registers.
+
+2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strcpy): Delete duplicate code.
+       Accept an expression instead of an arglist.
+       (expand_builtin_stpcpy): Accept an expression instead of an
+       arglist.
+
+2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/16007
+       * doc/install.texi (*-*-solaris2*): Mention potential problem
+       with Sun assembler + GNU linker and C++ programs.
+       Document status of binutils 2.15 release.
+
+2004-10-06  Jan Hubicka  <jh@suse.cz>
+
+       * cse.c (cse_main): Kill push/pop context.
+
+2004-10-05  Zack Weinberg  <zack@codesourcery.com>
+
+       * pretty-print.c: Include tree.h.
+       (pp_base_prepare_to_format): New function, logic from
+       text_specifies_location.
+       (pp_base_format_text): Use gcc_assert.
+       * pretty-print.h (pp_prepare_to_format): New macro.
+       (pp_base_prepare_to_format): Prototype.
+       * diagnostic.c (text_specifies_location): Delete.
+       (bug_report_request): Delete.
+       (diagnostic_set_info): Don't call text_specifies_location.
+       (diagnostic_action_after_output): Put text from
+       bug_report_request inline here.  Use gcc_unreachable.
+       (diagnostic_report_current_function): Fix comment.
+       (diagnostic_report_diagnostic): Clarify logic for error recursion.
+       Call pp_prepare_to_format before diagnostic_starter.
+       (trim_filename): Use IS_DIR_SEPARATOR.
+       (fatal_error, internal_error): Use gcc_unreachable.
+       (error_recursion): Call diagnostic_action_after_output to
+       issue the bug_report_request message and exit.
+       * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
+
+       * c-parse.in: Add list of diagnostic messages to insulate
+       translation template from version of yacc/bison used to
+       compile the grammar.
+
+2004-10-06  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 16406
+       * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Remove the prototype for
+       flow_preorder_transversal_compute.
+       * cfganal.c (dfst_node): Remove.
+       (flow_preorder_transversal_compute): Likewise.
+       * rtl.h: Remove the prototype for get_jump_table_offset.
+       * rtlanal.c (get_jump_table_offset): Remove.
+
+2004-10-05  Richard Henderson  <rth@redhat.com>
+
+       PR 17756
+       * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
+
+2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
+
+       PR bootstrap/17817
+       * Makefile.in: Stage the build directory too.
+
+2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
+
+       * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
+       (frv_emit_move): Same.
+
+       * config/frv/frv.c (frv_emit_move): New.
+       (frv_legitimize_address): New.
+
+       * config/frv/frv.md ("movsi"): Call frv_emit_move.
+       ("movqi"): Same.
+       ("movhi"): Same.
+       ("movdi"): Same.
+       ("movsf"): Same.
+       ("movdf"): Same.
+
+2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
+       system headers.
+
+2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-decl.c (pushdecl): When an extern declaration at block scope
+       refers to a visible entity with internal linkage, use the old DECL
+       rather than the new one.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
+       comments.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Remove a duplicate check for
+       an infinite loop.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
+       of FOR_BB_BETWEEN.  Remove a useless check for unreachable
+       blocks.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Don't call
+       delete_unreachable_blosk() after thread_jumps().
+       (thread_jumps): Always remove basic blocks as they become
+       unreachable.
+
+2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Remove variable
+       something_changed.  Simplify the while loop.
+
+2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_memmove): Delete duplicate code
+       and accept a tree type for the result.
+       (expand_builtin_bcopy): Accept a tree type for the result.
+       (fold_builtin_memmove): Accept an arglist and tree type for
+       the result.
+
+2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_dump_pool): Remove return value.
+       Use gen_pool_align, gen_pool_section_start/end instead of
+       gen_pool_start/end_31/64.
+       * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
+       (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
+       ("pool_start_31", "pool_end_31"): Remove.
+       ("pool_start_64", "pool_end_64"): Likewise.
+       ("pool_align", "pool_section_start", "pool_section_end": New insns.
+
+       * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
+       (TARGET_CANNOT_COPY_INSN_P): Define.
+       (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
+       (struct constant_pool): New member 'execute'.
+       (s390_add_execute, s390_find_execute): New functions.
+       (s390_execute_label, s390_execute_target): Likewise.
+       (s390_dump_pool): Output in-pool execute target templates.
+       (s390_dump_execute): New function.
+       (s390_alloc_pool, s390_free_pool): Handle execute templates.
+       (s390_mainpool_start, s390_mainpool_finish): Likewise.
+       (s390_chunkify_start, s390_chunkify_finish): Likewise.
+       * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
+       ("*execute"): New insn pattern.
+       ("movmem_short", "*movmem_short"): Use splitters to generate
+       explicit execute pattern, remove embedded execute.
+       ("clrmem_short", "*clrmem_short"): Likewise.
+       ("cmpmem_short", "*cmpmem_short"): Likewise.
+
+2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa.c (verify_ssa): Verify phi arguments only
+       contain renamed names.
+
+2004-10-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux.h: Formatting, whitespace.
+       * config/rs6000/linux64.h: Likewise.
+       * config/rs6000/rs6000-protos.h: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       (easy_vector_splat_const): Add fall thru comments.
+       (output_vec_const_move): Likewise.
+
+2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in: Update -Wno-error exceptions for move to build dir.
+
+2004-10-05  Chao-Ying Fu  <fu@mips.com>
+           Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi (-mpaired-single): Link to the new description of the
+       built-in functions.  Document dependencies.
+       (-mips3d): Add link here too.
+       * doc/extend.texi (MIPS Paired-Single Support): New section.
+
+2004-10-04  Chao-ying Fu  <fu@mips.com>
+
+       * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
+
+2004-10-04  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize):
+       Initialize OPT_STATS to 0.
+
+2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-data-ref.c: Fix comment typos.
+
+2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
+       * cfgloop.c (initialize_loops_parallel_p): New.
+       (flow_loops_find): Initialize the parallel_p field to true for all
+       the loops.
+       * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
+       (estimate_numbers_of_iterations_loop): Infers the loop bounds from
+       the size of the data accessed in the loop.
+       (struct nb_iter_bound): Moved...
+       * cfgloop.h (struct nb_iter_bound): ... here.
+       (estimated_nb_iterations, parallel_p): New fields in struct loop.
+       (record_estimate): Declare extern here.
+       * tree-chrec.c: Fix comments.
+       (nb_vars_in_chrec): New function.
+       * tree-chrec.h (nb_vars_in_chrec): Declared here.
+       * tree-data-ref.c: Don't include lambda.h, that is already included
+       in tree-data-ref.h.
+       (tree_fold_divides_p): Don't check for integer_onep.
+       (tree_fold_bezout): Removed.
+       (gcd): New static duplicated function.
+       (int_divides_p, dump_subscript): New.
+       (dump_data_dependence_relation): Use dump_subscript.
+       (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
+       estimate_niter_from_size_of_data): New.
+       (analyze_array_indexes, analyze_array): Call
+       estimate_niter_from_size_of_data during the detection of array
+       references.  Pass in a pointer to the statement that contains the
+       array reference.
+       (all_chrecs_equal_p): New.
+       (compute_distance_vector): Renamed compute_subscript_distance.
+       Deal with multivariate conflict functions.
+       (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
+       DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
+       (non_affine_dependence_relation): New.
+       (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
+       analyze_siv_subscript, analyze_miv_subscript,
+       analyze_overlapping_iterations, subscript_dependence_tester):
+       Initialize and return last_conflicts function.
+       (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
+       compute_overlap_steps_for_affine_1_2): New.
+       (analyze_siv_subscript_affine_cst): Removed.
+       (analyze_subscript_affine_affine): Disprove dependences based on the
+       iteration domains.  Solve the univariate dependence case as before,
+       but use lambda_matrix_right_hermite instead of tree_fold_bezout.
+       Implement the multivariate case of 2 versus 1 variables.
+       (undetermined_conflicts_p, no_conflicts_p): New.
+       (build_classic_dist_vector, build_classic_dir_vector): Implement some
+       unhandled cases.
+       (find_data_references_in_loop): Compute and initialize
+       loop->estimated_nb_iterations and loop->parallel_p.
+       (analyze_all_data_dependences): Modify the debug dump order.
+       * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
+       subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
+       (SUB_LAST_CONFLICT, subscript->last_conflict,
+       data_dependence_relation->affine_p, data_dependence_relation->size_vect,
+       DDR_AFFINE_P, DDR_SIZE_VECT): New.
+       (find_data_references_in_loop, initialize_data_dependence_relation,
+       dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
+
+
+2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
+       the predicate cannot be computed, don't initialize the result to
+       false.
+
+2004-10-01  Eric Christopher  <echristo@redhat.com>
+
+       * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
+       locally defined enum.
+       * dwarf2out.c (add_calling_convention_attribute): Don't
+       emit DW_CC_normal.
+
+2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/17178, PR c/17820
+       * c-decl.c (pop_scope): Do not warn about unused static
+       variables as they warned in the middle-end.
+
+2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_memcpy): Delete duplicate code
+       and make the first parameter the expression not the arglist.
+
+2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
+       as valid modes to expand address expressions.
+
+2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
+       c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
+       c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
+       code formatting conventions.
+
+2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
+
+2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/16632
+       * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
+       fold (A & C) == D into 0, fold ~C.  Similarly, for the case
+       where | is used instead of &.
+
+2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * ginclude/stddef.h: Fix a comment typo.
+
+2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/17443
+       * config.gcc (i?86-*-solaris2*): Restore correct logic
+       for --enable-threads option.
+       (sparc64-*-solaris2*): Likewise.
+       (sparc-*-solaris2*): Likewise.
+
+2004-10-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
+       (OS_MISSING_POWERPC64): Move, and comment.
+       * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
+       (OS_MISSING_POWERPC64): Move, and comment.
+
+2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * arm.c (output_call_mem): Add missing \t.
+
+2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
+       expand_builtin_strncmp): Delete duplicate code.
+
+2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
+
+       * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
+       take check-base and -limit arguments.
+       (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
+       check ranges for ARRAY_REF and COMPONENT_REF.
+       (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
+       instrumentation.
+
+2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-objc-common.c (c_tree_printer): Correct description of %E.
+       Don't fall through after printing an expression.
+
+2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
+
+2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
+       delete_unrechable_blocks() only when necessary.
+
+2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
+
+       * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
+       (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
+       (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
+       __gthread_recursive_mutex_unlock): New functions.
+
+2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
+
+       * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
+       * config/s390/tpf-eh.c: Remove file.
+       * config/s390/tpf-unwind.h: New file.
+       * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
+       (MD_UNWIND_SUPPORT): Define.
+
+2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
+
+2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_comparison): Add prototype.
+       * config/s390/s390.c (s390_comparison): New function.
+       (s390_branch_condition_mask): Return -1 for invalid comparisons.
+       (s390_branch_condition_mnemonic): Assert valid comparison.
+       * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
+       * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
+       "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
+       s390_comparison instead of comparison_operator.
+
+       * config/s390/s390.md (UNSPEC_CMPINT): New constant.
+       ("cmpmemdi"): Remove.
+       ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
+       ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
+       ("cmpint_si"): Rename to ...
+       ("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
+       ("cmpint_di", "*cmpint_di"): Likewise.
+       * config/s390/s390.c (s390_canonicalize_comparison): Remove
+       redundant UNSPEC_CMPINT conversions.
+       (s390_expand_cmpmem): Adapt to cmpint pattern changes.
+
+2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * collect2.c (COLLECT_PARSE_FLAG): Remove.
+       (main): Remove a reference to COLLECT_PARSE_FLAG
+       * system.h: Poison COLLECT_PARSE_FLAG.
+       * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
+
+2004-10-01  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/crti.asm: Give _init and _fini function type.
+
+2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * common.opt (ftree-loop-ivcanon): Enable by default.
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+       Enable complete loop unrolling.
+       (canonicalize_induction_variables, tree_unroll_loops_completely):
+       Reset scev info.
+
+2004-10-01  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
+       not register number.
+       (thumb_find_work_register): Search full register range.
+
+2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17343
+       * tree-cfg.c (group_case_labels): Get the label and not
+       the case expr for the default case.
+       When the label we looking at is the default, decrement the
+       new_size.
+
+2004-10-01  Jan Hubicka  <jh@suse.cz>
+
+       * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
+       * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+       * toplev.h (tree_rest_of_compilation): Update prototype.
+       * tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
+
+2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Pull a call to
+       cleanup_control_flow() out of the while loop.
+
+2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-vectorizer.c (vectorizable_operation): Fail unless
+       the mode for the vector type is indeed a vector mode.
+
+2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
+       chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
+       of convert.
+       * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+       add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
+       follow_ssa_edge_in_rhs): Ditto.
+       * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
+       (dump_iv): Dump base_object.
+       (dump_use, dump_cand): Use dump_iv.
+       (determine_base_object): New function.
+       (alloc_iv): Initialize base_object field.
+       (record_use): Clear the ssa_name field of iv.
+       (get_computation_cost_at): Do not use difference of addresses of
+       two different objects.
+       (may_eliminate_iv): Do not require the loop to have just single exit.
+       * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
+       (nonzero_p): New function.
+       (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
+       tree_simplify_using_condition, simplify_using_initial_conditions,
+       loop_niter_by_eval, find_loop_niter_by_eval,
+       estimate_numbers_of_iterations_loop, compare_trees,
+       upper_bound_in_type, lower_bound_in_type,
+       can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
+       fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
+       instead of integer_(non)zerop.
+
+2004-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       Revert
+       2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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.
+       * 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.
+
+       * 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.
+
+2004-09-30  Eric Christopher  <echristo@redhat.com>
+
+       * dwarf2.h (dwarf_calling_convention): Add enum for renesas
+       sh abi.
+       * dwarf2out.c (add_calling_convention_attribute): New function.
+       (gen_subroutine_type_die): Use.
+       * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
+       * target.h (gcc_target): Add dwarf_calling_convention.
+       * hooks.c (hook_int_tree_0): New function.
+       * hooks.h: Prototype.
+       * config/sh/sh.c: Include dwarf2.h.
+       (sh_dwarf_calling_convention): New function.
+       (TARGET_DWARF_CALLING_CONVENTION): Use.
+       * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
+
+2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+       expand_builtin_strrchr, expand_builtin_strpbrk,
+       expand_builtin_strncat, expand_builtin_strspn,
+       expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
+       code.
+
+2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_expand_logical_operator): Add
+       prototype.
+       (s390_logical_operator_ok_p): Likewise.
+       * config/s390/s390.c (s390_expand_logical_operator): New function.
+       (s390_logical_operator_ok_p): Likewise.
+       * config/s390/s390.md ("anddi3"): New expander.
+       ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
+       ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
+       ("andsi3"): Use s390_expand_logical_operator.
+       ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
+       ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
+       ("andhi3"): New expander.
+       ("*andhi3_zarch", "*andhi3_esa"): New patterns.
+       ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
+       ("andqi3"): New expander.
+       ("*andqi3_zarch", "*andqi3_esa"): New patterns.
+       ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
+       ("iordi3"): New expander.
+       ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
+       ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
+       ("iorsi3"): Use s390_expand_logical_operator.
+       ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
+       ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
+       ("iorhi3"): New expiorer.
+       ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
+       ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
+       ("iorqi3"): New expiorer.
+       ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
+       ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
+       ("xordi3"): New expander.
+       ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
+       ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
+       ("xorsi3"): New expander.
+       ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
+       ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
+       ("xorhi3"): New expander.
+       ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
+       ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
+       ("xorqi3"): New expander.
+       ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
+       ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
+
+2004-09-30  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
+       (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
+       machine mode as the result.
+
+2004-09-30  Ben Elliston  <bje@au.ibm.com>
+
+       PR bootstrap/17761
+       * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
+       FOR_EACH_EDGE macros.
+
+2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-tree.h (readonly_error): Remove.
+       * c-typeck (enum lvalue_use): New.
+       (lvalue_or_else, readonly_error): Use it.  All callers changed.
+       (readonly_error): Make static.
+
+2004-09-30  Jan Hubicka  <jh@suse.cz>
+
+       PR debug/13974
+       * cfgrtl.c (try_redirect_by_replacing_jump,
+       force_nonfallthru_and_redirect, commit_one_edge_insertion,
+       cfg_layout_merge_blocks):  Do not attach any line number information
+       to newly inserted instructions.
+       * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
+       emit_insn_*_noloc.
+       (emit_*insn_before, emit_insn*_after): New.
+       (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
+       existing locators.
+       * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
+       (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
+
 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
        s390_update_frame_layout instead of s390_register_info.  Handle
        prologue/epilogue insns that touch only RETURN_REGNUM.
        (s390_reorg): Remove base_used.  Clear split_branches_pending_p.
-       (s390_register_info): Remove base_used and return_addr_used 
+       (s390_register_info): Remove base_used and return_addr_used
        arguments, compute special register usage inline.  Return live
        register data to caller.
        (s390_frame_info): Remove arguments, do not call s390_register_info.