search for: gettombstonekey

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: