Add an updated patch. After discuss with An Xiaomi. Remove An's previous fix for bug#707.
On Thu, Jun 30, 2011 at 10:58 PM, Ye, Mei <mei...@amd.com> wrote: > I am on vacation today and tomorrow. Can other gatekeepers review this? > Thx.**** > > ** ** > > -Mei**** > > ** ** > > *From:* Hui Shi [mailto:kalin....@gmail.com] > *Sent:* Wednesday, June 29, 2011 11:36 PM > *To:* open64-devel@lists.sourceforge.net > *Subject:* [Open64-devel] Code review for bug#707, liverange overlap after > setup CODEMAP [WOPT]**** > > ** ** > > Could gatekeeper help review this fix? > > In SSA::Create_CODEMAP ILOAD folding is performed during coderep setup. > The problem is iload folding may revive some dead phi/chi node. > > For example > STMT1 > sym2v4 = chi(sym2v3) NOT LIVE > default_vsym_v4 = chi(default_vsym_v3) LIVE > .... > STMT2 > ILOAD mu(default_vsym_v4) > ... > STMT3 > sym2v5 = chi(sym2v3) LIVE // sym2v3 is propagate down from above dead chi. > default_vsym_v5 = chi(default_vsym_v4) > > If sym2v4 may use at STMT2, ILOAD's MU node must on STMT1's chi list > (because MU node must alias with sym2, otherwise its alias issue). > And MU node's corresponding CHI node must live on STMT1, because > set_required_mu will set chi node live. > So it's okay for DSE to mark fisrt CHI dead if STMT1 and STMT3 write same > memory location. > 1. It will not make STMT1 dead, because the other chi node is live. > 2. ILOAD's MU node's def statment still STMT1 > > If ILOAD folding transform ILOAD to LDID and LDID's AUX is sym2. > ILOD_FOLDING revives dead chi sym2v4 = chi(sym2v3) without update the late > chi node's opnd. > > This introduce overlapped between sym2v3 and sym2v4. > Fix is rename CODEMAP if iload folding revive dead phi/chi node. > OPT_REVISE_SSA::Fold_lda_indirects also rename CODEMAP after optimization. > > Fix is > 1. record in htable, if dead chi/phi node is revived in > SSA::Create_CODEMAP. > This only happends when ILOAD_Folding happens and find corresponding > chi/phi is dead. > 2. After SSA::Create_CODEMAP, rename coderep if dead chi/phi node is revive > in CODEMAP setup. > > Different with fixing in DSE to mark first chi node live, this fix not > affect DSE, so not affect performance. > And this is verified with spec2006.rate on xeon. > > Regards > Shi Hui**** >
dse.patch
Description: Binary data
------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel