sorry, can you state your problem clearer? What is before? What is after? In a running example? This problem is quite fundamental. Code in DSE and iload folding has not been touched for a very long time. I'd like to understand your problem better first. Sun
On Fri, Feb 4, 2011 at 6:11 AM, Feng Zhou <fengzho...@gmail.com> wrote: > Hello, > > Can gatekeeper review the attached fix for bug > #707(https://bugs.open64.net/show_bug.cgi?id=707) please? Thank you. > > ========================================================================================= > In WOPT, after SSA pointer alias analysis, DSE is performed. So, you > will have code like the following (BB3 dom BB12): > > BB3: ISTORE .. *s1 > v_2 <- chi (v_1) NOT LIVE *s2 > > BB12: ILOAD ... *s3 > v_3 <- chi(v_1) *s4 // was v_3 <- chi(v_2) > before DSE > > Then, in SSA::Create_CODEMAP, while processing the ILOAD WHIRL (*s3) > node, we try to fold it by calling Iload_folded function > which in some cases may resurrect a dead CHI node (*s2). In this case, > (*s2) is resurrected without changing back the > reference of v_1 in (*s4). This causes the live range of v_2 and v_1 > to intersect after SSA::Create_CODEMAP and caused > assertion failure in opt_verify. The fix is to undo what DSE did by > changing all the subsequent references of (*s2)'s operand > into its result. > ========================================================================================== > > > --Feng Zhou > > ------------------------------------------------------------------------------ > The modern datacenter depends on network connectivity to access resources > and provide services. The best practices for maximizing a physical server's > connectivity to a physical network are well understood - see how these > rules translate into the virtual world? > http://p.sf.net/sfu/oracle-sfdevnlfb > _______________________________________________ > Open64-devel mailing list > Open64-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/open64-devel > > ------------------------------------------------------------------------------ The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel