search for: getemptykey

Displaying 17 results from an estimated 17 matches for "getemptykey".

2007 Sep 05
2
[LLVMdev] Seeing a crash with ConstantFP::get
...onacci.exe!llvm::APFloat::zeroSignificand() Line 387 + 0x15 bytes C++ Fibonacci.exe!llvm::APFloat::APFloat(const llvm::fltSemantics & ourSemantics={...}, unsigned __int64 value=1) Line 307 C++ Fibonacci.exe!`anonymous namespace'::DenseMapAPFloatKeyInfo::getEmptyKey() Line 277 + 0x11 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous namespace'::DenseMapAPFloatKeyInfo::KeyTy,llvm::ConstantFP *,A0x5b1fa632::DenseMapAPFloatKeyInfo>::getEmptyKey() Line 236 + 0x9 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous nam...
2007 Sep 05
2
[LLVMdev] Seeing a crash with ConstantFP::get
...39;t appear on the Mac. Could your compiler be misoptimizing the code? Fibonacci.exe!llvm::APFloat::APFloat(const llvm::fltSemantics & ourSemantics={...}, unsigned __int64 value=1) Line 307 C++ Fibonacci.exe!`anonymous namespace'::DenseMapAPFloatKeyInfo::getEmptyKey() Line 277 + 0x11 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous namespace'::DenseMapAPFloatKeyInfo::KeyTy,llvm::ConstantFP *,A0x5b1fa632::DenseMapAPFloatKeyInfo>::getEmptyKey() Line 236 + 0x9 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous n...
2007 Sep 05
0
[LLVMdev] Seeing a crash with ConstantFP::get
...ur compiler be misoptimizing the code? > Fibonacci.exe!llvm::APFloat::APFloat(const > llvm::fltSemantics & ourSemantics={...}, unsigned __int64 value=1) > Line 307 C++ > > Fibonacci.exe!`anonymous > namespace'::DenseMapAPFloatKeyInfo::getEmptyKey() Line 277 + 0x11 > bytes C++ > > Fibonacci.exe!llvm::DenseMap<`anonymous > namespace'::DenseMapAPFloatKeyInfo::KeyTy,llvm::ConstantFP > *,A0x5b1fa632::DenseMapAPFloatKeyInfo>::getEmptyKey() Line 236 + > 0x9 bytes C++ > >...
2007 Sep 06
0
[LLVMdev] Seeing a crash with ConstantFP::get
...39;t appear on the Mac. Could your compiler be misoptimizing the code? Fibonacci.exe!llvm::APFloat::APFloat(const llvm::fltSemantics & ourSemantics={...}, unsigned __int64 value=1) Line 307 C++ Fibonacci.exe!`anonymous namespace'::DenseMapAPFloatKeyInfo::getEmptyKey() Line 277 + 0x11 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous namespace'::DenseMapAPFloatKeyInfo::KeyTy,llvm::ConstantFP *,A0x5b1fa632::DenseMapAPFloatKeyInfo>::getEmptyKey() Line 236 + 0x9 bytes C++ Fibonacci.exe!llvm::DenseMap<`anonymous n...
2009 Apr 01
1
[LLVMdev] Patches: Range insertion for DenseSet; definition of DenseMapInfo<char>
...============================= --- include/llvm/ADT/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; + } +}; + // Provi...
2007 Sep 06
2
[LLVMdev] Seeing a crash with ConstantFP::get
...g the code? > >> Fibonacci.exe!llvm::APFloat::APFloat(const >> llvm::fltSemantics & ourSemantics={...}, unsigned __int64 >> value=1) Line 307 C++ >> >> Fibonacci.exe!`anonymous >> namespace'::DenseMapAPFloatKeyInfo::getEmptyKey() Line 277 + 0x11 >> bytes C++ >> >> Fibonacci.exe!llvm::DenseMap<`anonymous >> namespace'::DenseMapAPFloatKeyInfo::KeyTy,llvm::ConstantFP >> *,A0x5b1fa632::DenseMapAPFloatKeyInfo>::getEmptyKey() Line 236 + >> 0x9 bytes...
2011 Mar 15
0
[LLVMdev] [PATCH 1/5] Prevent infinite growth of the DenseMap.
...LookupBucketFor(Key, TheBucket); } + if (NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) { + this->grow(NumBuckets); + LookupBucketFor(Key, TheBucket); + } // If we are writing over a tombstone, remember this. if (!KeyInfoT::isEqual(TheBucket->first, getEmptyKey())) -- 1.7.4.1
2009 Apr 28
2
[LLVMdev] infinite looping on hashtables
...Buckets*3 || NumBuckets-(NumEntries+NumTombstones) < NumBuckets/8) { this->grow(NumBuckets * 2); LookupBucketFor(Key, TheBucket); } - ++NumEntries; // If we are writing over a tombstone, remember this. if (!KeyInfoT::isEqual(TheBucket->first, getEmptyKey())) ------------------------------------------------------ Question: How can I test this? I was able to create a nifty Googletest unit test: Index: llvm.test/unittests/ADT/DenseSetTest.cpp =================================================================== --- llvm.test/unittests/ADT/DenseSe...
2008 Oct 30
6
[LLVMdev] cygwin build problems
...KeyInfoT, ValueInfoT>::operator++() [with KeyT = uint32_t, ValueT = llvm::Value*, KeyInfoT = llvm::DenseMapInfo<uint32_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...
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;
2011 Mar 15
10
[LLVMdev] Prevent unbounded memory consuption of long lived JIT processes
This series of patches address several issues causing memory usage to grow indefinetely on a long lived process. These are not convenional leaks -- memory would have been freed when the LLVM context or/and JIT engine is destroyed -- but for as long as they aren't the memory is usage effectively ubounded. The issues were found using valgrind with '--show-reachable=yes' option: 1.
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...> + unsigned MinSize = LSize < RSize ? LSize : RSize; > + > + 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; } > +}...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...ize ? LSize : RSize; >> + >> + 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() { re...
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
...> + unsigned MinSize = LSize < RSize ? LSize : RSize; > + > + 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; } > +}...
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: