similar to: Easy way to add common pass for optimization

Displaying 20 results from an estimated 700 matches similar to: "Easy way to add common pass for optimization"

2019 Aug 29
3
404s within LLVM documentation
Hi all, I'm currently in the process of updating the Kaleidoscope tutorials (first and foremost, the ORC/BuildingAJIT ones), and I've noticed a fair few 404s which are lingering within the current visible documentation. Some of these don't seem to have linked to existing pages for a while. I was wondering if there was a way to set up a check in the buildbot to ensure that
2019 Sep 19
2
Errata: The JIT tutorial
For example, 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
2019 Apr 07
2
Moving docs?
Hi llvm-admin, (cc llvm-dev for visibility) We’re working on some improvements to the documentation, and want to move things (e.g. the Kaleidoscope tutorial into a subdirectory) around without breaking any links to it. Is there a way to do forwards on the web page that you prefer? -Chris
2019 Aug 29
2
404s within LLVM documentation
Patrick, how long does the crawl take? I suspect if we fixed internal documentation links so that they point to local copies of documentation when building locally it would be quite quick (no actual idea though). That in turn would probably make it feasible to add to the existing documentation build bots, I think. James On Thu, 29 Aug 2019 at 03:47, Neil Nelson via llvm-dev < llvm-dev at
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 at 7:01 PM Yafei Liu via llvm-dev < > llvm-dev at lists.llvm.org> wrote: >
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> , JITer of JITs. > > I believe there's some kind of resolver you can add that
2018 Dec 30
2
kaleidoscope ch4 jit example regression?
https://llvm.org/docs/tutorial/LangImpl04.html has an example where the function `foo` gets redefined, and the JIT returns evaluation of the latest definition. I thought my code was wrong, but it seems that the binary produced by `ninja Kaleidoscope-Ch4` has the same bug. Granted, my LLVM checkout is from Nov 3 2018 (r346062). Is this a known issue? ~Nick Desaulniers
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 > > 在
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
2008 Oct 15
4
strsplit and regex
Hi All, Is there a means to extract the "10" from "23:10:34" in one pass using strsplit (or something else)? tst <- "23:10:34" For example my attempt strsplit(as.character(tst),"^[0-9]*:") gives [[1]] [1] "" "" "34" Obviously it is matching the first two instances of [0-9]. Note that there may be only one digit
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 Jan 22
2
kaleidoscope ch4 jit example regression?
Hi Nick, I was not aware of it, but it makes sense given the recent switch to ORC2, which has different symbol resolution rules. I am out on vacation this week, but will take a look when I get back and see if I can restore the old behavior. Cheers, Lang. Sent from my iPhone > On Jan 20, 2019, at 2:14 PM, David Blaikie <dblaikie at gmail.com> wrote: > > +Lang who does JIT
2019 Oct 21
2
(no subject)
Correct, with a couple of nit picks. Relocation isn't an optimization the collector performs.  It's a key primitive the collector is built upon.  Being unable to relocate is not an allowed state.  (i.e. pinning can't be required by the compiler) When you talk about variables, that's true for the *source* language and for the *abstract* machine before lowering.  After lowering
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 Feb 20
2
kaleidoscope ch4 jit example regression?
Not yet unfortunately. I've had my head down working on a jut-linker replacement. Let me take a look right now... On Mon, Feb 18, 2019 at 10:40 AM David Blaikie <dblaikie at gmail.com> wrote: > Ping - did this end up getting addressed? > > On Mon, Jan 21, 2019, 6:15 PM Lang Hames <lhames at gmail.com wrote: > >> Hi Nick, >> >> I was not aware of it,
2017 Jan 05
4
LLVMTargetMachine with optimization level passed from clang.
I see the BackendUtil.cpp of Clang creates the TargetMachine with the optimization level based on below mentioned logic CodeGenOpt::Level OptLevel = CodeGenOpt::Default; switch (CodeGenOpts.OptimizationLevel) { default: break; case 0: OptLevel = CodeGenOpt::None; break; case 3: OptLevel = CodeGenOpt::Aggressive; break; } As per my understanding, the correspondence between
2019 Oct 19
2
(no subject)
Exactly this.  (As the person who wrote the line in question.) On 10/18/19 8:50 AM, Hiroshi Yamauchi via llvm-dev wrote: > I think it's referring to a "moving" garbage collector (as opposed to > a "non-moving" garbage collector that never moves/relocates objects.) > The difference is that for a moving one, all pointers need to be > tracked and potentially
2017 Nov 17
2
[PATCH v2] nouveau/compiler: Allow to omit line numbers when printing instructions
This comes in handy when checking "NV50_PROG_DEBUG=1" outputs with diff! V2: - Use environmental variable (Karol Herbst) Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> --- src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 6 +++--- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 2 +-
2018 Aug 09
3
Legacy Loop Pass Manager question
Hi, If we add multiple loop passes to the pass manager in PassManagerBuilder.cpp consecutively without any func/module pass in between, I used to think they would belong to the same loop pass manager. But it does not seem to be the case. For example for this code snippet PM.add(createIndVarSimplifyPass()); // Canonicalize indvars MPM.add(createLoopIdiomPass()); //