summaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-04 07:26:39 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-04 07:26:39 +0000
commitc989ecc17b6ce839293ad15598c3dce3b252f935 (patch)
treea7671f002a287d6524319f97f4f6fceea0ed368b /gcc/fwprop.c
parent0c05fe4992fe55a40ff8fbaa36baadef48f0ce8a (diff)
downloadgcc-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.c13
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));