similar to: [LLVMdev] Emit only one function of the module to native code

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Emit only one function of the module to native code"

2012 Nov 19
0
[LLVMdev] Emit only one function of the module to native code
llvm-extract and then llc? -eric On Mon, Nov 19, 2012 at 10:25 AM, Christophe Duvernois < christophe.duvernois at gmail.com> wrote: > Hi > > I use llvm-3.1. I have a large module and i want to emit native code (or > assembly) for one function. > > I tried to replace the PassManager in llc by a FunctionPassManager but I > have a crash so this is probably not the good
2012 Nov 19
2
[LLVMdev] Emit only one function of the module to native code
Ok thanks, I thought there was a more direct way to do it... 2012/11/19 Eric Christopher <echristo at gmail.com> > llvm-extract and then llc? > > -eric > > > On Mon, Nov 19, 2012 at 10:25 AM, Christophe Duvernois < > christophe.duvernois at gmail.com> wrote: > >> Hi >> >> I use llvm-3.1. I have a large module and i want to emit native code
2012 Nov 20
0
[LLVMdev] Emit only one function of the module to native code
On 19/11/12 22:31, Christophe Duvernois wrote: > Ok thanks, > I thought there was a more direct way to do it... I think this is supposed to be possible. llvm-gcc had logic for emitting code for each function immediately after generating it, but it was ifdef'd out with the remark that it was buggy. You might want to take a look at how llvm-gcc was trying to do it. Since no-one is
2007 Jun 21
2
[LLVMdev] PassManager vs FunctionPassManager
Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm working with code that uses a plain PassManager and want it to generate code, are there any options better than doing this: /** * Wrapper class to run a FunctionPassManager as a ModulePass so that it * can be added to a plain PassManager. */ class FunctionPassManagerModulePass : public ModulePass { FunctionPassManager
2016 May 10
2
Some questions about phase ordering in OPT and LLC
> >> You can look at AddOptimizationPasses() in opt.cpp. > > > > As far as I understand, the two passmanager do not interleave their > > passes. It first runs all the function passes and below. Then all the > > module passes. So if you specify: > > > > opt -mymodulepass0 -myfunctionpass -mymodulepass1 > > > > What you actually get is:
2014 Jan 15
2
[LLVMdev] Loop unrolling a function
The loop rotation pass does modify the function, which I'm guessing means that a FunctionPassManager can be used to run LoopPasses (this is not obvious to me after looking through the FunctionPassManager code). Unfortunately none of the other passes I'm using (ScalarEvolution, LCSSA, IndVarSimplify, and LoopUnroll) appear to have an effect. I verified that the function can be loop
2007 Jun 21
0
[LLVMdev] PassManager vs FunctionPassManager
On Jun 21, 2007, at 4:13 PM, Dan Gohman wrote: > Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm > working with code that uses a plain PassManager and want it to > generate > code, are there any options better than doing this: That's what FPPassManager does (include/llvm/PassManagers.h) . Function pass manager itself is a module level pass.
2014 Sep 16
2
[LLVMdev] proposal to avoid zlib dependency.
It might not be available, so all codepaths have to recover from zlib unavailability. For example, I don't think compressed DWARF works on Windows. On Tue, Sep 16, 2014 at 3:21 PM, Filip Pizlo <fpizlo at apple.com> wrote: > What is the downside of Zlib dependency? I'm curious! :-) > > -Filip > > On Sep 16, 2014, at 2:45 PM, Christophe Duvernois < >
2007 Jun 25
1
[LLVMdev] PassManager vs FunctionPassManager
On Thu, Jun 21, 2007 at 04:37:14PM -0700, Devang Patel wrote: > > On Jun 21, 2007, at 4:13 PM, Dan Gohman wrote: > > > Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm > > working with code that uses a plain PassManager and want it to > > generate > > code, are there any options better than doing this: > > That's what
2014 Sep 16
2
[LLVMdev] proposal to avoid zlib dependency.
Hi Miniz (https://code.google.com/p/miniz/ ) is very small and performant implementation of zlib compression with api compatibility and it is public domain... Miniz can be integrated directly into the llvm source code. So it could be a good replacement or alternative to avoid zlib dependency... If someone is interested i can provide a patch. Regards Christophe -------------- next part
2018 Mar 16
2
Debugify and Verify-each mode
Mhm I see now, thanks for your explanation! Son Tuan Vu On Fri, Mar 16, 2018 at 10:58 PM, Vedant Kumar <vsk at apple.com> wrote: > > On Mar 16, 2018, at 2:30 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote: > > Hi Vedant, > > Thank you for your reply. I think I can make this debugify-each mode, but > I guess this is reserved for your GSoC project ? > >
2016 Feb 19
3
target triple in 3.8
I added your suggestion and am using this now llvm::legacy::FunctionPassManager *functionPassManager = new llvm::legacy::FunctionPassManager(Mod); llvm::PassRegistry &registry = *llvm::PassRegistry::getPassRegistry(); initializeScalarOpts(registry); functionPassManager->add( new llvm::TargetLibraryInfoWrapperPass(llvm::TargetLibraryInfoImpl(targetMachine->getTargetTriple())) );
2009 May 26
3
[LLVMdev] Wondering how best to run inlining on a single function.
In Unladen Swallow we (intend to) compile each function as we determine it's hot. To "compile" a function means to translate it from CPython bytecode to LLVM IR, optimize the IR using a FunctionPassManager, and JIT the IR to machine code. We'd like to include inlining among our optimizations. Currently the Inliner is a CallGraphSCCPass, which can only be run by the
2018 Mar 16
0
Debugify and Verify-each mode
> On Mar 16, 2018, at 2:30 PM, Son Tuan VU <sontuan.vu119 at gmail.com> wrote: > > Hi Vedant, > > Thank you for your reply. I think I can make this debugify-each mode, but I guess this is reserved for your GSoC project ? No, there's no reserved work. If you'd like to work on this I encourage you to do so. There's plenty of other work slated for the GSoC project.
2010 Aug 27
3
[LLVMdev] What does this error mean: psuedo instructions should be removed before code emission?
On Aug 27, 2010, at 11:00 AMPDT, Eric Christopher wrote: >>> >>> For some reason I am getting this error even when I only have an >>> empty 'main' function. So I couldn't create .ll file reproducing >>> it and I have to debug myself. >>> >>> The function causing the problem is stub created in >>> JIT::runFunction:
2020 Apr 04
2
Running opt O1 outside of llvm
Hi, I would like to run the -O1 pass sequence followed by -reg2mem from an out of tree project which uses llvm. I am using the following code snippet to do so but in some cases, my method is also vectorising the code, which doesn't happen when running the same sequence(-S -O1 -reg2mem) through opt. Can someone please help me find what I am missing? Thanks, Akash. *
2014 Jan 15
3
[LLVMdev] Loop unrolling a function
Hi all, I'm attempting to perform loop unrolling on a single function using the C++ API. Maybe I missed something in the docs, but I cannot figure out a way to do this. The function I'm working with is very simple, containing a single for loop and not much else. I compiled the function to IR using clang with no optimizations enabled. My initial plan was to first run the IndVarSimplify
2007 Jan 22
2
[LLVMdev] addPassesToEmit(Whole)File changes?
Hi folks, just installed the new llvm 1.9 build and noticed that my code no longer worked. It seems something has changed with addPassesToEmitFile(). First, the arguments to that method changed so that it no longer takes a PassManager, but only a FunctionPassManager. Instead there is a addPassesToEmitWholeFile() method, but that is marked as optional, and when I change my code to
2018 Apr 26
0
Debugify and Verify-each mode
Hi Vedant, I have tried to implement the fix you proposed, but it didn't work as expected. I created a new *Module* Pass Manager (not Function Pass Manager) and override the *add()* method like this: class DebugifyEachPassManager : public legacy::PassManager { public: void add(Pass *P) override { PassManager::add(createDebugifyPass()); PassManager::add(P);
2013 Jan 29
0
[LLVMdev] Running a Local Buildbot
Hello We are migrating from 2.9 to 3.2 Here is some code that does not compile any more llvm::PassManager *pm; llvm::FunctionPassManager *fpm; module = llvm::ParseBitcodeFile(mb,context,&err_str); if (!module) { error() <<"Failed to load module from bitcode file: " <<err_str <<endl; exit(1); } pm = new PassManager();