summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.h
diff options
context:
space:
mode:
authorFlorian Hahn <florian.hahn@arm.com>2018-06-08 09:54:04 +0000
committerFlorian Hahn <florian.hahn@arm.com>2018-06-08 09:54:04 +0000
commit84e6ef00dc96cedda96959f3e03852d2336c7b8c (patch)
treef2dd15e7dcff57a8870fe1cb5be9d027ce94f7d4 /llvm/utils/TableGen/CodeGenDAGPatterns.h
parente018b36cea1e921c24d41f6e651fcba1dee1cf6d (diff)
downloadbcm5719-llvm-84e6ef00dc96cedda96959f3e03852d2336c7b8c.tar.gz
bcm5719-llvm-84e6ef00dc96cedda96959f3e03852d2336c7b8c.zip
[TableGen] Make DAGInstruction own Pattern to avoid leaking it.
Reviewers: dsanders, craig.topper, stoklund, nhaehnle Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D47525 llvm-svn: 334275
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h
index 9fcd5412106..f029b213e0a 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.h
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.h
@@ -907,21 +907,21 @@ struct DAGDefaultOperand {
};
class DAGInstruction {
- TreePattern *Pattern;
+ std::unique_ptr<TreePattern> Pattern;
std::vector<Record*> Results;
std::vector<Record*> Operands;
std::vector<Record*> ImpResults;
TreePatternNodePtr ResultPattern;
public:
- DAGInstruction(TreePattern *TP,
+ DAGInstruction(std::unique_ptr<TreePattern> &&TP,
const std::vector<Record*> &results,
const std::vector<Record*> &operands,
const std::vector<Record*> &impresults)
- : Pattern(TP), Results(results), Operands(operands),
+ : Pattern(std::move(TP)), Results(results), Operands(operands),
ImpResults(impresults), ResultPattern(nullptr) {}
- TreePattern *getPattern() const { return Pattern; }
+ TreePattern *getPattern() const { return Pattern.get(); }
unsigned getNumResults() const { return Results.size(); }
unsigned getNumOperands() const { return Operands.size(); }
unsigned getNumImpResults() const { return ImpResults.size(); }
OpenPOWER on IntegriCloud