Displaying 11 results from an estimated 11 matches for "gettombstonekey".
2015 Jul 29
2
[LLVMdev] What is getTombstoneKey?
...I defined
typedef ScopedHashTable<DoubleKey, std::pair<Value *, unsigned>,
DenseMapInfo<Value *>, LoadMapAllocator>
LoadHTType;
I declared a DoubleKey struct similar to CallValue but with two Value *
member, However I have problem to implement getTombstoneKey() because I
don't know what it is, could anyone tell me what it is about?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150729/69eed696/attachment.html>
2015 Jul 29
0
[LLVMdev] What is getTombstoneKey?
...able<DoubleKey, std::pair<Value *, unsigned>,
>
> DenseMapInfo<Value *>, LoadMapAllocator>
> LoadHTType;
>
>
>
> I declared a DoubleKey struct similar to CallValue but with two Value *
> member, However I have problem to implement getTombstoneKey() because I
> don’t know what it is, could anyone tell me what it is about?
The tombstone is simply a key value that
1. cannot occur as a key in the map (inserting EmptyKey or
TombstoneKey will trigger an assertion)
2. does not compare equal to any other value
We usually use something like...
2009 Apr 01
1
[LLVMdev] Patches: Range insertion for DenseSet; definition of DenseMapInfo<char>
...DenseMap.h (revision 68214)
+++ include/llvm/ADT/DenseMap.h (working copy)
@@ -51,6 +51,17 @@
static bool isPod() { return true; }
};
+// Provide DenseMapInfo for chars.
+template<> struct DenseMapInfo<char> {
+ static inline char getEmptyKey() { return ~0; }
+ static inline char getTombstoneKey() { return ~0 - 1; }
+ static unsigned getHashValue(const char& Val) { return Val * 37; }
+ static bool isPod() { return true; }
+ static bool isEqual(const char& LHS, const char& RHS) {
+ return LHS == RHS;
+ }
+};
+
// Provide DenseMapInfo for unsigned ints.
template<> st...
2008 Oct 30
6
[LLVMdev] cygwin build problems
...t32_t>, ValueInfoT =
llvm::DenseMapInfo<llvm::Value*>]'
.../lib/Transforms/Scalar/GVN.cpp:757: instantiated from here
.../include/llvm/ADT/DenseMap.h:488: error: `getEmptyKey' is not a
member of `llvm::DenseMapInfo<uint32_t>'
.../include/llvm/ADT/DenseMap.h:489: error: `getTombstoneKey' is not a
member of `llvm::DenseMapInfo<uint32_t>'
.../include/llvm/ADT/DenseMap.h:491: error: `isEqual' is not a member
of `llvm::DenseMapInfo<uint32_t>'
.../include/llvm/ADT/DenseMap.h:491: error: `isEqual' is not a member
of `llvm::DenseMapInfo<uint32_t>'...
2013 Nov 04
0
[LLVMdev] compile error when using overloaded = operator of DenseMap
On Mon, Nov 4, 2013 at 10:35 AM, Rekha R <rekharamapai at nitc.ac.in> wrote:
> Hi,
>
> I am trying to implement Available Expressions data flow analysis. I created
> the following class (I am giving here code snippet.):
>
> namespace {
> typedef DenseMap<Expression, uint32_t> DMTy; //Expression is a class I
> defined.
> struct DataFlowValue {
>
2013 Nov 04
2
[LLVMdev] compile error when using overloaded = operator of DenseMap
Hi,
I am trying to implement Available Expressions data flow analysis. I
created the following class (I am giving here code snippet.):
namespace {
typedef DenseMap<Expression, uint32_t> DMTy; //Expression is a class I
defined.
struct DataFlowValue {
DMTy ExprMap;
llvm::BitVector* DFV;
// Functions operating on the data //
bool operator==(const DataFlowValue V) const;
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...> +
> + for (unsigned i = 0; i != MinSize; ++i)
> + if (LIds[i] != RIds[i])
> + return LIds[i] < RIds[i];
> +
> + return LSize < RSize;
> +}
> +
> +struct KeyInfo {
> + static inline unsigned getEmptyKey() { return -1U; }
> + static inline unsigned getTombstoneKey() { return -2U; }
> + static unsigned getHashValue(const unsigned &Key) { return Key; }
> + static bool isEqual(unsigned LHS, unsigned RHS) { return LHS ==
> RHS; }
> + static bool isPod() { return true; }
> +};
> +
> +/// ActionEntry - Structure describing an entry in...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...i != MinSize; ++i)
>> + if (LIds[i] != RIds[i])
>> + return LIds[i] < RIds[i];
>> +
>> + return LSize < RSize;
>> +}
>> +
>> +struct KeyInfo {
>> + static inline unsigned getEmptyKey() { return -1U; }
>> + static inline unsigned getTombstoneKey() { return -2U; }
>> + static unsigned getHashValue(const unsigned &Key) { return Key; }
>> + static bool isEqual(unsigned LHS, unsigned RHS) { return LHS ==
>> RHS; }
>> + static bool isPod() { return true; }
>> +};
>> +
>> +/// ActionEntry - Stru...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone,
Here's a patch that enables exception handling when jitting. I've
copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need
to factorize it, but the functionality is there and I'm very happy with
it :)
lli should now be able to execute the output from llvm-gcc when using
exceptions (the UnwindInst instruction is not involved in this patch).
Just add the
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...> +
> + for (unsigned i = 0; i != MinSize; ++i)
> + if (LIds[i] != RIds[i])
> + return LIds[i] < RIds[i];
> +
> + return LSize < RSize;
> +}
> +
> +struct KeyInfo {
> + static inline unsigned getEmptyKey() { return -1U; }
> + static inline unsigned getTombstoneKey() { return -2U; }
> + static unsigned getHashValue(const unsigned &Key) { return Key; }
> + static bool isEqual(unsigned LHS, unsigned RHS) { return LHS ==
> RHS; }
> + static bool isPod() { return true; }
> +};
> +
> +/// ActionEntry - Structure describing an entry in...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all,
Here's a new patch with Evan's comments (thx Evan!) and some cleanups.
Now the (duplicated) exception handling code is in a new file:
lib/ExecutionEngine/JIT/JITDwarfEmitter.
This patch should work on linux/x86 and linux/ppc (tested).
Nicolas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jit-exceptions.patch
URL: