similar to: Interpreter improvement

Displaying 20 results from an estimated 3000 matches similar to: "Interpreter improvement"

2019 Mar 04
2
Interpreter improvement
Hi, I my case I needed to trace the execution of a specific .ll file. I wanted to know when a store and load instruction were executed. Maybe extending the Interpreter class was not the best option so I'm happy to hear suggestions. As a curiosity, why do you think that class should be rewritten? Thanks On Mon, Mar 4, 2019, 08:15 mayuyu.io <admin at mayuyu.io> wrote: > I dont quite
2019 Mar 18
2
How to get the possible predecessors for a PHINode
Hi all, I have encountered the following instruction: %.0.i = phi i8* [ %9, %8 ], [ %11, %10 ] How can I get the %8 and %10? I'm using http://llvm.org/doxygen/classllvm_1_1PHINode.html as a reference but I cannot understand how to do that. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL:
2019 Sep 18
2
EngineBuilder(std::move(Owner)).create() return null
I found a private ErrorStr member, but didn't find the get function of this member, could you tell me how I can get the error message? On Wed, Sep 18, 2019 at 4:02 PM mayuyu.io <admin at mayuyu.io> wrote: > Isn’t there a method in EngineBuilder to get the error message or > something? > I assume it’s you didn’t link in the JIT module > > Zhang > > 在
2018 Aug 08
3
Error Calling eraseFromParent()
LLVM is built in Release mode. The version is 6.0.0. I think that a similar code worked on verison 3.9.0. It is probably a null pointer dereference occurring in eraseFromParent(). I checked and reconfirmed that the instruction had no uses. Perhaps I should rebuild LLVM. Thanks. On Wed, Aug 8, 2018 at 9:03 PM, mayuyu.io <admin at mayuyu.io> wrote: > Hmmmm that’s strange. Do you get an
2018 May 29
2
LLVM Social - Beijing: May 19th, 2018
在 2018年05月29日 14:58, mayuyu.io 写道: > Any hint on the date of LLVM Social ShangHai? Wu Wei scheduled July 1th http://hellollvm.org/ > > Zhang > >> 在 2018年5月29日,14:22,Leslie Zhai via llvm-dev <llvm-dev at lists.llvm.org> 写道: >> >> Hi Chris, >> >> Thanks for your response! >> >> Wu Wei made this happen! and he is organizing LLVM social in
2018 Aug 08
2
Error Calling eraseFromParent()
Hi. Thanks. I changed the code but the problem exists. This is my new code which is again very simple: ... bool runOnFunction(Function &F) override { vector<Instruction *> dels; dels.clear(); for (inst_iterator It = inst_begin(&F), Ie = inst_end(&F); It != Ie;) { Instruction *I = &*(It++); if (auto* op = dyn_cast<BinaryOperator>(I)) { IRBuilder<NoFolder>
2018 Sep 05
2
How to get return address at llvm ir level?
To my knowledge that intrinsic IS generated by frontends like Clang when using _builtin_return_address(), i could be wrong though Zhang > 在 2018年9月5日,10:47,Bekket McClane via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > and
2018 Jun 13
2
IR to binary address mapping
Hi However, frontend may also do various operations on the source code and one line number and column number could map to more than one binary address. Why LLVM IR cannot? Regrads Muhui 2018-06-12 23:18 GMT+08:00 mayuyu.io <admin at mayuyu.io>: > In theory that’s not exactly possible/accurate. Due to various operations > in the Backend like Instruction Legalization, one IR
2006 May 31
1
[LLVMdev] InstVisitor: RetType
Hi, the docs for InstVisitor say that if RetType != void, one has to override visitInstruction. What is the reason for that? It's valid to define visitInstruction like that: RetTy visitInstruction(Instruction &I) { return RetTy(); } so assuming RetTy has a sensible default constructor, user won't need to override visitInstruction. Note that the above will work when RetTy ==
2010 Jun 25
1
[LLVMdev] redundant checking of terminator in Verifier?
Hi, The checking about that if this is a terminator that it is at the end of the block has been applied twice (bellow). One is at Verifier::visitInstruction, and the other is at Verifier::visitTerminatorInst. Since visitInstruction is called when visiting each instruction, the checking at visitTerminatorInst seems redundant to me. Did I miss any case? void Verifier::visitInstruction(Instruction
2018 Jun 26
2
How to force an unused function declaration in clang
For the same reason GCC allowed the attribute. Even if I want to use/inline a function later on in the pipeline. Regards, Soham Sinha PhD Student, Department of Computer Science Boston University On Tue, Jun 26, 2018 at 8:30 AM mayuyu.io <admin at mayuyu.io> wrote: > Out of curiosity, how does an unused declaration affect the emitted object > file > > Zhang > > > 在
2018 Jun 26
2
How to force an unused function declaration in clang
It does, when the function has a body. When it doesn't, it ignores <https://godbolt.org/g/2BCvht>. The body might be provided later on in the toolchain via linking a library. Regards, Soham Sinha PhD Student, Department of Computer Science Boston University On Tue, Jun 26, 2018 at 10:25 AM Hans Wennborg <hans at chromium.org> wrote: > It works for me: > >
2019 Dec 27
2
Calling LowerSwitchPass causing crash in llvm 9
There is no “switch” instruction in the target object code. It usually gets compiled into a switch table with instructions to load from it. Afaik Zhang > 在 2019年12月26日,17:49,n3v3rm03 via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > Sorry I found an early thread discussing this question. I guess I shouldn't create lower switch pass like this. > However, I have another
2018 Jun 13
2
IR to binary address mapping
Hi Paul Thanks for your comments. Suppose I can generate the control flow graph via LLVM Pass or the default option like '-dot-cfg' with opt. However, the control flow graph is based on llvm IR level. I would like to have a control flow graph based on binary level. Thus, I want to map the IR to binary address. As far as I know, we used to use the debug information to map the IR to source
2018 May 29
0
LLVM Social - Beijing: May 19th, 2018
Hope live broadcast ! <br/><br/>Thanks,<br/>yaoxiao 在 2018-05-29 15:02:30,"Leslie Zhai via llvm-dev" <llvm-dev at lists.llvm.org> 写道: > > >在 2018年05月29日 14:58, mayuyu.io 写道: >> Any hint on the date of LLVM Social ShangHai? >Wu Wei scheduled July 1th http://hellollvm.org/ > > >> >> Zhang >> >>> 在
2018 Aug 30
2
Monorepo Updates Behind?
Possibly unrelated but since someone asked, I wonder why we don’t have monorepo for releases? For example a .tar.s containing all LLVM6.0 components placed at correct location Zhang > 在 2018年8月30日,18:16,Dean Michael Berris via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > Thanks! >> On Thu, Aug 30, 2018 at 7:31 PM NAKAMURA Takumi <geek4civic at gmail.com> wrote:
2018 Sep 19
4
Can i reduce my clang/JIT app in size?
i want to integrate a C source JITer into my application but the resulting executables are too large is it possible to reduce the resulting libs/exe some way? current VS2017/svn build example: llvm-build\Release\bin\clang-interpreter.exe ~36MB for now (that can change later) - i want to jit simple c-code - no std library or something - x64 only - no deep/full architecture optimization needed -
2018 Aug 07
2
Create an Add Instruction in LLVM IR
I want to create an add instruction that takes two constant operands at the LLVM IR level. I use the IRBuilder class, but nothing happens. Here is part of the runOnFunction() method of my function pass: ... LLVMContext &Context = F.getContext(); IRBuilder<> builder(&Instruction); Value *Lef = ConstantInt::get(Type::getInt32Ty(Context), 4); Value *Rig =
2019 Sep 18
2
EngineBuilder(std::move(Owner)).create() return null
I just copy the latest code in HowToUseJIT and run, but the EngineBuilder(std::move(Owner)).create() keeps return null, any idea why? Here's my CMakeList: cmake_minimum_required(VERSION 3.12) project(llvm_test) set(CMAKE_CXX_STANDARD 14) find_package(LLVM REQUIRED CONFIG) llvm_map_components_to_libnames(llvm_libs support core irreader orcjit native) add_executable(llvm_test main.cpp)
2019 Apr 10
4
Feasibility of cling/llvm interpreter for JIT replacement
Dear Sir/Madam Our company, 4Js software, has developed an SQL data base software that runs under different operating systems: Windows, Linux, Mac OS X. This software compiles each SQL statement into a C program that is compiled "on the fly" and executed by our JIT, Just In Time compiler. We wanted to port it to Apple's iOS, and spent a lot of time retargetting the JIT for