Displaying 20 results from an estimated 300 matches similar to: "[LLVMdev] StringMap question"
2016 Apr 28
2
Why duplicate "protected:" in SmallVector.h, StringMap.h?
In SmallVector.h:
class SmallVectorBase {
*protected:*
void *BeginX, *EndX, *CapacityX;
*protected:*
SmallVectorBase(void *FirstEl, size_t Size)
: BeginX(FirstEl), EndX(FirstEl), CapacityX((char*)FirstEl+Size) {}
In StringMap.h:
class StringMapImpl {
*protected:*
// Array of NumBuckets pointers to entries, null pointers are holes.
// TheTable[NumBuckets] contains a sentinel value
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.
2019 Nov 18
2
Unable to parse command line more than once using llvm libraries?
Thanks,
I tried calling ResetAllOptionOccurrences after the run like this…
// Compile the module TimeCompilations times to give better compile time
// metrics.
for (unsigned I = TimeCompilations; I; --I)
if (int RetVal = compileModule(argv, Context))
return RetVal;
if (YamlFile)
YamlFile->keep();
cl::ResetAllOptionOccurrences();
return 0;
}
Unfortunately
2011 Mar 15
0
[LLVMdev] [PATCH 1/5] Prevent infinite growth of the DenseMap.
From: José Fonseca <jfonseca at vmware.com>
When the hash function uses object pointers all free entries eventually
become tombstones as they are used at least once, regardless of the size.
DenseMap cannot function with zero empty keys, so it double size to get
get ridof the tombstones.
However DenseMap never shrinks automatically unless it is cleared, so
the net result is that certain
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
2008 Feb 28
1
[LLVMdev] Are multiple execution engines allowed?
I'm trying to set up some automated testing, and I'd like to have
multiple instances of ExecutionEngines, so that the state from the
first test doesn't alter the second state.
Right now I'm doing something along the lines of:
Module *emptyModule = new Module("emptyModule");
ExecutionEngine executionEngine = ExecutionEngine::create(emptyModule);
2018 Jun 12
2
Proper method to initialize all LLVM Internal Data Structures?
Hi:
I'm building a small tool on top of LLVM Core Library.
```
LLVMContext context;
SMDiagnostic diag;
Module *M = parseIRFile(InputIR, diag, context).get();
if (M == nullptr) {
diag.print("LLVM", errs());
exit(-1);
}
assert(M->isMaterialized() && "Module not materialized!");
PointerType *ArrayPtrTy =
2018 Nov 11
3
A stage2 build causes changes to libllvm impacting program using it (exemple: rustc)
Hello,
Lately, I have been working on moving Debian & Ubuntu packages to a
stage2 build.
This means that, instead of shipping llvm-toolchain packages built with
gcc, we are rebuilding
everything a second time using the newly built clang.
Now, when pushed to Debian, it caused some unexpected issues in
particular with rust reported here:
2008 Sep 02
0
[LLVMdev] New llvm-gcc bootstrap failure
I get the error below (and have for a couple weeks now) when trying to
build llvm-gcc on Ubuntu Feisty. In the meantime, on Ubuntu Gutsy,
everything has been building fine. Both are release builds for x86.
John
cc1: StringMap.cpp:177: void
llvm::StringMapImpl::RemoveKey(llvm::StringMapEntryBase*): Assertion `V ==
V2 && "Didn't find key?"' failed.
2015 Jul 29
1
[LLVMdev] Clang: strange malloc usage
Hello everyone!
I've found weird lines of code in tools/libclang/CIndex.cpp file in clang
sources. Function clang_tokenize holds the following lines:
*Tokens = (CXToken *)malloc(sizeof(CXToken) * CXTokens.size());
memmove(*Tokens, CXTokens.data(), sizeof(CXToken) * CXTokens.size());
Since malloc function can return null pointer and there are no checks for
this case, memmove invocation
2016 Mar 25
2
Link error on Linux
I'm trying to link a program with LLVM on Linux. I've managed to take out
the test files from 'llvm-config --libs' but now it's getting errors with
missing symbols. The same program successfully links with the same version
of LLVM (3.8) on Windows, so it's not a problem with the code per se, it's
some kind of configuration issue. Any ideas?
g++ -std=c++11
2016 Mar 25
0
Link error on Linux
Hi Russel,
Can you try compiling aklo.o using -fno-rtti prior to linking?
On Thu, Mar 24, 2016 at 11:44 PM, Russell Wallace via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I'm trying to link a program with LLVM on Linux. I've managed to take out
> the test files from 'llvm-config --libs' but now it's getting errors with
> missing symbols. The same program
2016 Mar 25
3
Link error on Linux
Tried that just now, same result.
On Fri, Mar 25, 2016 at 6:58 AM, Snehasish Kumar <kumar.snehasish at gmail.com>
wrote:
> Hi Russel,
>
> Can you try compiling aklo.o using -fno-rtti prior to linking?
>
> On Thu, Mar 24, 2016 at 11:44 PM, Russell Wallace via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I'm trying to link a program with LLVM on Linux.
2016 Mar 25
0
Link error on Linux
Since the log tells you that llvm::outs() is not found, and since it is supposed to be found in libLLVMSupport.a, you can try:
$ nm /home/a/build//lib/libLLVMSupport.a | grep ZN4llvm4outsEv
...
0000000000002070 T __ZN4llvm4outsEv
...
The output should have the symbol defined.
--
Mehdi
> On Mar 25, 2016, at 12:18 AM, Russell Wallace via llvm-dev <llvm-dev at lists.llvm.org> wrote:
2008 Aug 13
2
[LLVMdev] llvm-gcc bootstrap failure
I'm getting the following when building llvm-gcc with an optimized set of
LLVM libraries:
/ptmp/dag/build.llvm-gcc-4.2.trunk.official.opt/x86_64-unknown-linux-gnu/./gcc/xgcc
-B/ptmp/dag/build.llvm-gcc-4.2.trunk.official.opt/x86_64-unknown-linux-gnu/./gcc/
-B/cray/iss/compiler/cost/tools/llvm-tools/llvm/install.trunk.official.opt/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/bin/
2016 Mar 25
2
Link error on Linux
Yeah, seems to.
a at a-VirtualBox:~$ nm /home/a/build//lib/libLLVMSupport.a | grep
ZN4llvm4outsEv
U _ZN4llvm4outsEv
U _ZN4llvm4outsEv
0000000000000000 b _ZGVZN4llvm4outsEvE1S
0000000000000000 T _ZN4llvm4outsEv
0000000000000000 r _ZZN4llvm4outsEvE19__PRETTY_FUNCTION__
0000000000000000 b _ZZN4llvm4outsEvE1S
U _ZN4llvm4outsEv
I can try building
2016 Mar 25
0
Link error on Linux
Looking again at your link line, I think static library has to appear after their uses. So try to put the .o before the list of library.
--
Mehdi
> On Mar 25, 2016, at 12:41 AM, Russell Wallace <russell.wallace at gmail.com> wrote:
>
> Yeah, seems to.
>
> a at a-VirtualBox:~$ nm /home/a/build//lib/libLLVMSupport.a | grep ZN4llvm4outsEv
> U
2017 Oct 14
2
IR Pass Ordering Sensitivity
Hi,
I'm trying to autotune a good sequence of IR optimization passes and I seem to run into segfaults in opt (in LLVM5) with certain pass orderings.
Is this expected behavior? If so, what would be the recommended way of determining pass dependencies so that I can encode them into the tuner?
The test program can be found here: https://gist.github.com/kavon/92d153cdd54ce9b77162af3af47d4c95
2009 Nov 16
1
No Visible Binding for global variable
While building a package, I see the following:
* checking R code for possible problems ... NOTE
cheat.fit: no visible binding for global variable 'Zobs'
plot.jml: no visible binding for global variable 'Var1'
I see the issue has come up before, but I'm having a hard time discerning how solutions applied elsewhere would apply here. The entire code for both functions is below,
2019 Apr 04
2
single-threaded code-gen and how to make it support multi-thread
Hi llvm-dev,
Our code base has a ancient copy of llvm (ver 3.5.1), and it uses the LLVM
code gen for some domain-specific language.
The previous dev left a global lock around the usage of LLVM code gen
stating that because LLVM code gen can only be accessed single-threaded it
needs to be protected with this global lock.
But now this lock has caused some perf issues as we pretty much lose