From: pinskia Date: Mon, 20 Aug 2007 00:48:09 +0000 (+0000) Subject: 2007-08-19 Andrew Pinski X-Git-Tag: upstream/4.9.2~46804 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9961142a9dee15a3aedf5638fe31b094654fd111;p=platform%2Fupstream%2Flinaro-gcc.git 2007-08-19 Andrew Pinski PR middle-end/32940 * cfgexpand.c (expand_one_register_var): Mark pointer DECL_ARTIFICIAL as REG_POINTER also. * stmt.c (expand_decl): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127634 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6fd2884..88d9e7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-08-19 Andrew Pinski + + PR middle-end/32940 + * cfgexpand.c (expand_one_register_var): Mark pointer + DECL_ARTIFICIAL as REG_POINTER also. + * stmt.c (expand_decl): Likewise. + 2007-08-19 Daniel Berlin Fix PR 32772 diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index d5a1e88..6031fda 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -673,18 +673,10 @@ expand_one_register_var (tree var) /* Note if the object is a user variable. */ if (!DECL_ARTIFICIAL (var)) - { mark_user_reg (x); - /* Trust user variables which have a pointer type to really - be pointers. Do not trust compiler generated temporaries - as our type system is totally busted as it relates to - pointer arithmetic which translates into lots of compiler - generated objects with pointer types, but which are not really - pointers. */ - if (POINTER_TYPE_P (type)) - mark_reg_pointer (x, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (var)))); - } + if (POINTER_TYPE_P (type)) + mark_reg_pointer (x, TYPE_ALIGN (TREE_TYPE (TREE_TYPE (var)))); } /* A subroutine of expand_one_var. Called to assign rtl to a VAR_DECL that diff --git a/gcc/stmt.c b/gcc/stmt.c index cb4b1bd..7192dca 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -1898,19 +1898,11 @@ expand_decl (tree decl) /* Note if the object is a user variable. */ if (!DECL_ARTIFICIAL (decl)) - { mark_user_reg (DECL_RTL (decl)); - /* Trust user variables which have a pointer type to really - be pointers. Do not trust compiler generated temporaries - as our type system is totally busted as it relates to - pointer arithmetic which translates into lots of compiler - generated objects with pointer types, but which are not really - pointers. */ - if (POINTER_TYPE_P (type)) - mark_reg_pointer (DECL_RTL (decl), - TYPE_ALIGN (TREE_TYPE (TREE_TYPE (decl)))); - } + if (POINTER_TYPE_P (type)) + mark_reg_pointer (DECL_RTL (decl), + TYPE_ALIGN (TREE_TYPE (TREE_TYPE (decl)))); } else if (TREE_CODE (DECL_SIZE_UNIT (decl)) == INTEGER_CST