+2012-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/53021
+ * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
+ UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
+ * alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
+ macros instead of constants.
+ * dse.c (record_store): Check for SP ADDRESS by comparing
+ XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
+ XEXP to be stack_pointer_rtx.
+
2012-04-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
/* Alias analysis for GNU C
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by John Carr (jfc@mit.edu).
This file is part of GCC.
&& HARD_REGNO_MODE_OK (i, Pmode))
static_reg_base_value[i] = arg_base_value;
- static_reg_base_value[STACK_POINTER_REGNUM] = unique_base_value (-1);
- static_reg_base_value[ARG_POINTER_REGNUM] = unique_base_value (-2);
- static_reg_base_value[FRAME_POINTER_REGNUM] = unique_base_value (-3);
+ static_reg_base_value[STACK_POINTER_REGNUM]
+ = unique_base_value (UNIQUE_BASE_VALUE_SP);
+ static_reg_base_value[ARG_POINTER_REGNUM]
+ = unique_base_value (UNIQUE_BASE_VALUE_ARGP);
+ static_reg_base_value[FRAME_POINTER_REGNUM]
+ = unique_base_value (UNIQUE_BASE_VALUE_FP);
#if !HARD_FRAME_POINTER_IS_FRAME_POINTER
- static_reg_base_value[HARD_FRAME_POINTER_REGNUM] = unique_base_value (-4);
+ static_reg_base_value[HARD_FRAME_POINTER_REGNUM]
+ = unique_base_value (UNIQUE_BASE_VALUE_HFP);
#endif
}
/* Exported functions from alias.c
- Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
memory barriers, including an address of SCRATCH. */
#define ALIAS_SET_MEMORY_BARRIER ((alias_set_type) -1)
+/* Values of XWINT (address, 0) of Pmode ADDRESS rtxes for special
+ registers. */
+#define UNIQUE_BASE_VALUE_SP -1
+#define UNIQUE_BASE_VALUE_ARGP -2
+#define UNIQUE_BASE_VALUE_FP -3
+#define UNIQUE_BASE_VALUE_HFP -4
+
#endif /* GCC_ALIAS_H */
/* RTL dead store elimination.
- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Sandiford <rsandifor@codesourcery.com>
if (!base_term
|| (GET_CODE (base_term) == ADDRESS
&& GET_MODE (base_term) == Pmode
- && XEXP (base_term, 0) == stack_pointer_rtx))
+ && XWINT (base_term, 0) == UNIQUE_BASE_VALUE_SP))
insn_info->stack_pointer_based = true;
insn_info->contains_cselib_groups = true;