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
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel