search for: yafei

Displaying 18 results from an estimated 18 matches for "yafei".

2019 Sep 19
2
Errata: The JIT tutorial
...mple, the illustrate part says "ES.getMainJITDylib().setGenerator" while the full code list says "ES.getMainJITDylib().addGenerator", I guess the API is changed, the tutorial part is up to date while the full code list leaves to the old version. On Thu, Sep 19, 2019 at 10:51 AM Yafei Liu <yfliu at mobvoi.com> wrote: > Yes, the function type mismatch, just copy the "full code list" and > compile will fail. > > On Thu, Sep 19, 2019 at 3:43 AM Praveen Velliengiri < > praveenvelliengiri at gmail.com> wrote: > >> Hi Yafei, >> Firs...
2019 Sep 18
2
Errata: The JIT tutorial
Hi Yafei, First 2 chapters of the tutorial is up-to-date with ORC v2 APIs. I hope nothing changed in docs and code. Did you got compilation errors? On Thu, 19 Sep 2019 at 00:47, David Blaikie via llvm-dev < llvm-dev at lists.llvm.org> wrote: > +Lang for JIT things > > On Tue, Sep 17, 2019 a...
2019 Sep 18
2
(How) Can I add C standard libraries to JIT?
Hi Yafei, As david told, you can make the symbols of your host process visible to the JIT'd code through DynamicLibrarySearchGenerator::getForCurrentProcess. On Thu, 19 Sep 2019 at 00:46, David Blaikie via llvm-dev < llvm-dev at lists.llvm.org> wrote: > +Lang Hames <lhames at gmail.com&gt...
2019 Sep 18
2
EngineBuilder(std::move(Owner)).create() return null
...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 > > 在 2019年9月18日,11:04,Yafei Liu via llvm-dev <llvm-dev at lists.llvm.org> 写道: > > 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) > pr...
2019 Oct 21
2
(no subject)
...red by the compiler) When you talk about variables, that's true for the *source* language and for the *abstract* machine before lowering.  After lowering from the abstract machine, relocations are represented in the IR explicitly as an entirely new set of defs. Philip On 10/20/19 6:40 PM, Yafei Liu wrote: > Correct me if I'm wrong: > Relocation in this conversation "relocation" means GC trying to move > objects in the heap for optimization (make the data more impact for > bigger room for example), this move is invisible to a programmer, and > if a compiler...
2019 Feb 26
2
How to implement function pointer?
Hi, I'm learning to use llvm api to generate IR code, I got two good tutorials, https://llvm.org/docs/tutorial/ and https://www.ibm.com/developerworks/library/os-createcompilerllvm1/index.html, but non of those showed how to implement a function pointer(or at least there is but I didn't find out). For example I got a c style code like this: int foo(int i) { return ++i; } int
2019 Sep 19
3
"corrupted size vs. prev_size" when calling ExecutionSession::lookup()
Hi, I wrote a compiler that generate IR code and run it on the JIT, and there randomly crashed due to "corrupted size vs. prev_size" depends on the IR code generated from the source code. Here's how I created the JIT: llvm::InitializeNativeTarget(); llvm::InitializeNativeTargetAsmPrinter(); llvm::InitializeNativeTargetAsmParser(); // create jit llvm::orc::ExecutionSession
2019 Sep 18
2
Errata: The JIT tutorial
In the Tutorial of the JIT https://llvm.org/docs/tutorial/BuildingAJIT1.html, illustrations and the full code listing are not the same, and the full code listing will not compile, this will make a lot of trouble to beginners since the JIT API is changing all the time. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2019 Sep 18
2
(How) Can I add C standard libraries to JIT?
When I declare some functions in my IR code which belongs to the C standard library(printf for example), the JIT will report that symbol cannot found. So is there any way I can add these libraries to my JIT? P.S. When I using lli, the printf will work, I guess lli is a JIT(right?) and it somehow knows where to find the symbol printf -------------- next part -------------- An HTML attachment was
2019 Oct 19
2
(no subject)
...all pointers need to be > tracked and potentially updated, whereas for a non-moving one, it's > sufficient that at least one pointer to a live object is seen (when > there may be other pointers to the same object elsewhere) for correctness. > > On Fri, Oct 18, 2019 at 2:12 AM Yafei Liu via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Hi all, > > I'm investigating on integrating a gc to my llvm project, and when > I read this document <http://llvm.org/docs/Statepoints.html>, one >...
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)
2020 Jan 09
2
Is there some sort of "@llvm.thread_ctors."?
We know that in C++, the constructor of a static member will get called when the program starts up. I checked the generated IR code and found this is implemented by defining a __cxx_global_var_init() function and marked it as section ".text.startup" and assign it to @llvm.global_ctors. We also know that in C++, the constructor of a static thread_local member will *not* get called when
2019 Sep 26
2
ConstantFP->getType() is not right
Hi, I want to create a double constant from a float constant, here's my code: auto* constFloat1 = static_cast<llvm::ConstantFP*>(llvm::ConstantFP::get(llvm::Type::getFloatTy(context), 3.1)); assert(constFloat1->getType() == llvm::Type::getFloatTy(context)); auto* constFloat2 = llvm::ConstantFP::get(llvm::Type::getDoubleTy(context), constFloat1->getValueAPF());
2019 Oct 18
2
(no subject)
Hi all, I'm investigating on integrating a gc to my llvm project, and when I read this document <http://llvm.org/docs/Statepoints.html>, one sentence confused me: However, for a collector which wishes to relocate objects directly reachable from running code, a higher standard is required. I don't understand what the move "relocate objects directly reachable from running
2019 Oct 15
2
Easy way to add common pass for optimization
Hi all, I wrote a compiler front end which generates IR codes, but due to the logic, the IR codes have a lot of instructions like unnecessary br jump, basic block creation, load instructions and expression which can be simplified. now I want to use built in passes to optimize the generated code, but after I read the tutorial: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend, I found that I
2020 Jan 14
2
sizeof implementation: how to get size as a constantInt?
I'm implementing c style "sizeof()", and I did as http://nondot.org/sabre/LLVMNotes/SizeOf-OffsetOf-VariableSizedStructs.txt illuarstrated, and it works find, here's an example of my implementation: auto *p = builder.CreateGEP(structTy, llvm::ConstantPointerNull::get(pointerTy), constint1); auto *size =
2013 Sep 18
0
CFP: IEEE/ACM Int. Symp. on Cluster, Cloud and Grid Computing (CCGrid'14) -- Chicago May 26-29, 2014
...la, Rensselaer Polytechnic Institute Vladimir Vlassov, Royal Institute of Technology (KTH) Ramin Yahyapour, University of G?ttingen Wolfgang Ziegler, Fraunhofer Institute SCAI STORAGE AND I/O SYSTEMS Andre Brinkmann, Johannes Gutenberg-Universit?t Mainz Toni Cortes, Barcelona Supercomputing Center Yafei Dai, Peking University Dan Feng, Huazhong University of Science and Technology Xubin He, Virginia Commonwealth University Hong Jiang, University of Nebraska Lincoln Xiao Qin, Auburn University Fang Wang, Huazhong University of Science and Technology Chunxiao Xing, Tsinghua University Zhenquan Xu, W...
2013 Sep 18
0
CFP: IEEE/ACM Int. Symp. on Cluster, Cloud and Grid Computing (CCGrid'14) -- Chicago May 26-29, 2014
...la, Rensselaer Polytechnic Institute Vladimir Vlassov, Royal Institute of Technology (KTH) Ramin Yahyapour, University of G?ttingen Wolfgang Ziegler, Fraunhofer Institute SCAI STORAGE AND I/O SYSTEMS Andre Brinkmann, Johannes Gutenberg-Universit?t Mainz Toni Cortes, Barcelona Supercomputing Center Yafei Dai, Peking University Dan Feng, Huazhong University of Science and Technology Xubin He, Virginia Commonwealth University Hong Jiang, University of Nebraska Lincoln Xiao Qin, Auburn University Fang Wang, Huazhong University of Science and Technology Chunxiao Xing, Tsinghua University Zhenquan Xu, W...