From 5e92fff2a93b5b4e7a0cffed796715d66319ae19 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Fri, 24 Apr 2015 06:53:50 +0000 Subject: [PATCH] [TableGen] Clang changes for r235697 to stop leaking Expanders and Operators in SetTheory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@235698 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/NeonEmitter.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp index 2a857a87ef..e039ae5956 100644 --- a/utils/TableGen/NeonEmitter.cpp +++ b/utils/TableGen/NeonEmitter.cpp @@ -25,6 +25,7 @@ //===----------------------------------------------------------------------===// #include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" @@ -1629,15 +1630,13 @@ std::pair Intrinsic::DagEmitter::emitDagShuffle(DagInit *DI){ "Different types in arguments to shuffle!"); SetTheory ST; - LowHalf LH; - HighHalf HH; - MaskExpander ME(Arg1.first.getNumElements()); - Rev R(Arg1.first.getElementSizeInBits()); SetTheory::RecSet Elts; - ST.addOperator("lowhalf", &LH); - ST.addOperator("highhalf", &HH); - ST.addOperator("rev", &R); - ST.addExpander("MaskExpand", &ME); + ST.addOperator("lowhalf", llvm::make_unique()); + ST.addOperator("highhalf", llvm::make_unique()); + ST.addOperator("rev", + llvm::make_unique(Arg1.first.getElementSizeInBits())); + ST.addExpander("MaskExpand", + llvm::make_unique(Arg1.first.getNumElements())); ST.evaluate(DI->getArg(2), Elts, None); std::string S = "__builtin_shufflevector(" + Arg1.second + ", " + Arg2.second; -- 2.40.0