Static Value-Flow Analysis
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
SVF::PopulationCounter< T, SizeOfT > Struct Template Reference

#include <SparseBitVector.h>

Static Public Member Functions

static unsigned count (T Value)
 

Detailed Description

template<typename T, std::size_t SizeOfT>
struct SVF::PopulationCounter< T, SizeOfT >

Definition at line 129 of file SparseBitVector.h.

Member Function Documentation

◆ count()

template<typename T , std::size_t SizeOfT>
static unsigned SVF::PopulationCounter< T, SizeOfT >::count ( T  Value)
inlinestatic

Definition at line 131 of file SparseBitVector.h.

132 {
133 // Generic version, forward to 32 bits.
134 static_assert(SizeOfT <= 4, "Not implemented!");
135#if defined(__GNUC__)
137#else
138 uint32_t v = Value;
139 v = v - ((v >> 1) & 0x55555555);
140 v = (v & 0x33333333) + ((v >> 2) & 0x33333333);
141 return ((v + (v >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
142#endif
143 }
llvm::Value Value
LLVM Basic classes.
Definition BasicTypes.h:86
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

The documentation for this struct was generated from the following file: