[multiple changes]
[gcc.git] / gcc / ChangeLog
index 464cc5741e5e3232af4fa455331c8b6e8a696441..6e2afa3cc241dce31eeed7cf7fd2717b30fae29d 100644 (file)
@@ -1,3 +1,160 @@
+2004-11-18  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.
@@ -9,7 +166,7 @@
        * bb-reorder.c (find_traces_1_round): Speed up by using
        EDGE_COUNT instead of FOR_EACH_EDGE.
 
-       * fold-const.c: Fix a comment typo.
+       * fold-const.c, config/i386/linux64.h: Fix comment typos.
 
 2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>