diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-04 07:26:39 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-04 07:26:39 +0000 |
commit | c989ecc17b6ce839293ad15598c3dce3b252f935 (patch) | |
tree | a7671f002a287d6524319f97f4f6fceea0ed368b /gcc/fwprop.c | |
parent | 0c05fe4992fe55a40ff8fbaa36baadef48f0ce8a (diff) | |
download | gcc-c989ecc17b6ce839293ad15598c3dce3b252f935.tar.gz |
2010-09-04 Paolo Bonzini <bonzini@gnu.org>
* df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
(struct df_extract_ref): Remove.
(union df_ref_d): Remove extract_ref member.
(df_ref_create): Remove last three arguments.
(DF_REF_LOC): Remove DF_REF_EXTRACT case.
* df-scan.c (df_ref_record): Remove last three arguments, do not
pass them to df_ref_create_structure.
(df_uses_record): Remove first and last three arguments. Replace
first argument with DF_REF_REGULAR, adjust calls to remove the
width, offset and mode. Always call recursively on the second
and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
(df_ref_create_structure): Remove first argument.
(struct df_scan_problem_data): Remove ref_extract_pool.
(df_scan_free_internal): Do not free it.
(df_scan_alloc): Do not allocate it.
(df_ref_create): Remove last three arguments, do not pass them to
df_ref_create_structure.
(df_free_ref): Remove DF_REF_EXTRACT case.
(df_notes_rescan): Adjust call to df_uses_record.
(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
Remove DF_REF_EXTRACT case.
(df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
and SUBREG definitions.
(df_get_conditional_uses): Remove references to width/offset/mode,
adjust call to df_ref_create_structure.
(df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
calls to df_uses_record and df_ref_record.
* fwprop.c (update_df): Remove references to width/offset/mode,
adjust call to df_ref_create.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163854 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fwprop.c')
-rw-r--r-- | gcc/fwprop.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/gcc/fwprop.c b/gcc/fwprop.c index a6f52cdce5b..006dca3cda9 100644 --- a/gcc/fwprop.c +++ b/gcc/fwprop.c @@ -908,28 +908,17 @@ update_df (rtx insn, rtx *loc, df_ref *use_rec, enum df_ref_type type, { df_ref use = *use_rec; df_ref orig_use = use, new_use; - int width = -1; - int offset = -1; - enum machine_mode mode = VOIDmode; rtx *new_loc = find_occurrence (loc, DF_REF_REG (orig_use)); use_rec++; if (!new_loc) continue; - if (DF_REF_FLAGS_IS_SET (orig_use, DF_REF_SIGN_EXTRACT | DF_REF_ZERO_EXTRACT)) - { - width = DF_REF_EXTRACT_WIDTH (orig_use); - offset = DF_REF_EXTRACT_OFFSET (orig_use); - mode = DF_REF_EXTRACT_MODE (orig_use); - } - /* Add a new insn use. Use the original type, because it says if the use was within a MEM. */ new_use = df_ref_create (DF_REF_REG (orig_use), new_loc, insn, BLOCK_FOR_INSN (insn), - type, DF_REF_FLAGS (orig_use) | new_flags, - width, offset, mode); + type, DF_REF_FLAGS (orig_use) | new_flags); /* Set up the use-def chain. */ gcc_assert (DF_REF_ID (new_use) == (int) VEC_length (df_ref, use_def_ref)); |