similar to: [LLVMdev] Basic Block / CFG Deep Copy?

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Basic Block / CFG Deep Copy?"

2016 Feb 12
3
CloneFunction during LTO leads to seg fault?
In general I use DebugInfoFinder and clear out Metadata if GV in null or GV->isDeclaration(). If there is any interest, I can post that patch... Sergei --- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation > -----Original Message----- > From: Tobias Edler von Koch [mailto:tobias at codeaurora.org] > Sent: Friday, February 12, 2016
2008 Jul 09
2
[LLVMdev] Cloning Functions
I seem to recall havbing asked this before but I can't find it by searching. What's the right way to clone a Function? I need to save off the text at a certain point and spit it out later, after other optimizations have run. But I need to spit out the original text, not the optimized version. What would be the most effective way to do this?
2008 Jul 09
0
[LLVMdev] Cloning Functions
On Wed, Jul 9, 2008 at 9:56 AM, David Greene <dag at cray.com> wrote: > I seem to recall havbing asked this before but I can't find it by searching. > > What's the right way to clone a Function? I need to save off the text at a > certain point and spit it out later, after other optimizations have run. But > I need to spit out the original text, not the optimized
2008 Jul 09
2
[LLVMdev] Cloning Functions
On Wednesday 09 July 2008 12:16, Eli Friedman wrote: > On Wed, Jul 9, 2008 at 9:56 AM, David Greene <dag at cray.com> wrote: > > I seem to recall havbing asked this before but I can't find it by > > searching. > > > > What's the right way to clone a Function? I need to save off the text at > > a certain point and spit it out later, after other
2011 Sep 08
1
[LLVMdev] Merging Modules
On 8 September 2011 10:57, Devang Patel <dpatel at apple.com> wrote: > Hi Paul, > > On Sep 8, 2011, at 10:52 AM, Redmond, Paul wrote: > > Hi,**** > ** ** > Can anyone point me to some code (or offer advice) on how I can merge one > Module into another?**** > ** ** > I have a list of Modules each containing one Function. I would like to > combine them all
2010 Apr 04
2
[LLVMdev] Linking with C Library
I'm coding a JIT compiler for C source in OCaml, using LLVM. I'm pretty much done with the LLVM code generation. The problem is that I can't seem to call C library functions. I was told that all I needed to do to be able to link with libc functions was to declare them in my module and give them external linkage, but this does not seem to work. Please note that this is a JIT compiler. I
2013 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function responsible to do mapping is it MapValue() in ValueMapper.h? Thanks for your help On 6 June 2013 09:54, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > Map every basic block from the CFG to a set of integers. The successors > from the CFG can be used to make the edges in your simplified
2010 May 27
1
[LLVMdev] Deep JIT specialization
Hi Chris, Thanks for pointing me to that presentation! It helped me come up with a strategy that I believe might work: 1) Use CloneFunction() to make a copy of the original unspecialized (but optimized) function. 2) Specialize it using a custom function pass which identifies the specialization parameters and substitutes them with given run-time constants. 3) Run the function through a
2010 Apr 04
0
[LLVMdev] Linking with C Library
In C, on Linux, you would have to link your JIT compiler with -rdynamic or -Wl,-export-dynamic (they're synonyms). I'm not sure what the equivalent linker flag is for OCaml. You can see what symbols are available to the JIT with `nm -D`. On Sun, Apr 4, 2010 at 8:41 AM, Nyx <mcheva at cs.mcgill.ca> wrote: > > I'm coding a JIT compiler for C source in OCaml, using LLVM.
2010 Apr 05
2
[LLVMdev] Linking with C Library
I tried running nm - D | grep "puts" on the binary compiled by the OCaml compiler. It outputs the following: 08161b00 T camlRuntime__rt_fputs_208 08161a20 T camlRuntime__rt_puts_198 U fputs I'm assuming this means that fputs is linked dynamically, and puts is not. I tried modifying my code to use fputs instead of puts instead, but had no success, however, I still get:
2010 May 27
0
[LLVMdev] Deep JIT specialization
On May 27, 2010, at 6:08 AM, Nicolas Capens wrote: > Hi all, > > I'm attempting to use LLVM for run-time code specialization, but I'm facing a performance hurdle. I'm currently performing the specialization during the AST to LLVM IR translation, but unfortunately this leads to relatively slow recompiles as LLVM has to perform all the heavy (optimization) passes over and
2016 Jul 14
2
clone function
Hi, I am trying to use the CloneFunction from llvm/Transforms/Utils/Cloning.h and I don't understand how the ValueToValueMapTy argument should be initialized. For instance, let say I want to clone this function (to add an argument): define void @function(i32 %i) #0 { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 ret void } to another function which should,
2016 Jul 15
2
clone function
On 14 July 2016 at 20:07, Mehdi Amini <mehdi.amini at apple.com> wrote: > > On Jul 14, 2016, at 7:58 AM, Pierre Gagelin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > Hi, > > I am trying to use the CloneFunction from llvm/Transforms/Utils/Cloning.h > and I don't understand how the ValueToValueMapTy argument should be > initialized. For instance,
2006 May 16
1
[LLVMdev] CloneModule ValueMap
After cloning a Module with CloneModule, there doesn't seem to be any easy way to convert a Value pointing into the old Module to a Value pointing into the new one. The CloneModule implementation already has to keep such a mapping internally, so I've written a patch that exposes it as a second inout parameter to CloneModule(), with the one param version being a simple wrapper for backward
2011 Oct 14
1
[LLVMdev] CloneFunction
Hi, I want to duplicate a function and transfer it from one module to another. I found "CloneFunction()" but it needs an "vMap". I found that "vMap" is used to map the original values to the new values. So, hypothetically, if the original function uses a global variable from the previous module and I want that use in the new function to be mapped to a global variable
2009 Jun 18
2
[LLVMdev] Explicitly Freeing Allocas
That sounds rather cumbersome, is there no simpler way to get the actual size of a struct? John Criswell wrote: > > Nyx wrote: >> Hello, >> >> I would just like to ask if it's possible to explicitly free allocas. >> This >> is because I need to call functions that take structs of different sizes >> as >> input, (possibly inside of loops) and I
2016 Jan 26
2
Handling of metadata in llvm::CloneModule
Sorry if this has been discussed already... I am trying to understand whether there is an underlying reason why llvm::CloneModule takes argument function ShouldCloneDefinition to discriminate on objects being cloned, but blindly copies all named metadata...? In my case this results in debug nodes that are creating uses/relocations for global objects that were _not_ copied per
2016 Feb 09
2
CloneFunction during LTO leads to seg fault?
Hi Medhi, Thanks for you reply. Here is the full output of -print-after-all [1] and just the module itself after my pass[2]. I've looked over the IR, but I can't see anything obviously wrong. I'm not sure what you meant by: > You may want to try to add it at the end of the pipeline My pass is the last one added inside populateLTOPassManager. Should I add it to the
2009 Jul 24
1
[LLVMdev] setOnlyReadsMemory / setDoesNotAccessMemory
But, which optimization pass will take advantage of those flags? As for nounwind, that means "can't throw an exception"? - Maxime John McCall-2 wrote: > > Nyx wrote: >> Hello, >> >> I'm in a situation where my code is calling many native functions. >> Sometimes, these calls are simply calls to static "accessor" methods that >>
2010 Apr 05
3
[LLVMdev] Linking with C Library
>> You need to figure out how to pass -rdynamic to the linker, like I said before. http://llvm.org/docs/tutorial/OCamlLangImpl7.html mentions it, but I don't know enough about the ocaml build process to say whether that'll work. I believe I'm already doing that, properly by passing -ccopt -rdynamic to ocamlopt: ocamlopt -cc g++ -ccopt -rdynamic -linkall $(LIBFILES) -o alpha