OSDN Git Service

* expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a45f517..2f285da 100644 (file)
@@ -1,3 +1,290 @@
+2004-11-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
+       REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
+
+2004-11-30  Ben Elliston  <bje@au.ibm.com>
+
+       * Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
+
+2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/18479
+       * c-common.c (handle_visibility_attribute): When the type decl
+       is really a identifier node, warn about being ignored and return.
+
+2004-11-29  Richard Henderson  <rth@redhat.com>
+
+       * tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
+
+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.
        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