diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-05 11:11:11 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-05 11:11:11 +0000 |
commit | 483b9fbddb66e0db6388bae44b73cad6f704c77f (patch) | |
tree | b57ed2d16a52886e57f996c16ab4fa808e6c6758 /llvm/lib/CodeGen/Passes.cpp | |
parent | 9795d8e611d473290f7427132210e7b5a94e59b0 (diff) | |
download | bcm5719-llvm-483b9fbddb66e0db6388bae44b73cad6f704c77f.tar.gz bcm5719-llvm-483b9fbddb66e0db6388bae44b73cad6f704c77f.zip |
Don't leak passes if added outside of the area determined by Started/Stopped flags.
llvm-svn: 187722
Diffstat (limited to 'llvm/lib/CodeGen/Passes.cpp')
-rw-r--r-- | llvm/lib/CodeGen/Passes.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp index 203eec097f2..c0861c58fda 100644 --- a/llvm/lib/CodeGen/Passes.cpp +++ b/llvm/lib/CodeGen/Passes.cpp @@ -300,6 +300,8 @@ void TargetPassConfig::addPass(Pass *P) { if (Started && !Stopped) PM->add(P); + else + delete P; if (StopAfter == PassID) Stopped = true; if (StartAfter == PassID) |