diff options
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index 3d2883c..c01b412 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -2010,13 +2010,13 @@ bool TreePatternNode::isIsomorphicTo(const TreePatternNode *N, TreePatternNodePtr TreePatternNode::clone() const { TreePatternNodePtr New; if (isLeaf()) { - New = std::make_shared<TreePatternNode>(getLeafValue(), getNumTypes()); + New = makeIntrusiveRefCnt<TreePatternNode>(getLeafValue(), getNumTypes()); } else { std::vector<TreePatternNodePtr> CChildren; CChildren.reserve(Children.size()); for (unsigned i = 0, e = getNumChildren(); i != e; ++i) CChildren.push_back(getChild(i)->clone()); - New = std::make_shared<TreePatternNode>(getOperator(), std::move(CChildren), + New = makeIntrusiveRefCnt<TreePatternNode>(getOperator(), std::move(CChildren), getNumTypes()); } New->setName(getName()); @@ -2119,7 +2119,7 @@ void TreePatternNode::InlinePatternFragments( NewChildren.reserve(ChildAlternatives.size()); for (unsigned i = 0, e = ChildAlternatives.size(); i != e; ++i) NewChildren.push_back(ChildAlternatives[i][Idxs[i]]); - TreePatternNodePtr R = std::make_shared<TreePatternNode>( + TreePatternNodePtr R = makeIntrusiveRefCnt<TreePatternNode>( T->getOperator(), std::move(NewChildren), T->getNumTypes()); // Copy over properties. @@ -2862,7 +2862,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, OpName); // Input argument? - TreePatternNodePtr Res = std::make_shared<TreePatternNode>(DI, 1); + TreePatternNodePtr Res = makeIntrusiveRefCnt<TreePatternNode>(DI, 1); if (R->getName() == "node" && !OpName.empty()) { if (OpName.empty()) error("'node' argument requires a name to match with operand list"); @@ -2877,7 +2877,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, if (isa<UnsetInit>(TheInit)) { if (OpName.empty()) error("'?' argument requires a name to match with operand list"); - TreePatternNodePtr Res = std::make_shared<TreePatternNode>(TheInit, 1); + TreePatternNodePtr Res = makeIntrusiveRefCnt<TreePatternNode>(TheInit, 1); Args.push_back(std::string(OpName)); Res->setName(OpName); return Res; @@ -2888,7 +2888,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, error("Constant int or bit argument should not have a name!"); if (isa<BitInit>(TheInit)) TheInit = TheInit->convertInitializerTo(IntRecTy::get(RK)); - return std::make_shared<TreePatternNode>(TheInit, 1); + return makeIntrusiveRefCnt<TreePatternNode>(TheInit, 1); } if (BitsInit *BI = dyn_cast<BitsInit>(TheInit)) { @@ -2992,7 +2992,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, else // Otherwise, no chain. Operator = getDAGPatterns().get_intrinsic_wo_chain_sdnode(); - Children.insert(Children.begin(), std::make_shared<TreePatternNode>( + Children.insert(Children.begin(), makeIntrusiveRefCnt<TreePatternNode>( IntInit::get(RK, IID), 1)); } @@ -3018,7 +3018,7 @@ TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, } TreePatternNodePtr Result = - std::make_shared<TreePatternNode>(Operator, std::move(Children), + makeIntrusiveRefCnt<TreePatternNode>(Operator, std::move(Children), NumResults); Result->setName(OpName); @@ -3903,7 +3903,7 @@ void CodeGenDAGPatterns::parseInstructionPattern( OpNode->setTransformFn(nullptr); std::vector<TreePatternNodePtr> Children; Children.push_back(OpNode); - OpNode = std::make_shared<TreePatternNode>(Xform, std::move(Children), + OpNode = makeIntrusiveRefCnt<TreePatternNode>(Xform, std::move(Children), OpNode->getNumTypes()); } @@ -3914,7 +3914,7 @@ void CodeGenDAGPatterns::parseInstructionPattern( I.error("Input operand $" + InstInputs.begin()->first + " occurs in pattern but not in operands list!"); - TreePatternNodePtr ResultPattern = std::make_shared<TreePatternNode>( + TreePatternNodePtr ResultPattern = makeIntrusiveRefCnt<TreePatternNode>( I.getRecord(), std::move(ResultNodeOperands), GetNumNodeResults(I.getRecord(), *this)); // Copy fully inferred output node types to instruction result pattern. @@ -4234,7 +4234,7 @@ static TreePatternNodePtr PromoteXForms(TreePatternNodePtr N) { N->setTransformFn(nullptr); std::vector<TreePatternNodePtr> Children; Children.push_back(PromoteXForms(N)); - return std::make_shared<TreePatternNode>(Xform, std::move(Children), + return makeIntrusiveRefCnt<TreePatternNode>(Xform, std::move(Children), N->getNumTypes()); } @@ -4522,7 +4522,7 @@ static void CombineChildVariants( std::vector<TreePatternNodePtr> NewChildren; for (unsigned i = 0, e = ChildVariants.size(); i != e; ++i) NewChildren.push_back(ChildVariants[i][Idxs[i]]); - TreePatternNodePtr R = std::make_shared<TreePatternNode>( + TreePatternNodePtr R = makeIntrusiveRefCnt<TreePatternNode>( Orig->getOperator(), std::move(NewChildren), Orig->getNumTypes()); // Copy over properties. |