+2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
+ n_iv_uses, iv_use, n_iv_cands, iv_cand,
+ tree_ssa_iv_optimize_init, record_use, add_candidate_1,
+ prepare_decl_rtl, free_loop_data,
+ tree_ssa_iv_optimize_finalize): Use the VEC API instead of
+ VARRAY.
+
+2005-04-26 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
+
+2005-04-26 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/mips.mips.c (mips_legitimize_tls_address): Use
+ gcc_unreachable.
+
+ * config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
+ * config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
+ * config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
+
+ * config/sparc/sparc.h (enum reg_class): Reword comment to avoid
+ 'abort'.
+
+2005-04-26 Jeff Law <law@redhat.com>
+
+ * tree-flow-inline.h (op_iter_next_must_and_may_def): New.
+ (op_iter_init_must_and_may_def): Likewise.
+ (unmodifiable_var_p): Move to a later point in the file.
+ * tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
+ * tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
+ (dse_record_phis): Directly check for virtual operands rather than
+ using need_imm_uses_for.
+ (dse_optimize_stmt): Handle V_MUST_DEF operands. Handle case where
+ store has multiple V_{MAY,MUST}_DEF operands.
+
+2005-04-26 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-cfg.c (bsi_replace): Delink immediate uses for the original
+ stmt.
+
+2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
+ call to find_edge outside a loop to go through a PHI chain.
+
+2004-04-26 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR tree-optimization/17598
+ * fold-const.c (fold_binary): Fold comparisons of addresses
+ of COMPONENT_REFs which reference the same field to
+ comparisons of the addresses of the base objects.
+
+2005-04-26 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_return_in_msb): New function.
+ (arm_must_pass_in_stack): New function.
+ (TARGET_RETURN_IN_MSB): Define target hook.
+ (TARGET_MUST_PASS_IN_STACK): Define target hook.
+ (arm_function_value): Pad small aggregate return.
+ (arm_pad_arg_upward): New function.
+ (arm_pad_reg_upward): New function.
+ * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
+ (FUNCTION_ARG_PADDING): Define macro.
+ (BLOCK_REG_PADDING): Define macro.
+ (PAD_VARARGS_DOWN): Correct padding for AAPCS.
+ * config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
+ (arm_pad_reg_upward): Declare function.
+
+2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h (ei_cond): New.
+ (FOR_EACH_EDGE): Call ei_cond.
+
+ PR tree-optimization/21047
+ * fold-const.c (fold_binary): Abort on ASSERT_EXPR.
+ (fold): Don't handle ASSERT_EXPR.
+
+2005-04-25 Roger Sayle <roger@eyesopen.com>
+
+ * sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat
+ all writes to any stack register as a read/write dependency on
+ FIRST_STACK_REG.
+ (sched_analyze_2): Likewise, for reads from any stack register.
+
+2005-04-25 Richard Henderson <rth@redhat.com>
+
+ * final.c (output_addr_const): Revert 2005-04-09 change.
+
+2005-04-25 Mike Stump <mrs@apple.com>
+
+ * config/darwin.c (darwin_encode_section_info): Always set
+ MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols.
+
+2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
+ gensupport.c, protoize.c, toplev.c: Replace calls to
+ `unlock_stream' with `unlock_std_streams'.
+
+2005-04-25 Devang Patel <dpatel@apple.com>
+
+ * dbxout.c (dbxout_type): Emit attribute vector.
+
+2005-04-05 Paul Brook <julian@codesourcery.com>
+
+ * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
+ * target.h (struct gcc_target): Add cxx.use_aeabi_atexit.
+ * config/arm/arm.c (arm_cxx_atexit_name): New function.
+ (TARGET_CXX_USE_AEABI_ATEXIT): New macro.
+ * cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit.
+ (register_dtor_fn): Likewise.
+ * doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT.
+
+2005-04-25 Ian Lance Taylor <ian@airs.com>
+
+ * c-common.def (EXPR_STMT): Remove, moved to C++ frontend.
+ * c-common.h (EXPR_STMT_EXPR): Don't define.
+ (c_common_stmt_codes): Don't define.
+ * c-dump.c (c_dump_tree): Remove EXPR_STMT case.
+ * c-gimplify.c (gimplify_expr_stmt): Remove.
+ (c_gimplify_expr): Remove EXPR_STMT case.
+ * c-objc-common.c (c_objc_common_init): Remove stmt_codes and call
+ to INIT_STATEMENT_CODES.
+ * c-pretty-print.c (pp_c_statement): Just call dump_generic_node.
+
+2005-04-25 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfg.c (tree_duplicate_bb): Duplicate EH region too.
+
+ * except.c: Include diagnostic.h
+ (dump_eh_tree, verify_eh_tree): New functions.
+ * except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare.
+ * tree-cfg.c (tree_verify_flow_info): verify eh edges.
+ (dump_function_to_file): dump eh tree.
+ * tree-eh.c (mark_eh_edge): New function.
+ (mark_eh_edge_found_error): New static variable.
+ (verify_eh_edges): New function.
+
+2005-04-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree-ssa-alias.c (fieldoff_t): Remove.
+ (fieldoff_s): typedef the structure itself. Create a vector of
+ objects.
+ (push_fields_onto_fieldstack): Return count of fields pushed.
+ Remove peeling of first field. Adjust.
+ (fieldoff_compare): Adjust.
+ (create_overlap_variables_for): Adjust.
+
+2005-04-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
+
+2005-04-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR bootstrap/21215
+ * doc/install.texi: Document correct assembler and linker to use
+ on i?86-*-solaris2.10.
+
+2005-04-25 Steven Bosscher <stevenb@suse.de>
+
+ Fix PR tree-optimization/21173
+
+ * tree-ssa-pre.c (create_expression_by_pieces): Simplify code.
+ Unshare expression we pass to force_gimple_operand.
+
+2005-04-25 J"orn Rennecke <joern.rennecke@st.com>
+ Stephen Clarke <stevec@superh.com>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR rtl-optimization/20413
+ * cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
+ VOIDmode for LABEL_REF.
+ * final.c (shorten_branches): Likewise.
+ * jump.c (mark_all_labels, redirect_exp_1): Likewise.
+ * loop.c (reg_dead_after_loop): Likewise.
+ * varasm.c (decode_addr_const): Likewise.
+ * doc/rtl.texi: Document mode requirement for LABEL_REF.
+
+2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.gcc (avr-*-*): Remove redundant "case".
+
+2005-04-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-vect-analyze.c (vect_mark_relevant): Take
+ VEC(tree,heap) instead of varray_type as an argument.
+ (vect_mark_stmts_to_be_vectorized): Change the type of
+ worklist to VEC(tree,heap). Adjust uses of worklist.
+
+2005-04-24 Devang Patel <dpatel@apple.com>
+
+ * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
+
+2005-04-24 Ian Lance Taylor <ian@airs.com>
+
+ * c-semantics.c (build_stmt): Remove test of specific tree codes
+ for TREE_SIDE_EFFECTS handling.
+
+2005-04-24 Per Bothner <per@bothner.com>
+
+ * c-opts.c (finish_options): Make the line-number of the <built-in>
+ location 0, as assumed elsewhere, rather than 1.
+
+2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-uncprop.c (equiv_stack): Change the type o
+ VEC(tree,heap).
+ (tree_ssa_uncprop, uncprop_finalize_block,
+ uncprop_initialize_block): Update uses of equiv_stack.
+
+2005-04-24 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/21163
+ * simplify-rtx.c (simplify_binary_operation) <IOR>: Check
+ for SCALAR_INT_MODE_P instead of not MODE_CC before returning
+ constm1_rtx.
+ <AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
+ <UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
+ <DIV, MOD>: Likewise.
+
+2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * collect2.c (main): Unlock the stdio streams.
+ * gcc.c (main): Likewise.
+ * gcov-dump.c (main): Likewise.
+ * gcov.c (main): Likewise.
+ * gen-protos.c (main): Likewise.
+ * gensupport.c (init_md_reader_args_cb): Likewise.
+ * protoize.c (main): Likewise.
+ * toplev.c (general_init): Likewise.
+
+2005-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/20991
+ * cgraph.h (cgraph_local_info): Add vtable_method field.
+ * varasm.c (mark_decl_referenced): If cgraph_global_info_ready
+ and node is vtable_method, finalized and not reachable, don't do
+ anything.
+
+2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use
+ COMPARISON_CLASS_P.
+ * tree-ssa-pre.c (create_value_expr_from): Use
+ CONSTANT_CLASS_P and REFERENCE_CLASS_P.
+ * tree-ssa-propagate.c (stmt_makes_single_load,
+ stmt_makes_single_store): Use REFERENCE_CLASS_P.
+ * tree-vect-transform.c (vect_is_simple_cond): Use
+ COMPARISON_CLASS_P.
+ * tree-vrp.c (extract_range_from_assert,
+ build_assert_expr_for, fp_predicate, has_assert_expr): Use
+ COMPARISON_CLASS_P.
+
+ * tree-ssa-live.c (build_tree_conflict_graph): Change the type
+ of tpa_to_clear to VEC(int,heap). Update uses of
+ tpa_to_clear. Free tpa_to_clear at the end.
+
+2005-04-24 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree.h (TREE_THIS_VOLATILE): Document the effect on a
+ function decl.
+
+2005-04-24 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert
+ and gcc_unreachable as appropriate.
+ (num_insns_constant, output_vec_const_move,
+ build_mask64_2_operands, rs6000_output_dwarf_dtprel,
+ rs6000_emit_set_const, rs6000_emit_move,
+ spe_build_register_parallel, function_arg,
+ rs6000_move_block_from_reg, altivec_expand_predicate_builtin,
+ spe_expand_predicate_builtin, spe_expand_evsel_builtin,
+ rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins,
+ rs6000_common_init_builtins, expand_block_clear,
+ expand_block_move, validate_condition_mode, ccr_bit, extract_MB,
+ extract_ME, rs6000_get_some_local_dynamic_name,
+ rs6000_output_function_entry, print_operand,
+ print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND,
+ output_cbranch, output_e500_flip_gt_bit,
+ rs6000_emit_vector_compare, rs6000_emit_vector_compare,
+ rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move,
+ compute_save_world_info, rs6000_stack_info,
+ rs6000_emit_load_toc_table, rs6000_frame_related,
+ spe_synthesize_frame_save, rs6000_emit_epilogue,
+ rs6000_output_function_epilogue, rs6000_hash_constant, output_toc,
+ output_function_profiler, rs6000_trampoline_size,
+ rs6000_initialize_trampoline, find_addr_reg,
+ rs6000_machopic_legitimize_pic_address,
+ rs6000_initial_elimination_offset,
+ rs6000_dbx_register_number): Likewise.
+ * config/rs6000/rs6000.md (*fix_truncdfsi2_internal,
+ *movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal,
+ *movti_power, *movti_string, call, call_value, sibcall,
+ sibcall_value): Likewise.
+ * config/rs6000/spe.md (*movdf_e500_double,
+ *movv2si_internal): Likewise.
+ * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort'
+ from comment.
+
+2005-04-24 Richard Henderson <rth@redhat.com>
+
+ PR target/21101
+ * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
+ * config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
+ Deny modes smaller than 4 bytes.
+ * config/i386/i386-protos.h: Update.
+
+2005-04-24 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
+ Switch h8300-*-rtems* to ELF.
+
+2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * vec.h (VEC_safe_grow): Replace grow with safe_grow.
+
+2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ipa-inline.c, tree-ssa-operands.h: Fix comment typos.
+
+2005-04-23 Richard Guenther <rguenth@gcc.gnu.org>
+
+ PR middle-end/21082
+ * fold-const.c: Fold &a[i]-&a[j] to i-j.
+
+2005-04-23 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-niter.c (tree_simplify_using_condition): Expand simple
+ definitions of ssa names in condition. Split recusive part to ...
+ (tree_simplify_using_condition_1): New function.
+ (expand_simple_operations): New function.
+
+2005-04-23 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (struct cost_pair): Add value field.
+ (find_interesting_uses_cond): Do not use integer_zerop and
+ integer_nonzerop to check for integer constants.
+ (set_use_iv_cost): Record the value field.
+ (determine_use_iv_cost_generic, determine_use_iv_cost_address,
+ determine_use_iv_cost_outer): Set the value field of the cost pair.
+ (may_eliminate_iv): Do not return the comparison code.
+ (iv_elimination_compare): New function.
+ (determine_use_iv_cost_condition): Set the value field. Record
+ noneliminable invariants correctly.
+ (rewrite_use_compare, rewrite_use_outer): Use the value field.
+
+2005-04-23 DJ Delorie <dj@redhat.com>
+
+ * diagnostic.c (warning): Accept parameter to classify warning option.
+ (warning0): New, for when a pointer to an error() like function is needed.
+ * errors.c (warning): Likewise.
+ * errors.h (warning, warning0): Adjust prototypes.
+ * toplev.h (warning, warning0): Likewise.
+
+ * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
+ c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
+ c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
+ fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
+ genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
+ reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+ tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
+ tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
+
+ * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
+ config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
+ config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
+ config/darwin.c, config/darwin.h, config/h8300/h8300.c,
+ config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
+ config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
+ config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
+ config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
+ config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
+ config/rs6000/aix52.h, config/rs6000/darwin.h,
+ config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
+ config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
+ config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
+ config/stormy16/stormy16.c, config/v850/v850-c.c,
+ config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
+ callers.
+
+2005-04-23 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/21102
+ * simplify-rtx.c (simplify_binary_operation): Fix mode check before
+ performing some integral scalar simplifications.
+
+2005-04-23 Richard Henderson <rth@redhat.com>
+
+ PR target/21099
+ * config/i386/i386.c (ix86_split_to_parts): Use proper mode when
+ simplifying CONST_VECTOR.
+
+2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-live.c (live_worklist): Take a stack allocated on
+ heap as an argument. Update uses of stack.
+ (calculate_live_on_entry): Allocate stack on heap.
+
+ * tree-ssa-live.c (build_tree_conflict_graph): Allocate
+ partition_link and tpa_nodes on heap.
+
+ * tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
+ (mark_stmt_necessary, propagate_necessity,
+ mark_really_necessary_kill_operand_phis): Update uses of
+ worklist.
+ (tree_dce_init): Allocate worklist using VEC_alloc.
+ (tree_dce_done): Free worklist using VEC_free.
+
+2005-04-23 Mike Stump <mrs@apple.com>
+
+ * config/darwin.c (machopic_indirection_name): Don't use
+ quotes needlessly.
+ (darwin_emit_unwind_label): Use user_label_prefix instead of
+ "_".
+
+2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * final.c, ipa-inline.c, varasm.c: Fix comment typos.
+
2005-04-23 Hans-Peter Nilsson <hp@axis.com>
* config.gcc <cris-*>: Specify .opt files.
* doc/invoke.texi: Document --param min-virtual-mappings
and --param virtual-mappings-ratio.
-2005-04-22 Zdenek Dvorak <dvorakz@suse.cz>
- Diego Novillo <dnovillo@redhat.com>
+2005-04-22 Diego Novillo <dnovillo@redhat.com>
* tree-cfg.c (tree_duplicate_bb): Call create_new_def_for
for newly created PHI nodes.
decode_addr_const): Likewise.
2005-04-21 Alan Modra <amodra@bigpond.net.au>
- Fariborz Jahanian <fjahanian@apple.com>
+ Fariborz Jahanian <fjahanian@apple.com>
* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Fix size of
portion of argument passed in fpr.
* fold-const (fold_binary): Fold ~X ^ ~ Y to X ^ Y.
2005-04-20 Michael Pogue <michael.pogue@sun.com>
- Joseph S. Myers <joseph@codesourcery.com>
+ Joseph S. Myers <joseph@codesourcery.com>
* c.opt (Wint-to-pointer-cast, Wpointer-to-int-cast): New options.
* c-typeck.c (build_c_cast): Check these options.