OSDN Git Service

2001-07-30 H.J. Lu (hjl@gnu.org)
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b811eb4..2a95892 100644 (file)
@@ -1,3 +1,269 @@
+2001-07-30  H.J. Lu  (hjl@gnu.org)
+
+       * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
+       (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+       (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
+
+2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
+       as -mthumb-interwork when -mcpu=arm7 is specified.
+
+Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.def (noreturn, loop branch, loop exit): Mark as first
+       match heuristics.
+
+Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (try_combine): Avoid barrier after noop jumps.
+
+2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * cpphash.h (struct cpp_reader): Remove import_warning.
+       * cpplib.c (skip_rest_of_line): Don't bother turning off
+       macro expansion.
+       (parse_include): Move include handling to...
+       (do_include_common): ... here.  Move import warning from...
+       (do_import): ... here.
+       (do_pragma_poison): Don't do a callback for poison identifiers.
+       * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
+       * cppmain.c (setup_callbacks): Similarly.
+
+Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
+       handle multiple sets.
+       * except.c (sjlj_mark_call_sites): .... here.
+       * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
+
+Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       Suggested by Richard Henderson and Richard Kenner:
+       * combine.c (recog_for_combine): Use the fake recog
+       only if instruction does not match.
+       * rtl.h (NOOP_MOVE_INSN_CODE): New.
+       * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
+
+       * combine.c (try_combine): Discover noop jump as direct jump.
+
+2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
+
+       * df.c (df_rd_global_compute): Add successors to worklist, not
+       current item.
+       (df_ru_global_compute): Ditto.
+
+2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
+
+       * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
+       increment REG_N_SETS.
+
+2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
+
+       * sbitmap.h: New prototype for sbitmap_a_xor_b.
+
+       * sbitmap.c (sbitmap_a_xor_b): New function.
+       ifdef the basic block stuff on IN_GCC.
+
+2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * cppexp.c (parse_defined): Always record the macro name.
+       (lex): Don't worry about identifiers, or special-case
+       CPP_NOT here.
+       (_cpp_parse_expr): Figure out at the end of the routine
+       whether we saw a valid !defined() expression.
+       * cppfiles.c (stack_include_file): Update for mi_valid.
+       (_cpp_pop_file_buffer): Similarly.
+       * cpplex.c (_cpp_lex_token): Similarly.
+       * cpphash.h (enum mi_state, enum mi_ind, mi_state,
+       mi_if_not_defined, mi_lexed): Remove.
+       (mi_valid): New.
+       * cpplib.c (do_if): Simplify.
+       (do_endif, push_conditional, _cpp_handle_directive): Update
+       for renaming of mi_state to mi_valid.
+doc:
+       * cpp.texi: Add index entries for digraphs, and add comment
+       that C++ refers to them as alternative tokens.
+
+Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (CLEANUP_PRE_LOOP): New.
+       * except.c (finish_eh_generation): Update call of cleanup_cfg.
+       * sibcall.c (optimize_sibling_calls): Likewise.
+       * toplev.c (rest_of_compilation): Likewise.
+       * flow.c (try_forward_edges): Take argument MODE;
+       do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
+       (try_optimize_cfg): Update call of try_forward_edges.
+
+Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
+                              Jan Hubicka  <jh@suse.cz>
+
+       * (validate_replace_rtx_1): Fix simplification of MINUS.
+
+2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       PR preprocessor/3669
+       * cppinit.c (init_dependency_output): Turn off dump requests
+       if sending dependencies to stdout.
+
+2001-07-28  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
+       not optimizing.
+
+2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
+
+       * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
+
+2001-07-28  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
+       is VAR_DECL first to prevent an ICE.
+
+2001-07-28  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (immed_real_const_1): Don't elide special cases for
+       nested functions.
+       (clear_const_double_mem): Clear const_tiny_rtx too.
+
+2001-07-28  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (dw_val_class_offset): New.
+       (struct dw_ranges_struct, dw_ranges_ref): New.
+       (ranges_table, ranges_table_allocated): New.
+       (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
+       (add_AT_offset, add_ranges, output_ranges): New.
+       (print_die, output_die): Handle dw_val_class_offset.
+       (attr_checksum, size_of_die, value_format): Likewise.
+       (gen_lexical_block_die): Handle non-contiguous blocks.
+       (gen_block_die): Likewise.
+       (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
+       if needed.  Dump the ranges table.
+       * final.c (final_start_function): Remove unnecessary notes and
+       rebuild the block tree before numbering the blocks.
+       * function.c (reorder_blocks_0): Walk the existing block tree
+       to unmark all blocks.
+       (reorder_blocks_1): Create block fragments when duplicate block
+       notes are seen.
+       (reorder_fix_fragments): New.
+       (reorder_blocks): Call it.
+       * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
+
+2001-07-28  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (adjust_address): Make a copy of the memory address.
+
+2001-07-28  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (add_to_mem_set_list): New function.
+       (init_propagate_block_info): Use it.
+       (mark_set_1): Likewise.
+       (insn_dead_p): Canonicalize memory address for dead store
+       comparison.  Allow wider mode stores to kill narrower mode stores.
+       (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
+       (invalidate_mems_from_set): Don't handle MEMs.
+
+2001-07-28  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h: Fix formatting.
+
+Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (EDGE_FREQUENCY): New macro.
+       * bb-reorder (fixup_reorder_chain): Set counts and frequencies
+       for new BB/edges.
+       * flow.c (find_sub_basic_blocks): Likewise.
+       (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
+       (redirect_edge_and_branch): Use EDGE_FREQUENCY.
+
+       * predict.c (DEF_PREDICTOR): New argument FLAGS.
+       (HITRATE): New macro.
+       (PRED_FLAG_FIRST_MATCH): New constant.
+       (predictor_info): New field flgags.
+       (combine_predictions_for_insn): Use DS theory to combine
+       probabilities; set the edge probabilities when finished.
+       (estimate_probability): Avoid duplicated matches
+       of LOOP_BRANCH heuristics for nested loops; update comment.
+       * predict.def: Add flags for each prediction, set probabilities
+       according to B&L paper.
+       * predict.h (DEF_PREDICTOR): New argument FLAGS.
+
+       * profile.c (compute_branch_probabilities):  Cleanup way the edge
+       probabilities are computed and REG_BR_PROB notes are dropped; if
+       values does not match, emit error.
+       (init_branch_prob): Do error instead of warning when profile driven
+       feedback is missing or corrupt.
+
+2001-07-27  DJ Delorie  <dj@redhat.com>
+
+       * ifcvt.c (noce_get_alt_condition): If the condition is a compare
+       against a constant, try to adjust the compare to have the desired
+       constant in it so that min/max optimizations happen more often.
+
+Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * flow.c (last_loop_beg_note): New function.
+       (redirect_edge_and_branch): Use it.
+       (split_edge): Likewise.
+
+       * alias.c (loop_p): Avoid uninitialized memory access.
+
+       * flow.c (try_forward_edges): Avoid accessing freed memory.
+
+       * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
+       variable access.
+
+2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Configuration): Properly link the host
+       specific instructions also when generating HTML.
+
+Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
+
+        * flow.c (redirect_edge_and_branch_force): Test
+       target->global_live_at_start.
+
+2001-07-26  Richard Henderson  <rth@redhat.com>
+
+       * simplify-rtx.c (avoid_constant_pool_reference): Export.
+       * rtl.h (avoid_constant_pool_reference): Declare it.
+       * dwarf2out.c (add_location_or_const_value_attribute): Use it.
+       (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
+
+Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * rtl.h (cleanup_barriers): Declare.
+       * jump.c (cleanup_barriers): New function.
+       * toplev.c (rest_of_compilation): Call cleanup_barriers
+       before loop optimizer and after bb_reorder.
+
+       * flow.c (back_edge_of_syntactic_loop_p): New.
+       (split_edge): Use it.
+
+2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * glimits.h (_MACH_MACHLIMITS_H_): Delete.
+
+Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
+
+       * cse.c (cse_process_notes): Replace any registers if the address
+       remains valid.
+
+Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
+
+       * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
+       (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
+       (propagate_block): Update prototype.
+       * flow.c (update_life_info): Simplify the CFG and
+       recalculate the global regs which are alive when
+       removing dead code during a global update.
+       (propagate_block): Return non-zero if an INSN is
+       deleted.
+
+2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+       * Makefile.in (LIBICONV): Define.
+
 2001-07-26  Catherine Moore  <clm@redhat.com>
 
         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order