From 90ce6e1e6496b222cf8e3022ed6f80ccc45dfc0e Mon Sep 17 00:00:00 2001 From: Jason Henline Date: Tue, 30 Aug 2016 23:35:24 +0000 Subject: [StreamExecutor] Simplify Kernel classes Summary: Make the Kernel class follow the pattern of the other classes. It now has a type-safe user wrapper and a typeless, platform-specific handle. Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24043 llvm-svn: 280176 --- parallel-libs/streamexecutor/lib/Kernel.cpp | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'parallel-libs/streamexecutor/lib/Kernel.cpp') diff --git a/parallel-libs/streamexecutor/lib/Kernel.cpp b/parallel-libs/streamexecutor/lib/Kernel.cpp index fa0992003a6..1f4218c4df3 100644 --- a/parallel-libs/streamexecutor/lib/Kernel.cpp +++ b/parallel-libs/streamexecutor/lib/Kernel.cpp @@ -20,26 +20,8 @@ namespace streamexecutor { -KernelBase::KernelBase(Device *Dev, const std::string &Name, - const std::string &DemangledName, - std::unique_ptr Implementation) - : TheDevice(Dev), Name(Name), DemangledName(DemangledName), - Implementation(std::move(Implementation)) {} - -KernelBase::~KernelBase() = default; - -Expected KernelBase::create(Device *Dev, - const MultiKernelLoaderSpec &Spec) { - auto MaybeImplementation = Dev->getKernelImplementation(Spec); - if (!MaybeImplementation) { - return MaybeImplementation.takeError(); - } - std::string Name = Spec.getKernelName(); - std::string DemangledName = - llvm::symbolize::LLVMSymbolizer::DemangleName(Name, nullptr); - KernelBase Instance(Dev, Name, DemangledName, - std::move(*MaybeImplementation)); - return std::move(Instance); -} +KernelBase::KernelBase(llvm::StringRef Name) + : Name(Name), DemangledName(llvm::symbolize::LLVMSymbolizer::DemangleName( + Name, nullptr)) {} } // namespace streamexecutor -- cgit v1.2.3