Commit 757e8ba2 by Jakub Jelinek Committed by Jakub Jelinek

re PR bootstrap/53021 (bootstrap failure on Linux/ia32)

	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.

From-SVN: r186623
parent faaf273b
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> 2012-04-20 Richard Guenther <rguenther@suse.de>
* tree-ssa-copy.c (propagate_tree_value_into_stmt): Use * tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
......
/* Alias analysis for GNU C /* Alias analysis for GNU C
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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). Contributed by John Carr (jfc@mit.edu).
This file is part of GCC. This file is part of GCC.
...@@ -2734,11 +2734,15 @@ init_alias_target (void) ...@@ -2734,11 +2734,15 @@ init_alias_target (void)
&& HARD_REGNO_MODE_OK (i, Pmode)) && HARD_REGNO_MODE_OK (i, Pmode))
static_reg_base_value[i] = arg_base_value; static_reg_base_value[i] = arg_base_value;
static_reg_base_value[STACK_POINTER_REGNUM] = unique_base_value (-1); static_reg_base_value[STACK_POINTER_REGNUM]
static_reg_base_value[ARG_POINTER_REGNUM] = unique_base_value (-2); = unique_base_value (UNIQUE_BASE_VALUE_SP);
static_reg_base_value[FRAME_POINTER_REGNUM] = unique_base_value (-3); 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 #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 #endif
} }
......
/* Exported functions from alias.c /* 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. This file is part of GCC.
...@@ -50,4 +51,11 @@ extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool); ...@@ -50,4 +51,11 @@ extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool);
memory barriers, including an address of SCRATCH. */ memory barriers, including an address of SCRATCH. */
#define ALIAS_SET_MEMORY_BARRIER ((alias_set_type) -1) #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 */ #endif /* GCC_ALIAS_H */
/* RTL dead store elimination. /* 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. Free Software Foundation, Inc.
Contributed by Richard Sandiford <rsandifor@codesourcery.com> Contributed by Richard Sandiford <rsandifor@codesourcery.com>
...@@ -1503,7 +1503,7 @@ record_store (rtx body, bb_info_t bb_info) ...@@ -1503,7 +1503,7 @@ record_store (rtx body, bb_info_t bb_info)
if (!base_term if (!base_term
|| (GET_CODE (base_term) == ADDRESS || (GET_CODE (base_term) == ADDRESS
&& GET_MODE (base_term) == Pmode && 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->stack_pointer_based = true;
insn_info->contains_cselib_groups = true; insn_info->contains_cselib_groups = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment