Hi, Would a gatekeeper please review my change for bug 759? https://bugs.open64.net/show_bug.cgi?id=759
The issue is segmentation fault in DCE when we turned on WSSA 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. (The reason it happens with -OPT:wssa=on is that WSSA enables an extra DCE before emit WHIRL.) Thanks, Min Index: opt_dce.cxx =================================================================== --- opt_dce.cxx (revision 3533) +++ opt_dce.cxx (working copy) @@ -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; }
------------------------------------------------------------------------------ Create and publish websites with WebMatrix Use the most popular FREE web apps or write code yourself; WebMatrix provides all the features you need to develop and publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________ Open64-devel mailing list Open64-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open64-devel