OSDN Git Service

* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5f6d899..801ecee 100644 (file)
@@ -1,3 +1,362 @@
+2004-11-29  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
+       Remove CASE_DROPS_THROUGH checks, it is never defined.
+       * cfglyout.c (fixup_reorder_chain): Likewise.
+       * cfgrtl.c (rtl_verify_flow_info): Likewise.
+       * stmt.c (expand_case): Likewise.
+       * cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
+       it is now always 0.
+       * system.h (CASE_DROPS_THROUGH): Poison.
+       * doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
+       * doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
+
+       * config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
+
+2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/18725
+       * tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
+       shared always.
+
+2004-11-29  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/18712
+       * tree-into-ssa.c (insert_phi_nodes_for): Pass argument
+       WORK_STACK by reference.
+       Call VEC_safe_push instead of VEC_quick_push.
+       Update all users.
+
+2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       PR c/7544
+       * Makefile.in (c-lang.o): Update dependencies.
+       * c-lang.c: Include "c-pragma.h".
+       (finish_file): Call maybe_apply_pending_pragma_weaks.
+       * c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
+       * c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
+
+2004-11-29  Richard Henderson  <rth@redhat.com>
+
+       PR target/17224
+       * config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
+       outside the referenced object.
+
+2004-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
+       EDGE_PRED instead of PHI_ARG_EDGE.
+       * tree-ssa-live.c: Likewise.
+       * tree-ssa-loop-manip.c: Likewise.
+       * tree-ssa.c: Likewise.
+
+       * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
+       simplifying edge manipulation.
+
+       * cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
+       EDGE_COUNT.
+
+       * tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
+       only when needed.
+
+       * cfg.c (flow_obstack): Remove.
+       (flow_firstobj): Likewise.
+       (init_flow): Remove all uses of flow_obstack.
+
+2004-11-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * varasm.c (default_elf_select_section_1): Only pass DECL_P decl
+       to named_section.
+
+2004-11-29  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * opts.c (decode_options): Do not set max-inline-insns-rtl.
+       (common_handle_option): Likewise.
+       * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
+       * params.h (MAX_INLINE_INSNS_RTL): Remove.
+       * doc/invoke.texi (max-inline-insns-rtl): Remove.
+
+2004-11-29  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/9571
+       * varasm.c (default_elf_select_section_1): Pass decl to named_section.
+
+2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/18164
+       * gimplify.c (gimplify_asm_expr): If the length of an output operand
+       is zero, do not process it, just let it go through.
+
+2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Diego Novillo  <dnovillo@redhat.com>
+
+       PR/18662, also backported from tree-cleanup-branch.
+       * tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
+       always call maybe_clean_eh_stmt and modify_stmt.
+
+2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       PR/18664
+       * tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
+       Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
+       * tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
+       add an inverse VIEW_CONVERT_EXPR to const_val.
+
+       PR/18657
+       * tree-nested.c (check_for_nested_with_variably_modified): New.
+       (create_nesting_tree): Call it.
+
+       * tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
+       special code for assigning to non-pointer.
+       (is_escape_site): If RHS is a conversion between pointer and integer
+       types,  this is an escape site.
+
+       * gcse.c (insert_store): Error if try to insert store on abnormal edge.
+       (store_motion): Don't move store if any edge we'd want to move it
+       to is abnormal.
+
+       * expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
+       non-zero lower bound.
+
+       * expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
+
+2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       PR diagnostic/17594
+       * opts.c (find_opt): Require that the input match a switch exactly
+       or that the switch take a joined option to be interpreted as a
+       match for another language.
+
+2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * timevar.def (TV_TREE_REDPHI): New timevar.
+       * tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
+
+2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       PR preprocessor/17651
+       * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
+       flag_no_line_commands.
+       * c-ppoutput.c (pp_file_change): Remove now-redundant check of
+       flag_no_output.
+
+2004-11-28  Theodore A. Roth  <troth@openavr.org>
+
+       * config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
+       warning if the function name does not begin with "__vector" and the
+       function has either the 'signal' or 'interrupt' attribute.
+
+2004-11-28  Theodore A. Roth  <troth@openavr.org>
+
+       * config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
+       atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
+       atmega325, atmega3250, atmega645 and atmega6450.
+       * config/avr/avr.h (LINK_SPEC): Ditto.
+       (LIB_SPEC): Ditto.
+       (LIBGCC_SPEC): Ditto.
+       (CRT_BINUTILS_SPECS): Ditto.
+       * config/avr/t-avr (MULTILIB_MATCHES): Ditto.
+
+2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       PR preprocessor/17610
+       * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
+
+2004-11-28  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
+       (pass_maybe_create_global_var): New.
+       * tree-pass.h (pass_maybe_create_global_var): Declare.
+       * tree-optimize.c (init_tree_optimization_passes): Link in
+       pass_maybe_create_global_var.
+
+2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
+
+2004-11-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR rtl-optimization/18420
+       * simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
+
+2004-11-28  Steven Bosscher  <stevenb@suse.de>
+           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
+       * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
+       that the case is in range, to make sure the casesi insn is always
+       in range and never falls through.
+       (casesi1): Add comment to explain why casesi never falls through.
+       Remove the unnamed special case casesi pattern.
+
+2004-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       PR target/18331
+       * config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
+       "*movdicc_real".  Only match reversible comparisons.
+       ("*movdicc_real_nonreversible"): New pattern, split from
+       "*movdicc_real".  Match only nonreversible comparisons.  Exclude
+       reversed alternatives.
+       ("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
+       Similar.
+
+2004-11-27  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.md: Move all define_predicate's ...
+       * config/ia64/predicates.md: ... here.  New file.
+
+2004-11-27  Per Bothner  <per@bothner.com>
+
+       PR bootstrap/18142
+       Re-applied following, with two modifications: add a URL for the
+       fixed cctools; only exit if $build = $target.
+
+       2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
+       * configure.ac (powerpc-*-darwin*): Require assembler to support
+       .machine directive.
+       * configure: Regenerate.
+
+2004-11-28  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/16800
+       * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
+       EQ, GTU, and LTU costs.  Add costs for GT, LT, and UNORDERED.
+       Distinguish between SImode and DImode CONST_INT.
+
+2004-11-28  Andreas Fischer <a_fisch@gmx.de>
+           Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/16343
+       * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
+       functions, strings and thread-local vars.
+
+2004-11-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
+       * config/rs6000/darwin.h (WORLD_SAVE_P): Define.
+       * config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
+       to allow non-darwin ABIs to optimize away code.
+       (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
+
+2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree.c (operand_equal_for_phi_arg_p): New.
+       * tree.h: Add a prototype for operand_equal_for_phi_arg_p.
+       * tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
+       Replace operand_equal_p with operand_for_phi_arg_p
+       appropriately.
+
+       * bb-reorder.c (find_traces_1_round): Speed up by using
+       EDGE_COUNT instead of FOR_EACH_EDGE.
+
+       * fold-const.c, config/i386/linux64.h: Fix comment typos.
+
+2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR pch/14940
+       * config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
+
+2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i386/linux.h: Fix a comment typo.
+       * doc/extend.texi: Fix a typo.
+
+2004-11-27  Jeff Law  <law@redhat.com>
+
+       * tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
+       are merged.
+
+2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/linux64.h (REG_NAME): Define.
+
+2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
+       unsigned and type signed, build ABS_EXPR with signed_type (ctype)
+       and only afterwards convert to ctype.
+
+2004-11-27  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (function_arg_boundary): Declare.
+       * config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
+       (STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
+       (FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
+       * config/mips/mips.c (function_arg_boundary): New function.
+       Impose a maximum alignment of STACK_BOUNDARY.
+
+2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/17825
+       * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
+       or not.
+
+2004-11-27  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/12769
+       * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
+       from rs6000_default_long_calls for libcalls.
+
+2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expmed.c (extract_bit_field): When extracting from non-integer mode,
+       force a SUBREG into a register because we may be taking a further
+       SUBREG of it.
+
+2004-11-27  Di-an Jan  <dianj@freeshell.org>
+
+       * doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
+
+2004-11-26  Robert Millan  <robertmh@gnu.org>
+
+       Changes for k*bsd-gnu support.
+       * config/i386/linux.h: Define REG_NAME to allow overriding of
+       register names in sc structure.
+       * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
+       of sc->reg.
+       * config.gcc: Detect x86_64-k*bsd-gnu systems.
+
+2004-11-26  Jeff Law  <law@redhat.com>
+
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Don't
+       retrieve annotations or pointer info before it's necessary.
+       Reorder tests for early continue of the loop.  Manually CSE
+       SSA_NAME_VAR.
+
+2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
+       * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
+       (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
+       to a fixed reg if the source is the Return Address register.
+       Implement new Rule 15.
+       * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+       * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
+       sparc_dwarf_handle_frame_unspec.
+       (gen_save_register_window): New function.
+       (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
+       (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
+       (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
+       Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
+       (sparc_asm_function_prologue): Do not emit call frame debugging info.
+       (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
+       (sparc_expand_epilogue): Likewise.
+       (sparc_dwarf_handle_frame_unspec): New function.
+       * config/sparc/sparc.md (save_register_window): Remove.
+       (save_register_windowdi): Rewrite modelled on the callframe debug info.
+       (save_register_windowsi): Likewise.
+
+2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv-protos.h: Guard ifcvt functions declarations with
+       BB_HEAD, not BLOCK_HEAD.
+
+2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
+       scratch insns that set a register live at the join point.
+
 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
 
        * cse.c, tree-ssa-operands.c: Fix comment typos.
        Use amd64 instead of 64.
 
 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
-            Joseph Myers  <joseph@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
 
        * crtstuff.c (IN_LIBGCC2): Define it.
        (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY