From 84e6ef00dc96cedda96959f3e03852d2336c7b8c Mon Sep 17 00:00:00 2001 From: Florian Hahn Date: Fri, 8 Jun 2018 09:54:04 +0000 Subject: [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 --- llvm/utils/TableGen/CodeGenDAGPatterns.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h') 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 Pattern; std::vector Results; std::vector Operands; std::vector ImpResults; TreePatternNodePtr ResultPattern; public: - DAGInstruction(TreePattern *TP, + DAGInstruction(std::unique_ptr &&TP, const std::vector &results, const std::vector &operands, const std::vector &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(); } -- cgit v1.2.3