OSDN Git Service

PR middle-end/24750
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5d6bfe6..bb8033c 100644 (file)
@@ -1,3 +1,280 @@
+2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR middle-end/24750
+       * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
+       ZERO_EXTEND>: New cases.
+
+2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * longlong.h (__clz_tab): Always provide.
+
+2005-11-11  Steven Bosscher  <stevenb@suse.de>
+
+       PR 24265
+       * loop-invariant.c (may_assign_reg_p): Make sure a hard register
+       can be assigned to.
+       (find_invariant_insn): Do the cheapest check, may_assign_reg_p,
+       before check_maybe_invariant.
+       (move_invariant_reg): Use gen_move_insn instead of replacing
+       SET_DEST with the temporary for the invariant.
+       (move_loop_invariants): If checking is enabled, do internal
+       consistency checks after completing the pass.
+
+2005-11-11  David Edelsohn  <edelsohn@gnu.org>
+
+       PR 24644
+       * common.opt (Wvolatile-register-var): New.
+       * varasm.c (make_decl_rtl): Only emit warning when option
+       specified.  Clarify warning message.
+       * doc/invoke.texi (Wvolatile-register-var): Document new option.
+
+       * doc/md.texi (copysign): Document standard named pattern.
+
+2005-11-11  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
+       bytes when align is 2.
+       * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
+       by the first instruction of the loop.
+
+2005-11-11  Jason Merrill  <jason@redhat.com>
+
+       PR c++/24686
+       * gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
+       the cleanup list.
+
+2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/22509
+       * local-alloc.c (memref_used_between_p): Check whether a function call
+       could not reference the memref.
+
+2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * postreload.c (reload_cse_simplify_operands): Fix bug in sorting
+       algorithm so as to choose the best, not the worst, alternative.
+       Reset accumulated register class before processing next alternative.
+
+2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/24445
+       * calls.c (expand_call): Copy a return value to a plain register
+       if needed.
+
+2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/24778
+       * varasm.c (assemble_name): Recompute name only for transparent
+       aliases.
+
+2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
+
+       * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
+
+2005-11-04  Jeff Law  <law@redhat.com>
+
+       PR middle-end/23181
+       * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
+       perform reassociation if the parent statement will not die as
+       a result of the optimization.
+
+2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (compute_may_aliases): Remove call to 
+       delete_old_heap_vars.
+       * tree-dfa.c (referenced_var_remove): Remove function.
+       * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
+       (delete_tree_ssa): Remove call to delete_old_heapvars.
+       Add call to delete_alias_heapvars.
+       * tree-flow.h (referenced_var_remove): Remove prototype
+       (init_alias_heapvars): New prototype.
+       (delete_alias_heapvars): Ditto.
+       * Makefile.in (tree-ssa-structalias.o): Add
+       gt-tree-ssa-structalias.o
+       (GTFILES): Add tree-ssa-structalias.h and
+       tree-ssa-structalias.c.
+       (s-gtype): Add gt-tree-ssa-structalias.h.
+       * tree-ssa-structalias.c (heapvars): Remove.
+       (oldheapvars): Remove.
+       (heapvar_for_stmt): New variable.
+       (heapvar_lookup): New function.
+       (heapvar_insert): Ditto.
+       (get_constraint_for): See if we have an old heapvar
+       to reuse.
+       (init_alias_heapvars): New function.
+       (delete_alias_heapvars): Ditto.
+       Add include of gt-tree-ssa-structalias.h.
+
+2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/22127
+       * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
+
+2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (int_fits_type_p): Only look at the base type
+       if it has the same precision as the original type.
+
+2005-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/4372
+       * varasm.c (assemble_alias): Use %q+D in the error
+       message instead of %J and %qD.
+
+2005-11-10  Richard Guenther  <rguenther@suse.de>
+
+       * gcse.c (free_ldst_entry): Only free hashtable if
+       it exists.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.c (assign_stack_local_1): Issue an error message if
+       the frame size overflows in the signed target arithmetics.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (build_qualified_type): Chain the new type to the original
+       type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
+       a POINTER_TYPE or a REFERENCE_TYPE respectively.
+       (build_pointer_type_for_mode): Only return unqualified types.
+       (build_reference_type_for_mode): Likewise.
+
+2005-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (gnucompare): Do comparison of all files using one of
+       the chosen methods and only afterwards decide if just warning should
+       be issued or comparison failure raised.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
+       (noce_try_abs): Negate if the comparison is reversed.
+       Look only one instruction backwards for a REG_EQUAL note.
+
+2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR other/4372
+       * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
+       gthr-tpf.h: Define __gthrw.  For all identifiers that might
+       be weak, introduce weakrefs or non-weak aliases with __gthrw,
+       and prefix all uses with __ghtrw.
+
+2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR other/4372
+       * tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
+       (TREE_DEPRECATED): Adjust comment.  Check for a DECL.
+       * c-common.c (handle_weakref_attribute): New.
+       (c_common_attribute_table): Add weakref.
+       * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
+       in the assembler.
+       * configure, config.in: Rebuilt.
+       * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
+       * doc/extend.texi: Document weakref attribute.
+       * varasm.c (ultimate_transparent_alias_target): New
+       (assemble_name): Use it.
+       (weak_finish_1): Split out of...
+       (weak_finish): ... and deal with weakrefs in...
+       (weakref_targets): ... new list.
+       (globalize_decl): Clean up weakref_targets.
+       (do_assemble_alias): Handle weakrefs.
+       (finish_aliases_1): Do not reject weakrefs to external symbols.
+       (assemble_alias): Handle weakrefs.
+
+2005-11-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/24716
+       * tree-scalar-evolution.c (analyze_evolution_in_loop): Use
+       t_bool to track results from follow_ssa_edge.
+
+2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * final.c (force_source_line): New global variable.
+       (final_scan_insn): Set it to true instead of clearing last_filename.
+       (notice_source_line): Return true if force_source_line is true,
+       unless source info is absent.
+
+2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/24644
+       * dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
+       a linkage name for a variable if it a register variable.
+       * c-decl.c (grokdeclarator): Global register variables
+       should be set as PUBLIC.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24624
+       * config/s390/s390.c (struct s390_frame_layout): New fields 
+       first_save_gpr_slot and last_save_gpr_slot.
+       (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
+       s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
+       first_save_gpr and last_save_gpr with the _slot variants.
+       (s390_register_info): Calculate first_save_gpr_slot and 
+       last_save_gpr_slot using regs_ever_live.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24623
+       * config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
+       for a function containing a landing pad.
+
+2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR 24034
+       * flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
+       is live afterwards.
+
+2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
+       MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
+
+2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       Add ms2 support
+       * config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
+       constants.
+       (call,load,store): New insn types.
+       (mem_access, branch_access): Adjust reservation conditions.
+       (define_delay): Adjust condition.
+       (decrement_and_branch_until_zero): Allow for ms2.  Set branch
+       type.
+       (*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
+       (*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
+       insn type.
+       (call_internal, call_value_internal, return_internal,
+       return_interrupt_internal, eh_return_internal, indirect_jump,
+       tablejump): Set call insn type.
+       (blockage, ei, di): Use appropriate unspec const.
+       * config/ms1/ms1.c (ms1_flag_delayed_branch): New.
+       (ms1_get_attr_type): Adjust to give load & store types.
+       (ms1_final_prescan_insn): Adjust for new insn types.  Don't look
+       backwards past a barrier.
+       (ms1_override_options): Accept ms2 arch.  Copy and reset delayed
+       branch scheduling.
+       (struct branch_info, struct label_info): New.
+       (ms1_labels): New.
+       (ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
+       (ms1_machine_reorg): New.
+       (TARGET_MACHINE_DEPENDENT_REORG): Override.
+       * config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
+       * config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
+       (ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
+       (TARGET_MS2): New.
+
+2005-11-09  Per Bothner  <per@bothner.com>
+           Uros Bizjak  <uros@kss-loka.si>
+       
+       PR c/24101
+       * toplev.c (process_options): Initialize debug_hooks early
+       in case lang_hooks.post_options ends up calling a debug_hook.
+
+2005-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
+       DBX_REGISTER_NUMBER being contiguous.
+
 2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
            Diego Novillo  <dnovillo@redhat.com>