OSDN Git Service

2006-08-06 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 213f3d8..2f0a1ec 100644 (file)
@@ -1,3 +1,355 @@
+2006-08-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/27827
+
+       * conffig/i386/i386.md: Add peephole2 to avoid "fld %st"
+       instructions.
+
+2006-08-06  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format
+       string.  Whitespace and comment fixup.
+
+2006-08-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c/28502
+       * c-decl.c (validate_proto_after_old_defn): Return false on invalid
+       argument.
+
+       PR c/27721
+       * c-typeck.c (build_modify_expr): Test earlier for non-lvalues.
+
+       PR c/28136
+       * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify.
+
+2006-08-04  Jan Hubicka  <jh@suse.cz>
+
+       PR target/26655
+       PR target/28270
+       * reload.c (push_reload): Patch out the mismatching instruction;
+       return early.
+       (find_reload): Bail out if the instruction was patched out.
+
+2006-08-04  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/24888
+       * tree-inline.c (expand_call_inline): Do not re-record variables.
+       (declare_inline_vars): Add variable to unexpanded_var_list.
+
+2006-08-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+           Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/26244
+       * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
+       inner_const are negative or greater than or equal to the bitsize of
+       MODE.  If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
+       Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
+       Simplify complicated if statement.  For ASHIFT and LSHIFTRT, return
+       CONST0_RTX (mode) when the new shift count is greater than or equal to
+       to the bitsize of the object being shifted and XEXP (y, 0) has no side
+       effects.
+
+2006-08-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-cfg.c: Fix a comment typo.
+
+2006-08-03  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/28148
+       * varasm.c (output_constant): Give the front end another chance to
+       expand constants, after stripping NOPs.
+
+2006-08-03  Jan Hubicka  <jh@suse.cz>
+
+       * domwalk.c (walk_dominator_tree): Reorganize to non-recursive
+       implementation.
+
+2006-08-03  Dorit Nuzman  <dorit@il.ibm.com>
+
+        PR tree-optimization/27770
+        * tree-vectorizer.h (get_vectype_for_scalar_type): Function
+        declaration removed (moved to tree-flow.h).
+        (vect_can_force_dr_alignment_p): Likewise.
+        * tree-flow.h (get_vectype_for_scalar_type): New function declaration
+        (moved from tree-vectorizer.h).
+        (vect_can_force_dr_alignment_p): Likewise.
+        * tree-vectorizer.c (vect_print_dump_info): Allow calling this function
+        from outside the vectorizer - in particular from cgraph stage.
+        * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase
+        the alignment of global arrays when -fsection-anchors is enabled.
+        * cgraphunit.c (cgraph_increase_alignment): New function.
+        (cgraph_optimize): Call cgraph_increase_alignment.
+
+2006-08-03  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/27566
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
+       not reload a SPE symbol_ref into a lo_sum address.
+
+2006-08-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       PR debug/28063
+       * dwarf2out.c (prune_unused_types_prune): Move call to
+       prune_unused_types_update_strings to cover the parent DIE also.
+
+2006-08-02  Jan Hubicka  <jh@suse.cz>
+
+       PR gcov/profile/28480
+       * tree-cfg.c (change_bb_for_stmt): New function.
+       (tree_merge_blocks, tree_split_blocks): Use it.
+
+2006-08-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/28250
+       PR c++/28257
+       PR c++/28259
+       PR c++/28267
+       * toplev.c (compile_file): Return early on errorcount or sorrycount.
+       * cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
+       (cgraph_optimize): Likewise.
+
+2006-08-01  Stuart Hastings  <stuart@apple.com>
+
+       * rtl.h (UINTVAL) New.
+       * config/rs6000/rs6000.c (SMALL_INT) Use it.
+       * testsuite/gcc.dg/20060801-1.c: New.
+       
+2006-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       PR debug/23336
+       * c-typeck.c (build_external_type): Mark used enum types.
+       * dwarf2out.c (dwarf2out_abstract_function): Save and restore
+       cfun also.
+       (gen_subprogram_die): Whitespace fix.
+
+2006-08-01  Jan Hubicka  <jh@suse.cz>
+
+       * tree-outof-ssa.c (check_replaceable): Do not allocate def_vars
+       bitmap when not needed.
+       * tree-ssa-pre.c (bitmap_set_and, bitmap_set_and_compl): Free temporary
+       bitmaps.
+
+2006-08-01  Dirk Mueller  <dmueller@suse.de>
+
+       * tree-vrp.c (fix_equivalence_set): Avoid bitmap memory leak.
+
+2006-07-31  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * Makefile.in: Revert part of previous patch:
+       Replace $(VARRAY_H) by varray.h in definition of BASIC_BLOCK_H
+       and REGS_H.
+
+2006-07-30  Eric Christopher  <echristo@apple.com>
+
+       PR target/27543
+       * doc/extend.texi (i386 Variable Attributes): Add anchor.
+       (PowerPC Variable Attributes): New section.
+
+2006-07-30  Atsushi Nemoto  <anemo@mba.ocn.ne.jp>
+
+       PR target/28126 (partial fix)
+       * config/mips/mips.md (tls_get_tp_<mode>): Set can_delay to no.
+
+2006-07-28  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * cfgrtl.c (rtl_delete_block): Free regsets.
+       * flow.c (allocate_bb_life_data): Re-use regsets if available.
+
+2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * Makefile.in: Use $(HEADER_H) instead of header.h in dependencies
+       and variables used in dependencies.
+
+2006-07-27  Arjan van de Ven <arjan@linux.intel.com>
+
+       * config/i386/i386.md (stack_tls_protect_set_di) Use %gs rather than
+       %fs for -mcmodel=kernel.
+       (stack_tls_protect_test_di): Likewise.
+
+2006-07-27  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Makefile.in: Use mkinstalldirs.
+
+2006-07-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR driver/28437
+       * opts-common.c (prune_options): Skip joined switches.
+
+2006-07-27  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * cselib.c (cselib_process_insn): Don't remove useless values too
+       often for very large hashtables.
+
+2006-07-27  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * global.c (greg_obstack): New obstack.
+       (allocate_bb_info): Use it.
+       (free_bb_info): Likewise.
+       (modify_reg_pav): Likewise.
+
+2006-07-27  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_fixed_mathfn): When long and long long are the
+       same size, canonicalize llceil*, llfloor*, llround* and llrint*
+       functions to their lceil*, lfloor*, lround* and lrint* forms.
+
+2006-07-27  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+       PR gcc/28508
+       * config/m32r/m32r.md (branch_insn): Reduce pc range for short
+       branch.
+       (rev_branch_insn): Likewise.
+
+2006-07-27  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * regmove.c (reg_is_remote_constant_p): Avoid quadratic behaviour.
+       (reg_set_in_bb, max_reg_computed): New static variables.
+       (regmove_optimize): Free the new array.
+       (fixup_match_1): Update call of reg_is_remote_constant_p.
+
+2006-07-26  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/27882
+       * cgraph.c (cgraph_remove_node): Clear needed, reachable, next, previous
+       and decl fields.
+       * cgraphunit.c (cgraph_reset_node): Expect cgraph_remove_node to kill
+       next pointer
+       (cgraph_analyze_compilation_unit): Likewise.
+       * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
+       * ipa-inline.c (cgraph_decide_recursive_inlining): Likewise.
+       (cgraph_early_inlinine): Make order garbage collected.
+       * Makefile.in (gt-ipa-inline): New garbagecollected file.
+
+2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * dbxout.c (output_types_sort): Add a comment.
+       (output_used_types): Free the VEC.
+
+2006-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * function.c (reorder_fix_fragments): Delete.
+       (reorder_blocks): Don't call it.
+       (reorder_blocks_1): Put all subblocks under the origin block.
+
+2006-07-26  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR rtl-optimization/27907
+       * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
+       FLOAT_TRUNCATE.
+
+2006-07-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/28473
+       * convert.c (convert_to_integer): When transforming (T)foo(x) into
+       bar(x) check that bar's result type can represent all the values of T.
+
+2006-07-25  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-chrec.c (chrec_convert_aggressive): Return NULL on failure.
+
+2006-07-25  Nick Clifton  <nickc@redhat.com>
+
+       * ggc-page.c (NUM_SIZE_LOOKUP): New constant - the length of the
+       size_lookup[] array.
+       (ggc_alloc_stat): Use NUM_SIZE_LOOKUP.
+       (ggc_pch_count_object): Likewise.
+       (ggc_pch_alloc_object): Likewise.
+       (ggc_pch_write_object): Likewise.
+       (init_ggc): Do not attempt to initialize entries in the
+       size_lookup[] array for objects whose size is greater than than
+       the length of the array.
+
+2006-07-25  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * dbxout.c (output_used_types_helper): Push queued types
+       on a VEC.
+       (output_types_sort): New.
+       (output_used_types): Collect used types on a VEC and sort them
+       before emission.
+
+2006-07-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/28463
+       * cgraph.c (cgraph_remove_node): Do not check if dumps
+       are enabled.
+       * cgraphunit.c (cgraph_optimize): Likewise.
+
+2006-07-24  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * tree-cfg.c (tree_split_block): Do not allocate new stmt_list nodes.
+       * tree-iterator.c (tsi_split_statement_list_before): Do not crash when
+       splitting before first stmt.
+
+2006-07-24  Jan Hubicka  <jh@suse.cz>
+
+       PR rtl-optimization/28071
+       * ipa-inline.c (update_caller_keys): Remove edges that
+       are no longer inline candidates.
+
+2006-07-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       PR debug/27473
+       * dbxout.c (output_used_types_helper, output_used_types): New.
+       (dbxout_symbol): Call output_used_types.
+
+2006-07-23  Jan Hubicka  <jh@suse.cz>
+
+       PR c/25795
+       PR c++/27369
+       * cgraph.c (cgraph_varpool_nodes): Export.
+       (decide_is_variable_needed): Ignored "used" attribute in
+       unit-at-a-time mode.
+       * cgraph.h (cgraph_varpool_nodes): Declare.
+       * cgraphunit.c (decide_is_function_needed): Ignored "used" attribute in
+       unit-at-a-time mode.
+
+2006-07-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/28247
+       * gthr-solaris.h: Prototype __gthrw forms of thr_self, mutex_init and
+       mutex_destroy even when !_LIBOOBJC.  Remove duplicate prototype of
+       the __gthrw form of thr_keycreate.
+       (__gthread_key_delete): Silence the unused argument warning.
+
+2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR debug/25468
+       * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
+       Cache the last found '\0' marker to avoid quadratic behavior.
+
+2006-07-23  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (subsi_3_zext): Fix output template.
+
+2006-07-21  Mike Stump  <mrs@apple.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Note that
+       -fvisibility-inlines-hidden doesn't affect explicitly
+       instantiationed inline methods.
+
+2006-07-20  Roger Sayle  <roger@eyesopen.com>
+
+       * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
+       if the target assembler is GNU binutils' gas.
+       * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
+       whether to pass GNU gas or native as command line options.
+
+2006-07-20  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (remove_attribute): New fn.
+       * tree.h: Declare it.
+
+2006-07-20  Paul Brook  <paul@codesourcery.com>
+
+       PR 27363
+       * cse.c (cse_insn): Add destination addresses to hash table. Check if
+       they are invalidated by this instruction.
+
 2006-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
 
        PR target/28427