OSDN Git Service

* cgraphunit.c, ipa-inline.c, loop-iv.c, modulo-sched.c,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a24922b..773b2d5 100644 (file)
@@ -1,3 +1,482 @@
+2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cgraphunit.c, ipa-inline.c, loop-iv.c, modulo-sched.c,
+       opts.c, postreload-gcse.c, tree-browser.def, tree-eh.c,
+       tree-ssa-copyrename.c, tree-vect-analyze.c: Fix typos and
+       follow spelling conventions in error/dump messages.
+
+2005-05-29  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * ifcvt.c (noce_emit_move_insn): Construct a SET pattern directly
+       if the RHS isn't suitable for calling emit_move_insn.
+
+2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-ccp.c (ccp_fold): Return immediately after calling
+       fold_unary and fold_binary.
+
+2005-05-29  Roger Sayle  <roger@eyesopen.com>
+
+       * reg-stack.c (propagate_stack): Always copy the source stack to
+       the destination.  This routine is now only called when this is safe.
+       (better_edge): New function split out from convert_regs_1 to
+       determine which of two edges is better to propagate across.
+       (convert_regs_1):  We need only search for a best edge if the
+       stack layout hasn't been defined yet.  Use better_edge to help
+       find beste.  No longer traverse unnecessary edges.
+
+2005-05-29  Keith Besaw  <kbesaw@us.ibm.com>
+
+       * tree-ssa-alias.c (new_type_alias): New procedure to
+       create a type memory tag for a pointer with a may-alias
+       set determined from a variable declaration.
+       * tree-flow.h: export declaration of new_type_alias
+       * tree-optimize.c (init_tree_optimization_passes): document
+       that pass_may_alias cannot be called after pass_vectorize.
+       * tree-vect-transform (vect_create_data_ref_ptr): Call
+       new_type_alias when an type memory tag isn't available
+       for a reference.
+       (vectorizable_store): Use copy_virtual_operands to update
+       virtual defs in place (so that loop_version can be called).
+       Call mark_for_renaming for the virtual defs in case peeling
+       is done and virtual uses outside the loop need to be updated.
+
+2005-05-29  Dorit Naishlos  <dorit@il.ibm.com>
+
+       PR tree-optimization/21639
+       * tree-complex.c (pass_lower_vector_s): Remove TODO_ggc_collect.
+
+2005-05-29  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/21562
+       * cfgexpand.c (construct_init_block): Deal properly with the case
+       of entry edge not pointing to very first basic block.
+
+2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-ccp.c (ccp_fold): Remove code that produces
+       non-gimple min invariant.
+
+       * Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
+       * tree-flow.h: Add prototypes for start_recording_case_labels
+       and end_recording_case_labels.
+       * tree-cfg.c (start_recording_case_labels,
+       end_recording_case_labels): Export.
+       (cleanup_tree_cfg_loop, modified_noreturn_calls,
+       cleanup_control_flow, cleanup_control_expr_graph,
+       remove_fallthru_edge, phi_alternatives_equal,
+       tree_forwarder_block_p, has_abnormal_incoming_edge_p,
+       remove_forwarder_block, cleanup_forwarder_blocks,
+       remove_forwarder_block_with_phi, merge_phi_nodes,
+       gate_merge_phi, pass_merge_phi): Move to ...
+       * tree-cfgcleanup.c: ... here.
+
+       * basic-block.h: Remove forward declaration of bb_ann_d.
+
+2005-05-28  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis):
+       Update profile.
+       * value-prof.c (tree_divmod_fixed_value_transform): Be more verbose in
+       debug output.
+       (tree_mod_subtract): Fix profile updating code.
+       (tree_divmod_values_to_profile): Do not produce useless value profilers
+       for divisions.
+
+2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c (vrp_element_p): Define.
+       (vrp_hash_elt): Change the type of records to
+       VEC(vrp_element_p,heap).
+       (vrp_free): New.
+       (tree_ssa_dominator_optimize): Pass vrp_free to htab_create.
+       Update uses of VRP records.
+       (simplify_cond_and_lookup_avail_expr, record_range): Update
+       uses of VRP records.
+
+       * tree-inline.c (cfun_stack): Change the type to
+       VEC(function_p,heap).
+       (push_cfun, pop_cfun): Use VEC instead of VARRAY.
+
+2005-05-27  Ian Lance Taylor  <ian@airs.com>
+
+       * c-decl.c (add_stmt): Add C frontend specific version.
+       (stmts_are_full_exprs_p): Remove.
+       * c-common.h (STMT_IS_FULL_EXPR_P): Remove.
+       (stmts_are_full_exprs_p): Don't declare.
+       * c-semantics.c (add_stmt): Remove.
+
+2005-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/mips/mips-protos.h (mips_declare_object): Add printf
+       attribute.
+       * config/mips/mips.c (mips_declare_object_name): Fix format
+       argument.
+
+2005-05-27  Roger Sayle  <roger@eyesopen.com>
+
+       * reg-stack.c (compensate_edge): Remove original prototype.
+       (propagate_stack): New function to copy the stack layout
+       at the start of a basic block from the layout at the end of
+       one of its predecessors.
+       (compensate_edge): Assume that both source and destination
+       blocks have already had their stack layouts defined.
+       (compensate_edges): Traverse all non-entry edges in the CFG
+       and call compensate_edge on each in turn.
+       (convert_regs_1): Change return type to void.  Call
+       propagate_stack instead of compensate_edge.
+       (convert_regs_2): Change return type to void.  Update call
+       to convert_regs_1 to ignore the (now void) return value.
+       (convert_regs): Update calls to convert_regs_2 to ignore
+       the (now void) return value.  After all the basic blocks have
+       been processed, call compensate_edges to actually emit new
+       insns.
+       (reg_to_stack): Initialize the aux info for each basic block
+       with FOR_EACH_BB instead of which FOR_EACH_BB_REVERSE.
+
+2005-05-28  Jan Hubicka  <jh@suse.cz>
+
+       * except.c (can_throw_internal_1, can_throw_external_1): Add 
+       "is_resx" argument.
+       (can_throw_external, can_throw_internal): Bring into sync wrt
+       dealing resx.
+       * except.h (can_throw_internal_1, can_throw_external_1): Update
+       prototype.
+       * tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
+       Deal properly with resx.
+
+2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h (basic_block_def): Add phi_nodes and
+       predictions.  Remove tree_annotations.
+       * predict.c (tree_predicted_by_p, tree_predict_edge,
+       combine_predictions_for_bb): Adjust references to predictions.
+       * tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
+       create_block_annotation.
+       (create_block_annotation, free_blocks_annotatios,
+       clear_blocks_annotations): Remove.
+       (dump_cfg_stats): Don't print out the memory spent on
+       bb_ann_d.
+       (delete_tree_cfg_annotations): Don't call free_blocks_annotations.
+       * tree-flow-inline.h (bb_ann): Remove.
+       (phi_nodes, set_phi_nodes): Update references to phi_nodes.
+       * tree-flow.h (bb_ann_d): Remove.
+       * tree-if-conv.c (process_phi_nodes): Update a reference to
+       phi_nodes.
+       * tree-phinodes.c (reserve_phi_args_for_new_edge,
+       create_phi_node, remove_phi_node): Likewise.
+       * tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
+       * tree-ssa-dom.c (threaded_blocks): New.
+       (tree_ssa_dominator_optimize): Initialize, clear, and free
+       threaded_blocks. Update a call to thread_through_all_blocks.
+       (thread_across_edge): Use threaded_blocks instead of setting
+       incoming_edge_threaded.
+       * tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
+       a bitmap of blocks that are threaded through.
+       * tree.h: Move the prototype of threaded_through_blocks to
+       tree-flow.h.
+
+       * domwalk.c (walk_dominator_tree, init_walk_dominator_tree,
+       fini_walk_dominator_tree): Use VEC instead of VARRAY.
+       * domwalk.h (dom_walk_data): Change the type of
+       block_data_stack and free_block_data to VEC(void_p,heap)*.
+       * tree-ssa-dse.c (dse_initialize_block_local_data,
+       dse_optimize_stmt, dse_record_phis, dse_finalize_block): Use
+       VEC instead of VARRAY.
+
+2005-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c: Include tree-gimple.h
+       (cgraph_edge): Rename expr to stmt.
+       (cgraph_create_edge): Likewise.
+       (cgraph_clone_node): Likewise.
+       * cgraph.h (cgraph_node): Use call_stmt instead of call_expr.
+       * cgraphunit.c (record_call_1): Rename to ...
+       (record_reference): ... this one; do not build edges.
+       (cgraph_varpool_analyze_pending_decls): Call record_reference directly.
+       (current_basic_block): Kill.
+       (cgraph_create_edges): Rewrite to work on gimple statements nicely.
+       (verify_cgraph_node): Likewise.
+       * tree-inline.c (copy_body_r): Do not mess up with cgraph edges.
+       (copy_bb): Mess up with cgraph edges here; simplify EH handling.
+       (copy_edges_for_bb): Simplify EH handling.
+       (expand_call_inline): Pass statement to cgraph_edge and
+       cgraph_create_edge.
+
+2005-05-27  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-inline.c (copy_body_r): Manually fold *& to deal
+       with ADDR_EXPRs with mismatched types for now.
+
+       * gimplify.c (fold_indirect_ref_rhs): New function.
+       (gimplify_modify_expr_rhs): Use it instead of pessimistic
+       fold_indirect_ref.
+
+       * fold-const.c (fold_indirect_ref_1): Add type argument;
+       make sure the resulting expression is of this type.
+       (build_fold_indirect_ref, fold_indirect_ref): Adjust callers.
+
+2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21658
+       * tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
+       fold_binary_to_constant.  Likewise, call fold_unary instead of
+       fold_unary_to_constant.
+
+2005-05-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * vec.h: Implement integral type vector specialization.
+       (VEC_T): Define a non-GTY structure.
+       (VEC_T_GTY): Define a GTY structure.
+       (VEC_TA): Rename to ...
+       (VEC_TA_GTY): ... here.
+       (DEF_VEC_I, DEF_VEC_ALLOC_I): New.
+       (DEF_VEC_P, DEF_VEC_ALLOC_P): Adjust.
+       (DEF_VEC_FUNC_P, DEF_VEC_ALLOC_FUNC_P): New, broken out of
+       DEF_VEC_P and DEF_VEC_ALLOC_P.
+       (DEF_VEC_O, DEF_VEC_ALLOC_O): Adjust.
+       (DEF_VEC_FUNC_O, DEF_VEC_ALLOC_FUNC_O): New, broken out of
+       DEF_VEC_O and DEF_VEC_ALLOC_O.
+       * global.c: Use DEF_VEC_I, DEF_VEC_ALLOC_I.
+       * lambda-code.c: Likewise.
+       * tree-into-ssa.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+
+2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-into-ssa.c (update_ssa): Ensure that the operand cache
+       is up-to-date.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
+       update_stmt_if_modified before calling update_ssa.
+
+2005-05-27  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/rs6000/t-rtems: Remove roe multilib variant.
+
+2005-05-26  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/9814
+       * ifcvt.c (noce_emit_move_insn): If we fail to recognize the move
+       instruction, add the necessary clobbers by re-expanding the RTL
+       for arithmetic operations via optab.c's expand_unop/expand_binop.
+       (noce_try_bitop): New function to optimize bit manipulation idioms
+       of the form "if (x & C) x = x op C" and "if (!(x & C) x = x op C".
+       (noce_process_if_block): Call noce_try_bitop.
+
+2005-05-26  Roger Sayle  <roger@eyesopen.com>
+
+       * reg-stack.c (convert_regs_entry, convert_regs_exit,
+       convert_regs_1, convert_regs_2, convert_regs): Delete prototypes.
+       (reg_to_stack): Move to end of the file.  Initialize the per
+       basic block information here, instead of...
+       (convert_regs_entry): Here.
+       (convert_regs): Change unused return type to void.
+
+2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-pch.c, timevar.c, timevar.h, unwind-compat.c,
+       unwind-dw2-fde-compat.c, unwind-dw2-fde.c, config/mmix/mmix.h,
+       config/rs6000/eabispe.h, config/rs6000/lynx.h,
+       config/sh/elf.h, config/sh/symbian-pre.h,
+       config/sparc/sparc-protos.h: Update copyright.
+
+2005-05-26  Mike Stump  <mrs@apple.com>
+
+       * darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
+       for Objective-C++.
+       
+2005-05-26  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+       See through ADDR_EXPR in finding place to propagate into.
+
+2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
+       cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
+       ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
+       tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
+       tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+       tree-ssa-operands.c, tree-vect-analyze.c,
+       tree-vect-transform.c, tree-vectorizer.c, tree.c,
+       config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
+       config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
+       config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+       config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
+       config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+       config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
+       config/sh/ushmedia.h, config/sparc/sparc.c,
+       config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
+       typos.  Follow spelling conventions.
+       * doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
+       Follow spelling conventions.
+
+2005-05-26  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.c (mips_use_ins_ext_p): New helper function
+       that determines whether the MIPS32/64 R2 ext/ins should be used.
+       * config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
+       * config/mips/mips.md (extzv): Changed predicate for operand to
+       nonimmediate_operand. Add code to generate insn patterns for
+       extzvsi and extzvdi.
+       (extzv<mode>): New pattern to match mips32/64 r2 ext insn.
+       (insv): Similarly for insertion.
+       (insv<mode>): Similarly.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (avoid_constant_pool_reference): Support
+       offsetted addresses in the constant pool.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+       * df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+
+2005-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/21716
+       * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
+       found in the basic block and last insn in the basic block is not
+       INSN_P.  Remove explicit unspec numbers that are no longer valid
+       from comments.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-vect-transform.c (vectorizable_operation): Try word_mode
+       vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
+       if a vector mode is available.
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/21709
+       * fold-const.c (const_binop): Check for division by zero during
+       complex division.
+
+2005-05-26  Ian Lance Taylor  <ian@airs.com>
+
+       * reload1.c (verify_initial_elim_offsets): Add braces to avoid
+       having a declaration after a statement.
+
+2005-05-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * opt-functions.awk (var_type): New function.
+       (var_set): Use CLVC_STRING if var_type returns "const char *".
+       * opth-gen.awk: Use var_type to find out the types of variables.
+       Don't print comments above each "extern" definition.
+       * optc-gen.awk: Use var_type in the same way.
+       * opts.h (cl_var_cond): Rename to...
+       (cl_var_type): ...this.  Add CLVC_STRING.
+       (cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
+       with "var_type".
+       * opts.c (handle_option, option_enabled): Update after above name
+       change.  Cast flag_var before using it.  Handle CLVC_STRING.
+       
+       * config/alpha/alpha.h (alpha_tls_size): Delete.
+       * config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
+       (alpha_tune_string, alpha_tp_string, alpha_fprm_string)
+       (alpha_fptm_string, alpha_mlat_string): Delete.
+       (alpha_handle_option): Don't set the above variables here.  Use the
+       integer argument to check the validity of -mtls-size=.
+       * config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
+       (mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
+       (mtls-size=): Likewise.  Convert to a UInteger and initialize the
+       variable to 32.
+
+       * config/arc/arc.c (arc_cpu_string, arc_text_string)
+       (arc_data_string, arc_rodata_string): Delete.
+       (arc_handle_option): Don't set the above variables here.
+       * config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
+       and initialize them.
+
+       * config/arm/arm.c (target_fpu_name, target_fpe_name)
+       (target_float_abi_name, target_abi_name, structure_size_string)
+       (arm_pic_register_string): Delete.
+       (arm_handle_option): Don't set the above variables here, except
+       in the handling of -mhard-float and -msoft-float.
+       * config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
+       (mpic-register=, mstructure-size-boundary=): Add Var()s.
+
+       * config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
+       (avr_handle_option): Delete.
+       * config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
+       them.
+
+       * config/bfin/bfin.c (bfin_library_id): Delete.
+       (bfin_handle_option): Don't set it.
+       * config/bfin/bfin.opt (mshared-library-id=): Add Var().
+
+       * config/c4x/c4x.h (c4x_rpts_cycles): Delete.
+       * config/c4x/c4x.c (c4x_rpts_cycles): Delete.
+       (c4x_handle_option): Don't set c4x_rpts_cycles here.
+       * config/c4x/c4x.opt (mrpts=): Add Var().
+
+       * config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
+       cris_elinux_stacksize_str here.
+       * config/cris/aout.opt (melinux-stacksize=): Add Var().
+       * config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       * config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       (cris_handle_option): Don't set the above variables here.
+       * config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
+       (max-stackframe=): Add Var()s.
+
+       * config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
+       * config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
+       (ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
+       (ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
+       (ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
+       (ix86_branch_cost_string, ix86_align_funcs_string): Delete.
+       (ix86_handle_option): Don't set the above variables here.
+       * config/i386/i386.opt (malign-functions=, malign-jumps=)
+       (malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
+       (mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
+       Var()s.
+
+       * config/ia64/ia64.h (ia64_tls_size): Delete.
+       * config/ia64/ia64.c (ia64_tls_size): Delete.
+       (ia64_handle_option): Treat -mtls-size= as a UInteger option,
+       reading the integer argument from the "value" parameter.  Don't
+       set ia64_tls_size here.
+       * config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
+       Add Var() and Init().
+
+       * config/m32r/m32r.h (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       * config/m32r/m32r.c (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       (m32r_handle_option): Don't set the above variables when handling
+       -mflush-func= and -mflush-trap=.
+       * config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
+       and Init()s.
+
+       * config/mips/mips.h (mips_cache_flush_func): Delete.
+       * config/mips/mips.c (mips_arch_string, mips_tune_string)
+       (mips_cache_flush_func): Delete.
+       (mips_handle_option): Don't set the above variables when handling
+       -march=, -mtune= and -mflush-func=.
+       * config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
+
+       * config/s390/s390.c (s390_arch_string): Delete.
+       (s390_handle_option): Don't set it here.
+       * config/s390/s390.opt (march=): Add Var().
+
+       * config/sparc/sparc.h (sparc_cmodel_string): Delete.
+       * config/sparc/sparc.c (sparc_cmodel_string): Delete.
+       (sparc_handle_option): Don't set it here.
+       * config/sparc/sparc.opt (mcmodel=): Add Var().
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
+       call to convert_to_integer by building the NOP_EXPR directly.
+
+2005-05-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
+
 2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
            Jeff Law  <law@redhat.com>
 
 
 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
 
+       * tree-ssa-math-opts.c: New file.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
        * Makefile.in: Add tree-ssa-math-opts.c.
        * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
        * fold-const.c (distribute_real_division): New.