This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/14016] [tree-ssa] User variable get eliminated, only to be replaced with compiler generated ones


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]