diff options
author | Craig Topper <craig.topper@gmail.com> | 2014-01-29 07:06:07 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2014-01-29 07:06:07 +0000 |
commit | 0d16d2dc314e207ed97494cc52dc073e16f4aae2 (patch) | |
tree | fb4d236fa6c1e68728a279423ec4361f95ccd77f /llvm | |
parent | 141d0e2221ac05bf8fe039eb7e6ca9b9a4779f16 (diff) | |
download | bcm5719-llvm-0d16d2dc314e207ed97494cc52dc073e16f4aae2.tar.gz bcm5719-llvm-0d16d2dc314e207ed97494cc52dc073e16f4aae2.zip |
Delete the Matchers stored in the SmallVectors in SwitchOpcodeMatcher/SwitchTypeMatcher.
llvm-svn: 200377
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/utils/TableGen/DAGISelMatcher.cpp | 9 | ||||
-rw-r--r-- | llvm/utils/TableGen/DAGISelMatcher.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcher.cpp b/llvm/utils/TableGen/DAGISelMatcher.cpp index 5d6a11ae0dc..64764bdb92e 100644 --- a/llvm/utils/TableGen/DAGISelMatcher.cpp +++ b/llvm/utils/TableGen/DAGISelMatcher.cpp @@ -84,6 +84,15 @@ ScopeMatcher::~ScopeMatcher() { delete Children[i]; } +SwitchOpcodeMatcher::~SwitchOpcodeMatcher() { + for (unsigned i = 0, e = Cases.size(); i != e; ++i) + delete Cases[i].second; +} + +SwitchTypeMatcher::~SwitchTypeMatcher() { + for (unsigned i = 0, e = Cases.size(); i != e; ++i) + delete Cases[i].second; +} CheckPredicateMatcher::CheckPredicateMatcher(const TreePredicateFn &pred) : Matcher(CheckPredicate), Pred(pred.getOrigPatFragRecord()) {} diff --git a/llvm/utils/TableGen/DAGISelMatcher.h b/llvm/utils/TableGen/DAGISelMatcher.h index 8d01ffcc5f5..4a07df8f9d4 100644 --- a/llvm/utils/TableGen/DAGISelMatcher.h +++ b/llvm/utils/TableGen/DAGISelMatcher.h @@ -505,6 +505,7 @@ class SwitchOpcodeMatcher : public Matcher { public: SwitchOpcodeMatcher(ArrayRef<std::pair<const SDNodeInfo*, Matcher*> > cases) : Matcher(SwitchOpcode), Cases(cases.begin(), cases.end()) {} + virtual ~SwitchOpcodeMatcher(); static inline bool classof(const Matcher *N) { return N->getKind() == SwitchOpcode; @@ -558,6 +559,7 @@ class SwitchTypeMatcher : public Matcher { public: SwitchTypeMatcher(ArrayRef<std::pair<MVT::SimpleValueType, Matcher*> > cases) : Matcher(SwitchType), Cases(cases.begin(), cases.end()) {} + virtual ~SwitchTypeMatcher(); static inline bool classof(const Matcher *N) { return N->getKind() == SwitchType; |