Author: pallavimathew Date: 2011-04-13 13:41:30 -0400 (Wed, 13 Apr 2011) New Revision: 3552
Modified: trunk/osprey/be/lno/sclrze.cxx Log: Fix for bug# 763 - do not scalarize MTYPE_M loads. Approved by Sun. Modified: trunk/osprey/be/lno/sclrze.cxx =================================================================== --- trunk/osprey/be/lno/sclrze.cxx 2011-04-13 10:37:18 UTC (rev 3551) +++ trunk/osprey/be/lno/sclrze.cxx 2011-04-13 17:41:30 UTC (rev 3552) @@ -197,7 +197,12 @@ WN *load_wn = dep_graph->Get_Wn(sink); OPCODE opcode = WN_opcode(load_wn); if (OPCODE_is_load(opcode)) { - if (OPCODE_operator(opcode) != OPR_LDID) { + if (OPCODE_operator(opcode) != OPR_LDID && + // Do not scalarize MTYPE_M loads as this may result in a parent MTYPE_M store + // having a child that is not MTYPE_M and function 'Add_def' may not be able to + // handle such stores during coderep creation. The check here catches 'uses' involving + // MTYPE_M whereas the check at the beginning of 'Process_Store' catches 'defs'. + (WN_rtype(load_wn) != MTYPE_M) && (WN_desc(load_wn) != MTYPE_M)) { ACCESS_ARRAY *load = (ACCESS_ARRAY *) WN_MAP_Get(LNO_Info_Map,WN_kid0(load_wn)); if (WN_operator(WN_kid0(load_wn)) == OPR_ARRAY && ------------------------------------------------------------------------------ Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo _______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel