[llvm-commits] CVS: llvm/lib/Analysis/DataStructure/DataStructure.cpp
Andrew Lenharth
alenhar2 at cs.uiuc.edu
Tue Mar 14 21:43:53 PST 2006
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;
}
More information about the llvm-commits
mailing list