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

Reply via email to