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

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

Reply via email to