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