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