search for: interpret

Displaying 20 results from an estimated 11859 matches for "interpret".

2008 Jun 18
2
[LLVMdev] C/C++ interpreter...
Hi, what would be needed to make a C/C++ interpreter using the LLVM libraries. We have in our project (http://root.cern.ch) a C/C++ interpreter (http://root.cern.ch/twiki/bin/view/ROOT/CINT), but it has some limitations (the biggest being maintenance). I see there is a libLLVMInterpreter that can interpret the LLVM IR. Could this be used to int...
2005 Sep 14
3
[LLVMdev] llvm interpreter for embedded system
Has anyone looked at porting the llvm interpreter to an embedded system? I've been looking into how to portably run bytecode on a lightweight embedded processor and it seemed like interpreting llvm bytecode might be a solution. We would have to write the interpreter in c and it would have to fit in a few k of ram and a dozen or less k of c...
2010 Nov 03
4
[LLVMdev] Fw: Forcing the Interpreter segfaults
[I assume you meant to send this to the list as well, not just me.] Begin forwarded message: Date: Wed, 3 Nov 2010 14:43:54 +0000 From: Salomon Brys <salomon.brys at gmail.com> To: Török Edwin <edwintorok at gmail.com> Subject: Re: [LLVMdev] Forcing the Interpreter segfaults I have build LLVM in debug mode. Here are the informations of the segfault : memcpy() at 0x7ffff6f6581e LoadIntFromMemory() at ExecutionEngine.cpp:887 0xb3c297 llvm::ExecutionEngine::LoadValueFromMemory() at ExecutionEngine.cpp:915 0xb3c3f9 llvm::Interpreter::visitLoadInst() at Exec...
2009 Nov 18
3
[LLVMdev] lli -force-interpreter complains about external function
Xu Yang wrote: > Hi Nick: > > The first problem have been solved by calling llvm-ld: > > $ llvm-ld -o hellosin.llvm hellosin.bc -lm > $ lli -force-interpreter=true -load=/usr/lib/libm.so hellosin.llvm.bc > hello sin: 0.50 Only because the optimizer saw sin(constant) and folded it away. The entire program became 'print constant string'. There is certainly a bug calling sinf() from the interpreter but I don't know what it is yet....
2010 Feb 03
3
[LLVMdev] Interpreter with multiple modules.
Hi everybody, I'm currently working with LLVM (v 2.6) and I try to interpret LLVM bitcode using the c API. Here is my problem : I have two LLVMModuleRef, M1 and M2, M1 contains the function "funct()" and M2 contains a main function which call "funct()" (M2 declares "funct()" too but it doesn't define it). If I try to run the main function,...
2009 Aug 09
3
[LLVMdev] Signals: interpreter vs. JIT
Just a quick question on LLVM, signals, and the lli interpreter. A sample program is included at the end. Platform is x86, Linux, 32-bit, GCC 4.2.4. Does lli -force-interpreter support signals, or is it only the JIT that does? The following sample program crashes with lli 2.5 and lli top-of-tree. Thanks and regards, Matt ============================= #i...
2009 Aug 09
2
[LLVMdev] Signals: interpreter vs. JIT
Sam, Nick, thank you both for your reply--that was what I thought but wanted to check. The JIT compiler for x86 is pretty robust. Are you aware of any comprehensive list of the most "significant" functional differences between the interpreter and the JIT for x86, i.e. a TODO list? grep -I todo * ? I've just got a rather large project here (user-mode Linux) which works with the x86 JIT, but it'd be really great if we could get it working with the interpreter as well, so I may take you up on your offer--it's TBD at this po...
2014 Aug 12
2
[LLVMdev] Heuristic for choosing between MCJIT and Interpreter
...2014 04:21 AM, David Chisnall wrote: > Hi Josh, > > On 9 Aug 2014, at 21:33, Josh Klontz <josh.klontz at gmail.com> wrote: > >> I'm facing a situation where I have generated IR that only needs to be executed once. I've noticed for simple IR it's faster to run the interpreter on it, but for complex IR it's much better to JIT compile and execute it. I'm seeking suggestions for a good heuristic to decide which approach to take for any given IR. I'm leaning in favor of deciding based on the presence/absence of loops. > What are you generating IR from? You...
2009 Aug 09
0
[LLVMdev] Signals: interpreter vs. JIT
Hello Matt, The interpreter doesn't support external functions at all. This includes the printf function from the glibc library. That's why the signal causes a segfault. If you're interested in bringing the interpreter up-to-date with the JIT compiler, I would welcome it since JIT compilation isn't suppor...
2020 Feb 10
2
Interpreter crash due to an "Unknown constant pointer type!"
> > Hey Lang - does any of this look familiar to you? I'm afraid not: I know nothing about the interpreter. As far as I'm aware it's essentially abandonware. Alberto: The usual recommendation in these circumstances is to use a JIT class instead of the interpreter. You're using -force-interpreter though, so I assume you really want to use the interpreter for your use case? -- Lang. On Fr...
2019 Apr 10
4
Feasibility of cling/llvm interpreter for JIT replacement
...nd spent a lot of time retargetting the JIT for supporting the ARM 64 CPU, but to our surprise, when everything was ready, we learned that Apple iOS forbids software to generate dynamically an executable. After several months of reflections we think we can get around this problem  by using a C interpreter. Instead of compiling it to machine code, we would pass the generated C program to  a C interpreter that would interpret the C program. After looking at several interpreters, we think that the llvm based CLING interpreter could do the job. To test these ideas, we have recompiled the llvm/Cla...
2009 Nov 18
0
[LLVMdev] lli -force-interpreter complains about external function
Hi Nick: Thanks for the response. You are right about sinf. I changed the constant to sscanf(argv[1], ...), and it gave me back 0 again. I also compared the disassembled code, and saw it was indeed the case. The primary reason I use interpreter is because I wish to do runtime checking on memory access pattern in multithreaded C programs. for example, if thread one is in the critical section, I wish to know if there are any other threads accessing the variables in the critical section without first acquiring a lock. I can do it with nati...
2011 Jun 15
2
[LLVMdev] LLVM interpreter does not support fmod
It seems llvm interpreter only supports a limited number of external functions. fmod, in particular is not supported. any reason why it is not supported ? "lli -force-interpreter test.bc LLVM ERROR: Tried to execute an unknown external function: double (double, double)* fmod " -- Kind Regards Xin Tong ------...
2010 Feb 03
0
[LLVMdev] Interpreter with multiple modules.
I have not used the C api or the interpreter, but via JIT one can use ExecutionEngine::addGlobalMapping(...) after the function decl in the foreign module. See if there is an equivalent in the C API, which will probably work for the interpreter given that this method is declared in ExecutionEngine. Also search for a previous email thread i...
2020 Jan 03
3
Interpreter crash due to an "Unknown constant pointer type!"
...nds: cmake -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_FFI=ON -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_ASSERTIONS=ON .. cmake --build . -- -j8 && sudo cmake --build . --target install Once lli was installed it was enough to use the .bc /usr/local/bin/lli --debug --force-interpreter pngpixel_crash.bc 0 0 mini.png ... png_ptr->width: 1 max_pixel_depth: 24 row_bytes: 28 ... About to interpret: store <2 x %struct.code*> <%struct.code* getelementptr inbounds ([512 x %struct.code], [512 x %struct.code]* @fixedtables.lenfix.681, i64 0, i64 0), %struct.code* getelemen...
2009 Nov 18
2
[LLVMdev] lli -force-interpreter complains about external function
Hi Nick: Thanks for pointing me to libffi. Recompile LLVM with libffi does solve the problem of printf. But it still has other problems: 1) sinf() returns 0 in the interpreter, but returns correct value in JIT (see hellosin.c) 2) calling pthread_create cause lli to crash in the interpreter mode, but no problem in JIT (see phello.c). My questions are: i) can I call any arbitrary external function in the interpreter? ii) how do I specify the dynamic library (where the e...
2010 Nov 02
2
[LLVMdev] Forcing the Interpreter segfaults
...ov 2, 2010 at 1:00 PM, OvermindDL1 <overminddl1 at gmail.com> wrote: > On Tue, Nov 2, 2010 at 12:51 PM, Salomon Brys <salomon.brys at gmail.com> wrote: >> Hi everyone ! >> I am very new to LLVM and intent to use it in a research project. >> I have a problem with the interpreter: I have a simple compiler that >> generates LLVM bitcode, JIT it and execute it, and it works very well. >> Now I would like to execute it using the interpreter. And I get a segfault. >> Here is the code : >> // This code JIT the function and executes it >> llvm::Ini...
2007 Apr 26
3
Extension languages and Compiz.
...9;s easy to add support for something like: (window-rule (make-rule (set-opacity-when (window-is tooltipp) 0.5))) However it's impossible to add support for something like: (scale-window-when (window-is negativep)). There are two possible solutions to this: 1. Add basic support for a specific interpreter in core. Core would expose wrapper functions around the interpreter to easily enable plugins to add C functions to the interpreter. On one hand, we probably want to avoid binding core to a specific interpreter, on the other hand this sounds rather pleasant compared to the alternative. 2. Add an...
2010 Nov 03
0
[LLVMdev] Fw: Forcing the Interpreter segfaults
Hi Salomon, please don't forget to reply to the list too (I've CC'd the list). > I don't think my code is doing anything worng... No, it looks fine to me, and the interpreter certainly supports this. That suggests that the value of %str is not being transmitted to the function right. If it is getting the wrong pointer value, that would explain why it barfs. Ciao, Duncan. > This segfaults : > define i32 @llvmre_1(i8* %str) { > entry: > %char = load i...
2009 Aug 31
2
[LLVMdev] C++ Interpreter
On Aug 31, 2009, at 1:19 PM, Renato Golin wrote: > 2009/8/31 Axel Naumann <Axel.Naumann at cern.ch>: >> we want to implement a C++ interpreter using LLVM and clang > > Isn't clang going on that direction anyway? Clang is meant to be flexible enough to be used as the basis for a C++ interpreter. However, there will probably be a bit of work to do in Clang to make this happen, e.g., by providing clean APIs for an interpr...