re PR target/27543 (attribute ms_struct is now also for rs6000 but not documented)
[gcc.git] / gcc / ChangeLog
index 435f32508eb8dee89c6948cbd9fe2d30fb27d3f4..41090f5096884022eea89f071ae4c45fbcedab28 100644 (file)
@@ -1,3 +1,250 @@
+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
+        * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
+
+2006-07-20  Eric Christopher  <echristo@apple.com>
+
+       PR target/26877
+       * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
+
+2006-07-19  Eric Christopher  <echristo@apple.com>
+
+       * config/t-slibgcc-darwin (stmp-lipo): Remove.
+       Rewrite dependencies for libgcc_s.1.dylib.
+
+2006-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * except.c (duplicate_eh_regions_1): Clear next_peer.
+
+2006-07-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
+       -mlongcall does not guarantee all calls will be long.
+       * doc/extend.texi (long_call/short_call): Document that longcall
+       does not guarantee a long call will be used.
+       (longcall/shortcall): Likewise.
+
+2006-07-18  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/28283
+       * expmed.c (expand_shift): Additionally check that the shift_cost
+       is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
+       before implementing a LSHIFT_EXPR as a sequence of additions.
+       * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
+       middle-end that DImode shifts need to be synthesized by expand.
+
 2006-07-18  Diego Novillo  <dnovillo@redhat.com>
 
        PR 28410
        Whether a constructor node is a valid static constant initializer
        if all its elements are.
        (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
-       * output.h: Declare it. 
+       * output.h: Declare it.
        * expr.c (categorize_ctor_elements_1): Return whether the constructor
        is a valid constant initializer instead of computing the number of
        non-constant elements.  Use constructor_static_from_elts_p for this
        helper.  Former head comment from this helper moved here, adjusted to
        account for the interface changes.
        (mostly_zeros_p): Adjust call to categorize_ctor_elements.
-       (all_zeros_p): Likewise.        
+       (all_zeros_p): Likewise.
        * gimplify.c (gimplify_init_constructor): Decide whether we can make
        static versions of the constructor from the categorize_ctor_elements
        return value instead of the formerly computed number of non-constant
 2006-07-14  Carlos O'Donell  <carlos@codesourcery.com>
 
        * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
-       (dbxout_function_end): Use local label LFBB. Remove hook 
+       (dbxout_function_end): Use local label LFBB. Remove hook
        DBX_OUTPUT_NFUN.
        (dbxout_source_line): Use local label LFBB.
        (dbxout_block): Likewise.
 
        * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
        walking the LOG_LINKS chain.
-  
+
 2006-07-12  Geoffrey Keating  <geoffk@apple.com>
 
        * doc/invoke.texi (C++ Dialect Options): Explain difference