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 | f8e16c6f5a3a0d2cc6f7ae6dae0a8f55a89cfb2f (patch) | |
tree | 99878030c193247a9b7336a3b5d2d5cb1f420736 /lib/CodeGen | |
parent | ccdf5cc7bc443726425dd1ad498d44768332d49c (diff) | |
download | llvm-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.cpp | 2 |
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) |