diff options
| author | Craig Topper <craig.topper@gmail.com> | 2014-11-28 05:01:21 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2014-11-28 05:01:21 +0000 |
| commit | ce2748929332857065444e2a7a3cc19729e6eccb (patch) | |
| tree | ae7ac0726dd3d68e656104d581b663fdbc4cc85b /llvm/utils/TableGen/AsmMatcherEmitter.cpp | |
| parent | 44586dc4d692c16083ce49268ac35c9dcc84484f (diff) | |
| download | bcm5719-llvm-ce2748929332857065444e2a7a3cc19729e6eccb.tar.gz bcm5719-llvm-ce2748929332857065444e2a7a3cc19729e6eccb.zip | |
Fix another memory leak in TableGen AsmMatcher by deleting CodeGenInstAliases.
llvm-svn: 222912
Diffstat (limited to 'llvm/utils/TableGen/AsmMatcherEmitter.cpp')
| -rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index 45fc26801d3..366fbc3744b 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -442,6 +442,11 @@ struct MatchableInfo { AsmString(Alias->AsmString) { } + ~MatchableInfo() { + if (DefRec.is<const CodeGenInstAlias*>()) + delete DefRec.get<const CodeGenInstAlias*>(); + } + // Two-operand aliases clone from the main matchable, but mark the second // operand as a tied operand of the first for purposes of the assembler. void formTwoOperandAlias(StringRef Constraint); |

