Changes in directory llvm/lib/Analysis/DataStructure:

DataStructure.cpp updated: 1.242 -> 1.243
---
Log message:

allow field sensitivity to be a tunable parameter

---
Diffs of the changes:  (+6 -2)

 DataStructure.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/lib/Analysis/DataStructure/DataStructure.cpp
diff -u llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.242 
llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.243
--- llvm/lib/Analysis/DataStructure/DataStructure.cpp:1.242     Tue Mar 14 
22:04:21 2006
+++ llvm/lib/Analysis/DataStructure/DataStructure.cpp   Tue Mar 14 23:43:41 2006
@@ -39,6 +39,10 @@
   Statistic<> NumDNE            ("dsa", "Number of nodes removed by 
reachability");
   Statistic<> NumTrivialDNE     ("dsa", "Number of nodes trivially removed");
   Statistic<> NumTrivialGlobalDNE("dsa", "Number of globals trivially 
removed");
+  static cl::opt<unsigned>
+  DSAFieldLimit("dsa-field-limit", cl::Hidden,
+                cl::desc("Number of fields to track before collapsing a node"),
+                cl::init(256));
 };
 
 #if 0
@@ -468,7 +472,7 @@
     // collapse it.  This can occur for fortran common blocks, which have 
stupid
     // things like { [100000000 x double], [1000000 x double] }.
     unsigned NumFields = (NewTySize+DS::PointerSize-1) >> DS::PointerShift;
-    if (NumFields > 256) {
+    if (NumFields > DSAFieldLimit) {
       foldNodeCompletely();
       return true;
     }
@@ -496,7 +500,7 @@
     // collapse it.  This can occur for fortran common blocks, which have 
stupid
     // things like { [100000000 x double], [1000000 x double] }.
     unsigned NumFields = (NewTySize+Offset+DS::PointerSize-1) >> 
DS::PointerShift;
-    if (NumFields > 256) {
+    if (NumFields > DSAFieldLimit) {
       foldNodeCompletely();
       return true;
     }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to