summaryrefslogtreecommitdiff
path: root/src/passes/LoopInvariantCodeMotion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/LoopInvariantCodeMotion.cpp')
-rw-r--r--src/passes/LoopInvariantCodeMotion.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/passes/LoopInvariantCodeMotion.cpp b/src/passes/LoopInvariantCodeMotion.cpp
index 321267e8e..1277c1a34 100644
--- a/src/passes/LoopInvariantCodeMotion.cpp
+++ b/src/passes/LoopInvariantCodeMotion.cpp
@@ -45,11 +45,12 @@ struct LoopInvariantCodeMotion
// main entry point
- LocalGraph* localGraph;
+ LazyLocalGraph* localGraph;
void doWalkFunction(Function* func) {
- // Compute all local dependencies first.
- LocalGraph localGraphInstance(func, getModule());
+ // Prepare to compute the local dependencies we care about. We may only need
+ // very few, so use a lazy LocalGraph.
+ LazyLocalGraph localGraphInstance(func, getModule());
localGraph = &localGraphInstance;
// Traverse the function.
super::doWalkFunction(func);