search for: denseset

Displaying 20 results from an estimated 60 matches for "denseset".

2009 Apr 01
1
[LLVMdev] Patches: Range insertion for DenseSet; definition of DenseMapInfo<char>
Here are two minor patches. The first adds an insert method to DenseSet that takes two iterators representing the beginning and ending of a range of items to insert. I lifted the code verbatim from DenseMap.h. The second patch defines DenseMapInfo for chars. This is useful because DenseSet is implemented as a DenseMap of (Type, char), so anyone who uses DenseSet has...
2012 Jul 12
3
[LLVMdev] llvm::DenseSet with reverse iterator
Hi, I need a data structure which has fast search and I can walk it forward and backward. Is there something like that in LLVM ADT which am not aware of? And if not can I implement it in llvm::DenseSet? Vassil
2012 Jul 12
0
[LLVMdev] llvm::DenseSet with reverse iterator
Reverse iteration doesn't really make sense for DenseSet, since its iteration order isn't meaningful to begin with... --Owen On Jul 12, 2012, at 8:20 AM, Vassil Vassilev wrote: > Hi, > I need a data structure which has fast search and I can walk it > forward and backward. Is there something like that in LLVM ADT which am > not awar...
2016 Oct 14
2
RFC: Reducing the number of set classes in ADT
tl;dr: I think we have too many different set classes. They have incompatible APIs and surprising behavior. I think we can reduce their number substantially. Dear all, The following is a subset of the set classes we have in ADT: * DenseSet * SmallDenseSet (https://reviews.llvm.org/D25628) * SetVector * SmallSetVector * SmallSet * SmallPtrSet * StringSet * FoldingSet * ContextualFoldingSet * FoldingSetVector Every one of these classes has quirks. Here are some particularly bad ones: * SmallSet falls back to std::set<T&g...
2012 Jul 12
2
[LLVMdev] llvm::DenseSet with reverse iterator
...tors, you might have to consider std::set. [1] http://llvm.org/doxygen/SetVector_8h_source.html [2] http://llvm.org/docs/ProgrammersManual.html#dss_setvector On Thu, Jul 12, 2012 at 10:04 AM, Owen Anderson <resistor at mac.com> wrote: > Reverse iteration doesn't really make sense for DenseSet, since its iteration order isn't meaningful to begin with... > > --Owen > > On Jul 12, 2012, at 8:20 AM, Vassil Vassilev wrote: > >> Hi, >> I need a data structure which has fast search and I can walk it >> forward and backward. Is there something like that in...
2012 Jul 12
0
[LLVMdev] llvm::DenseSet with reverse iterator
...> std::set. > > [1] http://llvm.org/doxygen/SetVector_8h_source.html > [2] http://llvm.org/docs/ProgrammersManual.html#dss_setvector > > On Thu, Jul 12, 2012 at 10:04 AM, Owen Anderson <resistor at mac.com> wrote: >> Reverse iteration doesn't really make sense for DenseSet, since its iteration order isn't meaningful to begin with... >> >> --Owen >> >> On Jul 12, 2012, at 8:20 AM, Vassil Vassilev wrote: >> >>> Hi, >>> I need a data structure which has fast search and I can walk it >>> forward and backward...
2012 Jul 12
1
[LLVMdev] llvm::DenseSet with reverse iterator
...http://llvm.org/doxygen/SetVector_8h_source.html >> [2] http://llvm.org/docs/ProgrammersManual.html#dss_setvector >> >> On Thu, Jul 12, 2012 at 10:04 AM, Owen Anderson <resistor at mac.com> wrote: >>> >>> Reverse iteration doesn't really make sense for DenseSet, since its >>> iteration order isn't meaningful to begin with... >>> >>> --Owen >>> >>> On Jul 12, 2012, at 8:20 AM, Vassil Vassilev wrote: >>> >>>> Hi, >>>> I need a data structure which has fast search and I can...
2009 Apr 28
2
[LLVMdev] infinite looping on hashtables
On OS X, this test: ------------------------------------------------------ #include <llvm/ADT/DenseSet.h> #include <new> #include <stdio.h> int main(int argc, char** argv) { llvm::DenseSet<unsigned> set(2); set.insert(0); set.insert(1); if (set.count(2)) printf("error\n"); return 0; } ------------------------------------------------------ saved as &qu...
2012 Jan 26
5
[LLVMdev] dense maps
Reading the LLVM Programmer's Manual, the description of DenseSet mentions: *Note that DenseSet has the same requirements for the value type that DenseMap <http://llvm.org/docs/ProgrammersManual.html#dss_densemap> has.* But when I read about DenseMap, I don't really see any requirements for the values, just a warning about space. On the other hand,...
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...quot; > +#include "llvm/IntrinsicInst.h" > +#include "llvm/Intrinsics.h" > +#include "llvm/LLVMContext.h" > +#include "llvm/Pass.h" > +#include "llvm/Type.h" > +#include "llvm/ADT/DenseMap.h" > +#include "llvm/ADT/DenseSet.h" > +#include "llvm/ADT/SmallVector.h" > +#include "llvm/ADT/Statistic.h" > +#include "llvm/ADT/StringExtras.h" > +#include "llvm/Analysis/AliasAnalysis.h" > +#include "llvm/Analysis/AliasSetTracker.h" > +#include "llvm/...
2012 Jan 26
0
[LLVMdev] dense maps
...in init(), but for some reason my code didn't trip the assertion. Is there a special way I must make to enable asserts? Thanks, Preston On Wed, Jan 25, 2012 at 9:44 PM, Preston Briggs <preston.briggs at gmail.com>wrote: > Reading the LLVM Programmer's Manual, the description of DenseSet mentions: > > *Note that DenseSet has the same requirements for the value type that > DenseMap <http://llvm.org/docs/ProgrammersManual.html#dss_densemap> has.* > > > But when I read about DenseMap, I don't really see any requirements for > the values, just a warning a...
2020 Apr 16
4
ORC Assertion failure
...<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol,llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol>>>)> NotifyComplete, std::function<void __cdecl(llvm::DenseMap<llvm::orc::JITDylib *,llvm::DenseSet<llvm::orc::SymbolStringPtr,llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>>,llvm::DenseMapInfo<llvm::orc::JITDylib *>,llvm::detail::DenseMapPair<llvm::orc::JITDylib *,llvm::DenseSet<llvm::orc::SymbolStringPtr,llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>>>> co...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...m/IntrinsicInst.h" > > +#include "llvm/Intrinsics.h" > > +#include "llvm/LLVMContext.h" > > +#include "llvm/Pass.h" > > +#include "llvm/Type.h" > > +#include "llvm/ADT/DenseMap.h" > > +#include "llvm/ADT/DenseSet.h" > > +#include "llvm/ADT/SmallVector.h" > > +#include "llvm/ADT/Statistic.h" > > +#include "llvm/ADT/StringExtras.h" > > +#include "llvm/Analysis/AliasAnalysis.h" > > +#include "llvm/Analysis/AliasSetTracker.h" &...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote: > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > > Tobias, > > > > I've attached an updated patch. It contains a few bug fixes and many > > (refactoring and coding-convention) changes inspired by your comments. > > > > I'm currently trying to fix the bug responsible for causing a compile
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...a given use pair is also a candidate pair is sub-linear. It is not in this case (it is linear because the multimap only indexes the first key, not both), but that could be changed by using a different (or additional) data structure to hold the candidate pairs. I should probably add a candidate-pair DenseSet to clean this up, then it will be O(N^2) [note that if an instruction has many uses, then it cannot be in many candidate pairs]. buildDepMap - This records all uses of each pairable instruction; as implemented, this is also O(N^2). choosePairs - As you point out, this is the most complicated to f...
2011 Nov 22
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > Tobias, > > I've attached an updated patch. It contains a few bug fixes and many > (refactoring and coding-convention) changes inspired by your comments. > > I'm currently trying to fix the bug responsible for causing a compile > failure when compiling >
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...e first pair (to allow for splatting). > + > + std::multimap<value_pair, value_pair> connPairs; > + computeConnPairs(candPairs, pairableInsts, connPairs); > + if (!connPairs.size()) return false; > + > + // Build the pairable-instruction dependency map > + DenseSet<value_pair> pairableInstUsers; > + buildDepMap(BB, candPairs, pairableInsts, pairableInstUsers); > + > + // There is now a graph of the connected pairs. For each variable, pick the > + // pairing with the largest tree meeting the depth requirement on at least > + /...
2015 Aug 30
3
Compilation error with MinGW
...Modules)(HANDLE,PENUMLOADED_MODULES_CALLBACK64,PVOID); >> +static const char* sEnumerateLoadedModules = "EnumerateLoadedModules64"; >> +typedef DWORD64 ModuleOffset; >> +#endif >> + >> static fpEnumerateLoadedModules fEnumerateLoadedModules; >> static DenseSet<HMODULE> *OpenedHandles; >> >> @@ -39,13 +48,13 @@ static bool loadDebugHelp(void) { >> HMODULE hLib = ::LoadLibraryW(L"Dbghelp.dll"); >> if (hLib) { >> fEnumerateLoadedModules = (fpEnumerateLoadedModules) >> - ::GetProcAddress(hLi...
2015 Aug 29
2
Compilation error with MinGW
...ffset; +#else typedef BOOL (WINAPI *fpEnumerateLoadedModules)(HANDLE,PENUMLOADED_MODULES_CALLBACK64,PVOID); +static const char* sEnumerateLoadedModules = "EnumerateLoadedModules64"; +typedef DWORD64 ModuleOffset; +#endif + static fpEnumerateLoadedModules fEnumerateLoadedModules; static DenseSet<HMODULE> *OpenedHandles; @@ -39,13 +48,13 @@ static bool loadDebugHelp(void) { HMODULE hLib = ::LoadLibraryW(L"Dbghelp.dll"); if (hLib) { fEnumerateLoadedModules = (fpEnumerateLoadedModules) - ::GetProcAddress(hLib, "EnumerateLoadedModules64"); + ::G...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...g). > > + > > + std::multimap<value_pair, value_pair> connPairs; > > + computeConnPairs(candPairs, pairableInsts, connPairs); > > + if (!connPairs.size()) return false; > > + > > + // Build the pairable-instruction dependency map > > + DenseSet<value_pair> pairableInstUsers; > > + buildDepMap(BB, candPairs, pairableInsts, pairableInstUsers); > > + > > + // There is now a graph of the connected pairs. For each variable, pick the > > + // pairing with the largest tree meeting the depth requirement on...