Author: minz
Date: 2011-04-04 19:02:37 -0400 (Mon, 04 Apr 2011)
New Revision: 3534

Modified:
   trunk/osprey/be/opt/opt_dce.cxx
Log:
Fixing bug759:

The issue is segmentation fault in DCE when WSSA is turned on for compiling 
254.gap.
 
The problem seems obvious. Inside the opt_dce.cxx (Remove_dead_statements), it 
examines 
"bb->Succ()->Node()->Phi_list()->Is_Empty()". While, 
bb->Succ()->Node()->Phi_list() could be NULL, 
thus segmentation fault happens.

The fix is to check whether bb->Succ()->Node()->Phi_list is NULL before 
checking it is empty.

Code Review: Sun Chan



Modified: trunk/osprey/be/opt/opt_dce.cxx
===================================================================
--- trunk/osprey/be/opt/opt_dce.cxx     2011-04-02 02:05:03 UTC (rev 3533)
+++ trunk/osprey/be/opt/opt_dce.cxx     2011-04-04 23:02:37 UTC (rev 3534)
@@ -1,4 +1,8 @@
 /*
+ * Copyright (C) 2011, Hewlett-Packard Development Company, L.P. All Rights 
Reserved.  
+ */
+
+/*
  * Copyright (C) 2009-2010 Advanced Micro Devices, Inc.  All Rights Reserved.
  */
 
@@ -4895,7 +4899,7 @@
         bb = bb->Succ()->Node();
         if (bb->Succ()->Len() == 1 &&
             bb->Succ()->Node()->Pred()->Len() == 1 &&
-            bb->Succ()->Node()->Phi_list()->Is_Empty() &&
+            (bb->Succ()->Node()->Phi_list()== NULL || 
bb->Succ()->Node()->Phi_list()->Is_Empty()) &&
             bb->Phi_list() != NULL)
           bb = NULL;
       }


------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to