OSDN Git Service

* interface.c: Fix a comment typo.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7366371..8824718 100644 (file)
@@ -1,3 +1,117 @@
+2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arm/arm.c: Fix a comment typo.
+       * doc/tree-ssa.texi: Fix a typo.
+
+2005-04-10  Steven Bosscher  <stevenb@suse.de>
+
+       * cselib.c (clear_table): Rename to cselib_clear_table.
+       * cselib.h (cselib_clear_table): Add prototype.
+       * gcse.c (gcse_main): Make 'f' argument unused.
+       (alloc_gcse_mem): Do not walk the insn chain, walk the contents
+       of each basic block instead.
+       (compute_sets, compute_hash_table_work): Likewise.
+       (constprop_register): Change int 'alter_jumps' argument to bool.
+       (do_local_cprop): Likewise.
+       (local_cprop_pass): Likewise.  Also walk basic blocks instead of
+       the insn chain.  Explicitly clear the cselib tables after finishing
+       one basic block.  Make sure there are no unterminated libcall blocks.
+       Update compute_sets call.
+       (cprop): Walk basic blocks instead of the insn chain.
+       (one_cprop_pass, compute_ld_motion_mems, compute_store_table):
+       Likewise.
+       (bypass_jumps): Update alloc_gcse_mem, compute_sets, and
+       one_cprop_pass calls.
+
+2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * combine.c (combine_simplify_rtx): Remove a transformation that
+       relies on an invalid assumption about rtl sign-extension semantics.
+
+2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
+       to build_int_cst_wide.
+
+2005-04-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/20126
+       * loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
+       set the original address pseudo to the correct value before the
+       original insn, if possible, and leave the insn alone, otherwise
+       create a new pseudo, set it and replace it in the insn.
+       * recog.c (validate_change_maybe_volatile): New.
+       * recog.h (validate_change_maybe_volatile): Declare.
+
+2005-04-09  Caroline Tice  <ctice@apple.com>
+
+       * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+       Remove targetm.have_named_sections test.
+       (fix_edges_for_rarely_executed_code): Likewise.
+       (insert_section_boundary_note): Likewise.
+       (reorder_basic_blocks): Check partitioning flag before calling
+       verify_hot_cold_block_grouping.
+       * dbxout.c (dbxout_function_end): Get hot/cold section labels from
+       the function struct rather than global variables.
+       * dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
+       (COLD_END_LABEL): Likewise
+       (cold_text_section_label): New static global variable.
+       (cold_end_label): Likewise.
+       (dwarf2out_switch_text_section): Get hot/cold section labels from
+       the function struct rather than global variables.
+       (output_aranges): Use cold_text_section_label and cold_end_label;
+       check partitioning flag before putting out delta.
+       (output_ranges): Remove incorrect code attempting to use
+       hot/cold labels.
+       (output_line_info): Get cold section label from function struct.
+       (add_location_or_const_value_attribute): Likewise.
+       (get_subprogram_die): Get hot/cold section labels from function struct.
+       (dwarf2out_var_location): Likewise.
+       (dwarf2out_init): Generate cold_text_section_label and cold_end_label;
+       write out cold_text_section_label if partition flag is set.
+       (dwarf2out_finish): Write out cold_end_label if partition flag is set;
+       * function.h (struct function): Add new fields to point to hot/cold
+       section labels: hot_section_label, cold_section_label,
+       hot_section_end_label and cold_section_end_label; also add new field
+       for cold text section name, unlikely_text_section_name.
+       * opts.c (decode_options): Turn off partitioning flag if
+       !targetm.have_named_sections.
+       * output.h (hot_section_label): Remove.
+       (hot_section_end_label): Remove.
+       (cold_section_end_label): Remove.
+       (unlikely_section_label): Remove.
+       (unlikely_text_section_name): Remove.
+       * passes.c (rest_of_handle_final):  Remove code that frees
+       unlikely_text_section_name.
+       * varasm.c (unlikely_section_label): Remove.
+       (hot_section_label): Remove.
+       (hot_section_end_label): Remove.
+       (cold_section_end_label): Remove.
+       (unlikely_text_section_name):  Remove.
+       (initialize_cold_section_name): Modify to call
+       targetm.strip_name_encoding; to store cold section name in current
+       function struct, if it exists; and to only use the decl_section_name
+       if flag_named_sections is true.
+       (unlikely_text_section): Modify to get section name out of current
+       function struct, if there is one; otherwise build it from
+       UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
+       (in_unlikely_text_section): Likewise.
+       (named_section): Modify to get/put cold section name in current function
+       struct, if there is one.
+       (function_section):  Change 'bool unlikely' to 'int reloc'; check
+       targetm.have_named_sections before calling named_section.
+       (current_function_section): Likewise.
+       (assemble_start_function): Modify to get/put unlikely_text_section_name
+       in current function struct; modify to get hot/cold section labels
+       from function struct; initialize labels using 
+       ASM_GENERATE_INTERNAL_LABEL;
+       test partitioning flag before writing out hot section label.
+       (assemble_end_function): Test partitioning flag before writing out
+       hot/cold section labels.
+       (default_section_type_flags_1):  Modify to use array instead of
+        char* for unlikely_text_section_name; set flags correctly for
+        cold text section if there is not a current function decl.
+
 2005-04-09  Jakub Jelinek  <jakub@redhat.com>
 
        * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
        * config/mn10300/mn10300.opt: New file.
 
 2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
-            Sebastian Pop <sebastian.pop@cri.ensmp.fr>
+           Sebastian Pop <sebastian.pop@cri.ensmp.fr>
 
        PR tree-optimization/19903
        * tree-chrec.c (chrec_convert): Return chrec_dont_know for constants
        CRIS epilogue as RTL.
        * config/cris/cris.md: Change all 0 in unspec 0 to
        CRIS_UNSPEC_PLT.
-       (CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants.
+       (CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants.
        ("*cris_load_multiple", "cris_frame_deallocated_barrier"): New
        patterns.
        ("return"): Change to define_expand.  Call cris_expand_return for