[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp
Owen Anderson
resistor at mac.com
Tue Jun 19 16:24:17 PDT 2007
Changes in directory llvm/lib/Transforms/Scalar:
GVNPRE.cpp updated: 1.42 -> 1.43
---
Log message:
Use a DenseMap instead of an std::map for the value numbering. This reduces the time to optimize lencod on a PPC Debug build from ~300s to ~140s.
---
Diffs of the changes: (+5 -4)
GVNPRE.cpp | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
Index: llvm/lib/Transforms/Scalar/GVNPRE.cpp
diff -u llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.42 llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.43
--- llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.42 Tue Jun 19 18:07:16 2007
+++ llvm/lib/Transforms/Scalar/GVNPRE.cpp Tue Jun 19 18:23:54 2007
@@ -25,6 +25,7 @@
#include "llvm/Function.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/PostDominators.h"
+#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/CFG.h"
@@ -78,7 +79,7 @@
};
private:
- std::map<Value*, uint32_t> valueNumbering;
+ DenseMap<Value*, uint32_t> valueNumbering;
std::map<Expression, uint32_t> expressionNumbering;
std::set<Expression> maximalExpressions;
@@ -217,7 +218,7 @@
uint32_t ValueTable::lookup_or_add(Value* V) {
maximalValues.insert(V);
- std::map<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
+ DenseMap<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
if (VI != valueNumbering.end())
return VI->second;
@@ -255,7 +256,7 @@
}
uint32_t ValueTable::lookup(Value* V) {
- std::map<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
+ DenseMap<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
if (VI != valueNumbering.end())
return VI->second;
else
@@ -265,7 +266,7 @@
}
void ValueTable::add(Value* V, uint32_t num) {
- std::map<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
+ DenseMap<Value*, uint32_t>::iterator VI = valueNumbering.find(V);
if (VI != valueNumbering.end())
valueNumbering.erase(VI);
valueNumbering.insert(std::make_pair(V, num));
More information about the llvm-commits
mailing list