summaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-08-05 11:11:11 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-08-05 11:11:11 +0000
commitf8e16c6f5a3a0d2cc6f7ae6dae0a8f55a89cfb2f (patch)
tree99878030c193247a9b7336a3b5d2d5cb1f420736 /lib/CodeGen
parentccdf5cc7bc443726425dd1ad498d44768332d49c (diff)
downloadllvm-f8e16c6f5a3a0d2cc6f7ae6dae0a8f55a89cfb2f.tar.gz
llvm-f8e16c6f5a3a0d2cc6f7ae6dae0a8f55a89cfb2f.tar.bz2
llvm-f8e16c6f5a3a0d2cc6f7ae6dae0a8f55a89cfb2f.tar.xz
Don't leak passes if added outside of the area determined by Started/Stopped flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/Passes.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp
index 203eec097f..c0861c58fd 100644
--- a/lib/CodeGen/Passes.cpp
+++ b/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)