OSDN Git Service

* df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8e205af..c65ec1e 100644 (file)
@@ -1,3 +1,133 @@
+2008-06-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * df.h (struct df_ref): Replace 'insn' field with 'insn_info' field.
+       (DF_REF_INSN_INFO): New.
+       (DF_REF_INSN, DF_REF_INSN_UID): Rewrite macros using DF_REF_INSN_INFO.
+       (DF_REF_IS_ARTIFICIAL): Artificial refs are now identified as refs
+       with a NULL DF_REF_INSN_INFO.
+       (DF_INSN_INFO_GET, DF_INSN_INFO_SET): Renamed from DF_INSN_GET and
+       DF_INSN_SET.
+       (DF_INSN_INFO_LUID, DF_INSN_INFO_DEFS, DF_INSN_INFO_USES,
+       DF_INSN_INFO_EQ_USES): New.
+       (DF_INSN_LUID, DF_INSN_DEFS, DF_INSN_USES, DF_INSN_EQ_USES,
+       DF_INSN_UID_LUID, DF_INSN_UID_DEFS, DF_INSN_UID_USES,
+       DF_INSN_UID_EQ_USES): Rewrite using DF_INSN_INFO_* macros.
+       * df-core.c: Update comment for above changes.
+       (df_insn_debug_regno): Use DF_INSN_INFO_GET instead of INSN_UID and
+       DF_INSN_UID_* macros.
+       (df_ref_debug): Check for NULL DF_REF_INSN_INFO.
+       * df-scan.c (df_ref_record): Take a df_insn_info instead of an
+       insn rtx.  Update all callers.
+       (df_def_record_1, df_defs_record, df_uses_record, df_get_call_refs,
+       df_ref_create_structure, df_insn_refs_collect): Likewise.
+       (df_ref_equal_p): Compare DF_REF_INSN_INFO pointers for the refs.
+       * df-problems.c (df_chain_dump): Test for non-NULL DF_REF_INSN_INFO.
+       (df_live_bb_local_compute): Retrieve DF_INSN_INFO, use DF_INSN_INFO_*
+       macros to access the insn refs.
+       (df_chain_top_dump, df_chain_bottom_dump, df_byte_lr_alloc): Likewise.
+       * fwprop.c (use_killed_between): Use DF_REF_INSN accessor macro.
+       (all_uses_available): Retrieve DF_INSN_INFO for def_insn, and use it
+       for accessing the refs.
+       (try_fwprop_subst): Likewise.
+       * ddg.c (add_cross_iteration_register_deps): Use DF_REF_INSN macro.
+       * web.c (union_defs): Retrieve DF_INSN_INFO for def_insn, and use it
+       for accessing the refs.
+       * loop-invariant.c (invariant_for_use): Use DF_REF_BB macro.
+       (check_dependencies): Use DF_INSN_INFO_GET, use DF_INSN_INFO_* macros
+       to look at the insn refs.
+       (record_uses): Likewise.
+       * dce.c (deletable_insn_p): Don't tolerate artificial DEFs in this
+       function anymore.
+       (mark_artificial_uses): Don't mark_insn for artificial refs.
+       (mark_reg_rependencies): Likewise.
+
+       * doc/rtl.texi: Remove documentation of ADDRESSOF.
+
+2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
+
+       * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb.
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+
+2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
+
+       * config/avr/avr.c (avr_mcu_t): Add attiny167.
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
+       * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+
+2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
+
+       * config/avr/avr.c (avr_mcu_t): Add atmega32u4.
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+
+2008-06-17  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * tree-ssa-sccvn.c: Fix format of comments.
+
+2008-06-17  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * cgraph.c: Remove unneeded forward declarations of eq_node()
+       and hash_node().
+
+2008-06-17  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * see.c (see_analyse_one_def): Do not look for REG_LIBCALL and
+       REG_RETVAL notes.
+       (see_update_relevancy): Likewise.
+       * fwprop.c (try_fwprop_subst): Likewise.
+       * rtlanal.c (noop_move_p): Likewise.
+       * builtins.c (expand_buitlin_mathfn): Don't try to add REG_EQUAL
+       notes to non-existing libcall blocks.
+       * cse.c (cse_insn): Change prototype.  Don't update libcall notes.
+       Remove orig_set.
+       (cse_extended_basic_block): Don't track libcall and no-conflict notes.
+       (dead_libcall_p): Remove.
+       (delete_trivially_dead_insns): Don't use it.
+       * web.c (union_defs): Remove comment about keeping nops.
+       * gcse.c (hash_scan_insn): Don't take libcall pointers.
+       (compute_hash_table_work): Don't track libcall notes.
+       (do_local_cprop): Don't take libcall pointers.  Don't update
+       libcall notes.
+       (adjust_libcall_notes): Deleted.
+       (local_cprop_pass): Remove stack for nested libcalls (which shouldn't
+       ever have existed in the first place).
+       (replace_store_insn): Don't try to remove libcall notes.
+       * lower-subreg.c (move_libcall_note, move_retval_note): Deleted.
+       (resolve_reg_notes): Don't call them.
+       (resolve_simple_move): Likewise.
+       (decompose_multiword_subregs): Remove block handling REG_RETVAL notes.
+       Don't remove REG_RETVAL notes.
+       * emit-rtl.c (try_split): Don't update libcall notes.
+       (emit_copy_of_insn_after): Dito.
+       * cselib.c (cselib_current_insn_in_libcall): Remove.
+       (cselib_process_insn): Don't set/clear it.
+       (new_elt_loc_list): Don't record it.
+       (cselib_init): Don't initialize it.
+       * cselib.c (struct elt_loc_list): Remove in_libcall field.
+       * loop-invariant.c (find_invariant_insn): Don't look for libcall
+       notes.
+       * sched-deps.c (sched_analyze_insn): Don't group libcall blocks.
+       (sched_analyze): Don't set up deps->libcall_block_tail_insn.
+       (init_deps): Don't initialize it.
+       * sched-int.h (struct deps): Rremove libcall_block_tail_insn field.
+       * combine.c (delete_noop_moves): Don't update libcall notes.
+       (can_combine_p): Remove now pointless #if 0 block.
+       (try_combine): Remove another obsolete #if 0 block.
+       (distribute_notes): Don't distribute libcall notes.
+       * reg-notes.def (REG_LIBCALL, REG_RETVAL): Remove.
+       * dce.c (libcall_dead_p): Remove.
+       (delete_unmarked_insns): Don't handle libcall blocks.
+       (preserve_libcall_for_dce): Remove.
+       (prescan_insns_for_dce): Don't special-case libcall block insns.
+       * reload1 (reload): Don't handle libcall notes. 
+       * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
+       documentation.
+
 2008-06-16  Eric B. Weddington  <eric.weddington@atmel.com>
 
        * config/avr/avr.c (avr_mcu_t): Add atmega32c1.