diff options
Diffstat (limited to 'src/passes/LoopInvariantCodeMotion.cpp')
-rw-r--r-- | src/passes/LoopInvariantCodeMotion.cpp | 7 |
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); |