Author: dgilmore
Date: 2012-04-03 20:48:58 -0400 (Tue, 03 Apr 2012)
New Revision: 3899

Modified:
   trunk/osprey/be/cg/x8664/ebo_special.cxx
Log:
This patch fixes initializations of several MEM_POOLs in
ebo_special.cxx, which eliminates many memory pool initialization
trace warnings when the compiler is built in debug mode.

CR: Sun Chan


Modified: trunk/osprey/be/cg/x8664/ebo_special.cxx
===================================================================
--- trunk/osprey/be/cg/x8664/ebo_special.cxx    2012-04-02 22:49:39 UTC (rev 
3898)
+++ trunk/osprey/be/cg/x8664/ebo_special.cxx    2012-04-04 00:48:58 UTC (rev 
3899)
@@ -7623,6 +7623,8 @@
 void Counter_Merge (char *Cur_PU_Name) {
   GRA_LIVE_Recalc_Liveness (NULL);
   MEM_POOL loop_descr_pool;
+
+  memset(&loop_descr_pool, 0, sizeof loop_descr_pool);
   MEM_POOL_Initialize(&loop_descr_pool, "loop_descriptors", TRUE);
   MEM_POOL_Push (&loop_descr_pool);
   Calculate_Dominators();
@@ -7654,9 +7656,14 @@
       // 
       GTN_SET* otherliveins;
       otherliveins = NULL;
-      MEM_POOL merge_counter_pool;
-      MEM_POOL_Initialize(&merge_counter_pool, 
-            "loop_descriptors", TRUE);
+      static MEM_POOL merge_counter_pool;
+      static BOOL merge_counter_pool_init;
+
+      if (! merge_counter_pool_init) {
+        merge_counter_pool_init = TRUE;
+        MEM_POOL_Initialize(&merge_counter_pool, 
+                            "loop_descriptors", TRUE);
+      }
       MEM_POOL_Push (&merge_counter_pool);
 
       // We collect the live-ins of successors of the loop BBs
@@ -9840,9 +9847,13 @@
     INT *regs_in_use = (INT*)alloca(sizeof(INT) * (len+1));
     mINT8 fatpoint[ISA_REGISTER_CLASS_MAX+1];
     TN_MAP conflict_map;
+    static MEM_POOL load_exe_pool;
+    static BOOL load_exe_pool_init;
 
-    MEM_POOL load_exe_pool;
-    MEM_POOL_Initialize(&load_exe_pool, "live_range_info", TRUE);
+    if (! load_exe_pool_init) {
+      load_exe_pool_init = TRUE;
+      MEM_POOL_Initialize(&load_exe_pool, "live_range_info", TRUE);
+    }
 
     MEM_POOL_Push(&load_exe_pool);
     LRA_Estimate_Fat_Points(bb, fatpoint, regs_in_use, &load_exe_pool);
@@ -9901,9 +9912,13 @@
     TN_MAP conflict_map;
     TOP mul_top;
     TOP arith_top;
+    static MEM_POOL fma_exe_pool;
+    static BOOL fma_exe_pool_init;
 
-    MEM_POOL fma_exe_pool;
-    MEM_POOL_Initialize(&fma_exe_pool, "live_range_info", TRUE);
+    if (! fma_exe_pool_init) {
+      fma_exe_pool_init = TRUE;
+      MEM_POOL_Initialize(&fma_exe_pool, "live_range_info", TRUE);
+    }
 
     MEM_POOL_Push(&fma_exe_pool);
     LRA_Estimate_Fat_Points(bb, fatpoint, regs_in_use, &fma_exe_pool);


------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to