xref: /NextBSD/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp (revision 84d351007654069f9643c8e4b4802a7f5f08ee42)
1 //===-- WebAssemblyTargetTransformInfo.cpp - WebAssembly-specific TTI -----===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 ///
10 /// \file
11 /// \brief This file defines the WebAssembly-specific TargetTransformInfo
12 /// implementation.
13 ///
14 //===----------------------------------------------------------------------===//
15 
16 #include "WebAssemblyTargetTransformInfo.h"
17 #include "llvm/Support/Debug.h"
18 #include "llvm/Target/CostTable.h"
19 using namespace llvm;
20 
21 #define DEBUG_TYPE "wasmtti"
22 
23 TargetTransformInfo::PopcntSupportKind
getPopcntSupport(unsigned TyWidth)24 WebAssemblyTTIImpl::getPopcntSupport(unsigned TyWidth) {
25   assert(isPowerOf2_32(TyWidth) && "Ty width must be power of 2");
26   // TODO: Make Math.popcount32 happen in WebAssembly.
27   return TTI::PSK_Software;
28 }
29