in opt_ssa.cxx (starting line 1595):
1589 //
=======================================================================
1590 // Resurrect_chi - A chi node that was dead has to be resurrected
1591 // because ILOAD to LDID folding introduces a real use of the result
of the
1592 // chi; need to call recursively for the chi operand to revive it.
1593 //
=======================================================================
1594 void
1595 SSA::Resurrect_chi(CHI_NODE *chi)
1596 {
1597 VER_ID du;
1598 CODEREP *cr;
1599
1600 du = chi->Result();
1601 STMTREP *sr = Find_stmt_containing_chi(chi,
_opt_stab->Ver_stab_entry(du)->Bb());
1602 if (_opt_stab->Du_zero_vers(du) ) {
1603 cr = Get_zero_version_CR(chi->Aux_id(), _opt_stab, du);
1604 sr->Set_has_zver();
1605 } else {
1606 cr = Du2cr(_htable, _opt_stab, du, sr);
1607 cr->Set_flag(CF_DEF_BY_CHI);
1608 cr->Set_defchi(chi);
1609 }
1610 chi->Set_RESULT(cr);
1611 chi->Set_live(TRUE);
1612 chi->Set_dse_dead(FALSE);
1613
1614 if (sr->Op() == OPC_OPT_CHI)
1615 chi->Set_OPND( Get_zero_version_CR(chi->Aux_id(), _opt_stab,
du));
1616 else {
1617 chi->Set_OPND(Revive_phi_chi_opnd(chi->Opnd()));
1618 chi->OPND()->Set_flag(CF_DONT_PROP);
1619 }
1620 }
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel