Author: shihui Date: 2011-04-06 01:40:05 -0400 (Wed, 06 Apr 2011) New Revision: 3535
Modified: trunk/osprey/be/com/alias_analyzer.cxx Log: Fix bug749: APO transformation will insert OpenMP pragma in PU. These pragma is lower after LNO before WOPT, generate a separate PU for the parallel do body. These PU has no constraint graph info in IPA output IR file, cause assertion when trying to read constraint graph summary. Fix is for OpenMP lower generated pu, directly construct constraint graph for this PU, don?\194?\146t construct from summary. Code Review: Sun Chan Modified: trunk/osprey/be/com/alias_analyzer.cxx =================================================================== --- trunk/osprey/be/com/alias_analyzer.cxx 2011-04-04 23:02:37 UTC (rev 3534) +++ trunk/osprey/be/com/alias_analyzer.cxx 2011-04-06 05:40:05 UTC (rev 3535) @@ -47,7 +47,7 @@ // What alias analyzer are we going to use? if ( Alias_Nystrom_Analyzer ) { - if (FILE_INFO_ipa(File_info)) + if (FILE_INFO_ipa(File_info) && !PU_mp(Get_Current_PU ()) ) _alias_analyzer = new NystromAliasAnalyzer(ac, tree, true); else _alias_analyzer = new NystromAliasAnalyzer(ac, tree); @@ -97,6 +97,17 @@ MEM_POOL_Delete(&_memPool); IPA_WN_MAP_Delete(Current_Map_Tab, _aliasTagMap); + // delete the mp generate pu's map + PU_Info *child = PU_Info_child(Current_PU_Info); + while (child) { + if (PU_mp(PU_Info_pu(child))) { + FmtAssert(PU_Info_maptab(child)->_pool[_aliasTagMap] == + PU_Info_maptab(Current_PU_Info)->_pool[_aliasTagMap] , + ("the child mp pu pool is not equal to _memPool")); + IPA_WN_MAP_Delete(PU_Info_maptab(child), _aliasTagMap); + } + child = PU_Info_next(child); + } } ALIAS_RESULT ------------------------------------------------------------------------------ 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