This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14016] [tree-ssa] User variable get eliminated, only to be replaced with compiler generated ones
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Feb 2004 00:29:01 -0000
- Subject: [Bug optimization/14016] [tree-ssa] User variable get eliminated, only to be replaced with compiler generated ones
- References: <20040204080152.14016.dann@godzilla.ics.uci.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From steven at gcc dot gnu dot org 2004-02-05 00:28 -------
Perhaps something like this patch. Dan can you test this?
Index: gimplify.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/gimplify.c,v
retrieving revision 1.1.2.141
diff -c -3 -p -r1.1.2.141 gimplify.c
*** gimplify.c 30 Jan 2004 13:14:02 -0000 1.1.2.141
--- gimplify.c 5 Feb 2004 00:26:34 -0000
*************** gimplify_modify_expr (tree *expr_p, tree
*** 2389,2396 ****
FIXME this should be handled by the is_gimple_rhs predicate. */
! if (TREE_CODE (*from_p) == CALL_EXPR
! || (flag_non_call_exceptions && tree_could_trap_p (*from_p))
/* If we're dealing with a renamable type, either source or dest
must be a renamed variable. */
|| (is_gimple_reg_type (TREE_TYPE (*from_p))
--- 2389,2395 ----
FIXME this should be handled by the is_gimple_rhs predicate. */
! if (tree_could_throw_p (*from_p)
/* If we're dealing with a renamable type, either source or dest
must be a renamed variable. */
|| (is_gimple_reg_type (TREE_TYPE (*from_p))
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14016