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