Hi All,

Find_Freq_LMV_Predecessors's code has a obvious problem for do loop at line
freq.cxx:1588.

do {

   // get BB's predecessor count



   if(predecessor count is 2) {

       // then branch

        on some condition break;

       match_pattern = TRUE.

   }

} while(match_pattern);
the match_pattern is not reset FALSE for each iteration. Once it's set TRUE,
it will always true in do while loop. Cause inifite loop.

FIx is initialized match_pattern FALSE for each iteration.
Can gatekeeper help check this fix?
Index: osprey/be/cg/freq.cxx
===================================================================
--- osprey/be/cg/freq.cxx    (revision 3395)
+++ osprey/be/cg/freq.cxx    (working copy)
@@ -1587,6 +1587,7 @@
       BB *pred2 = NULL;
       do {
         n_preds = 0;
+        match_pattern = FALSE;
         FOR_ALL_PRED_EDGES(merge,edge) {
           n_preds++;
         }

Thanks
Shi, Hui
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to