diff --git a/mlir/lib/TableGen/Predicate.cpp b/mlir/lib/TableGen/Predicate.cpp index 59bb0c5b1910..2ebec1b3b6ee 100644 --- a/mlir/lib/TableGen/Predicate.cpp +++ b/mlir/lib/TableGen/Predicate.cpp @@ -136,10 +136,11 @@ using Subst = std::pair; // have children, and perform leaf substitutions inplace. Note that after // substitution, nodes are still pointing to the original TableGen record. // All nodes are created within "allocator". -static PredNode *buildPredicateTree(const tblgen::Pred &root, - llvm::BumpPtrAllocator &allocator, - ArrayRef substitutions) { - auto *rootNode = allocator.Allocate(); +static PredNode * +buildPredicateTree(const tblgen::Pred &root, + llvm::SpecificBumpPtrAllocator &allocator, + ArrayRef substitutions) { + auto *rootNode = allocator.Allocate(); new (rootNode) PredNode; rootNode->kind = getPredCombinerKind(root); rootNode->predicate = &root; @@ -339,7 +340,7 @@ static std::string getCombinedCondition(const PredNode &root) { } std::string tblgen::CombinedPred::getConditionImpl() const { - llvm::BumpPtrAllocator allocator; + llvm::SpecificBumpPtrAllocator allocator; auto predicateTree = buildPredicateTree(*this, allocator, {}); predicateTree = propagateGroundTruth( predicateTree,