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...