diff options
-rw-r--r-- | tools/llc/llc.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 04ae468686..a072de309e 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -190,8 +190,11 @@ int main(int argc, char **argv) { Passes.push_back(new EmitAssembly(Target, Out, Out != &cout)); } - // Run our queue of passes all at once now, efficiently. - return Pass::runAllPassesAndFree(M.get(), Passes); + // Run our queue of passes all at once now, efficiently. This form of + // runAllPasses frees the Pass objects after runAllPasses completes. + Pass::runAllPassesAndFree(M.get(), Passes); + + return 0; } |