thx for the clarification. I have no objection to the change now.
Sorry for the misunderstanding
sun

On 10/18/11, Ye, Mei <mei...@amd.com> wrote:
> Some background from my interaction with Shivaram:
> X8664 disables copy prop of identity assignments for assembly inputs (with
> unknown reasons), but DCE appears to assume that  copy prop can always
> happen on identify assignments and therefore they are removable, which leads
> to downstream assertions on missing definitions.
>
> While it is not performance-friendly to disable copy props,  but disabling
> copy-prop is not an illegal action and DCE should not have pre-assumptions.
>  Shivaram was following this logic to find fixes in the DCE.    Other
> non-X86 targets simply allows copy prop which will hide the DCE
> pre-assumptions.
>
> It is very likely that Shivaram misses something, but in my opinion he is
> heading for a more difficult yet correct paths.
>
> -Mei
>
> From: Sun Chan [mailto:sun.c...@gmail.com]
> Sent: Tuesday, October 18, 2011 12:57 AM
> To: open64-devel@lists.sourceforge.net
> Subject: Re: [Open64-devel] r3764 - trunk/osprey/be/opt
>
> This is strange. Must be a regression from elsewhere. I am sure the identity
> stmt had been removable without your change before. Is this fix the right
> fix?
> Fred, your comment?
> Sun
> On Sun, Oct 16, 2011 at 6:12 PM, <s...@open64.net<mailto:s...@open64.net>>
> wrote:
> Author: shivaram
> Date: 2011-10-16 06:12:14 -0400 (Sun, 16 Oct 2011)
> New Revision: 3764
>
> Modified:
>   trunk/osprey/be/opt/opt_dce.cxx
> Log:
> Fix for bug#787. Removal of identity assignment statements(i=i) is
> prevented if lhs is not propagatable.
> CR by Ye,Mei and Gautam
>
>
>
> Modified: trunk/osprey/be/opt/opt_dce.cxx
> ===================================================================
> --- trunk/osprey/be/opt/opt_dce.cxx     2011-10-14 08:12:52 UTC (rev 3763)
> +++ trunk/osprey/be/opt/opt_dce.cxx     2011-10-16 10:12:14 UTC (rev 3764)
> @@ -2149,7 +2149,8 @@
>
>   if (OPERATOR_is_scalar_store (opr) &&
>       Enable_identity_removal() &&
> -      stmt->Is_identity_assignment_removable())  // if COPYPROP assumes the
> stmt is deleted
> +      stmt->Is_identity_assignment_removable() &&
> +      !(stmt->Lhs()->Flags() & CF_DONT_PROP))  // if COPYPROP assumes the
> stmt is deleted
>     return FALSE;
>
>   // statements with zero-version chi nodes are required
> @@ -3262,7 +3263,8 @@
>
>   if (OPERATOR_is_scalar_store (opr) &&
>       Enable_identity_removal() &&
> -      stmt->Is_identity_assignment_removable()) {
> +      stmt->Is_identity_assignment_removable() &&
> +      !(stmt->Lhs()->Flags() & CF_DONT_PROP)) {
>     // process the rhs expression, if any
>     CODEREP *rhs = stmt->Rhs();
>     if ( rhs != NULL ) {
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net<mailto:Open64-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>

------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Ciosco Self-Assessment and learn 
about Cisco certifications, training, and career opportunities. 
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to