Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Tutorial on writing Link Time Optimization Passes?"
2008 Dec 08
0
[LLVMdev] Tutorial on writing Link Time Optimization Passes?
The documentation you're looking for is:
http://llvm.org/docs/WritingAnLLVMPass.html
If you're doing an optimization that runs at link-time, you'll probably
be writing a ModulePass. You can run any pass at any time over any
bitcode file with 'opt -mypass file.bc'. If you want to add it to the
list of passes that run when linking via libLTO or llvm-ld, you can add
it to
2010 Apr 21
1
[LLVMdev] Performing my own pass with a single command line?
Hi John,
Are there any documents about how to add a pass into LTO?
Cheers,
Zheng
On 19 April 2010 15:11, John Criswell <criswell at uiuc.edu> wrote:
> Dear Zheng Wang,
>
> You have a few options:
>
> 1) You can add your pass to the set of passes that llvm-gcc runs when it
> optimizes code. This requires re-compiling llvm-gcc; it also means that
> your pass must be
2011 Sep 22
2
[LLVMdev] running a module pass via opt on multiple bitcode files
Thanks John. I appreciate your help.
I have taken the libLTO approach and it worked like a charm :) For those who wanted to achieve the same thing, below are the steps I've taken.
John -- a small question: I thought I wouldn't need to touch Makefiles at all, but that wasn't the case. Could you take a look at Step 4) and tell me what you think? Thanks!
1) Create your own libLTO and
2015 Sep 16
3
RFC: LTO should use -disable-llvm-verifier
On Tue, Sep 15, 2015 at 3:31 PM, Duncan P. N. Exon Smith via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
>> On 2015-Sep-02, at 19:31, Peter Collingbourne <peter at pcc.me.uk> wrote:
>>
>> On Thu, Sep 03, 2015 at 01:10:42AM +0000, Eric Christopher wrote:
>>> On Tue, Sep 1, 2015 at 10:43 AM Duncan P. N. Exon Smith <
>>> dexonsmith at
2014 Mar 29
2
[LLVMdev] Running an IR pass after all IR passes
Hi,
I am finding it difficult to see how I can run an IR instrumentation pass
after "all" IR passes.
I previously used opt to run my pass after linking all the llvm bitcode
files and then ran llc.
I found out that llc runs some other Function passes which depend on the
target.
For example, tail calls are only supported in x86 under some circumstances.
Then I tried lto and link time
2014 Mar 30
2
[LLVMdev] Running an IR pass after all IR passes
Thank you very much John.
With an environment variable I need to take some special care, but it looks
like the only way to go.
On Sun, Mar 30, 2014 at 11:07 AM, John Criswell <criswell at illinois.edu>wrote:
> Dear Rahman,
>
> I think your best option is to modify the code in libLTO so that it runs
> your pass when you want it to run. I believe the file you want to modify
2015 Sep 16
5
RFC: LTO should use -disable-llvm-verifier
> On Sep 16, 2015, at 9:45 AM, Teresa Johnson via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> On Wed, Sep 16, 2015 at 7:47 AM, Teresa Johnson <tejohnson at google.com> wrote:
>> On Tue, Sep 15, 2015 at 3:31 PM, Duncan P. N. Exon Smith via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>>
>>>> On 2015-Sep-02, at 19:31, Peter
2011 Sep 22
0
[LLVMdev] running a module pass via opt on multiple bitcode files
On 9/22/11 4:04 PM, Jinwook Shin wrote:
> Thanks John. I appreciate your help.
De nada.
>
> I have taken the libLTO approach and it worked like a charm :) For
> those who wanted to achieve the same thing, below are the steps I've
> taken.
>
> John -- a small question: I thought I wouldn't need to touch
> Makefiles at all, but that wasn't the case. Could
2011 May 30
1
[LLVMdev] about writing a functionpass requiring a modulepass
---------- Forwarded message ----------
From: Qingan Li <ww345ww at gmail.com>
Date: 2011/5/30
Subject:
To: llvmdev at cs.uiuc.edu
Hi,
I wrote an analysis pass, myPass, inherited from both ModulePass and
ProfileInfo, and this pass requires the CallGraph, i.e.,
* class myPass : public ModulePass, public ProfileInfo { ...};*
* void myPass::getAnalysisUsage(AnalysisUsage &AU) const
2017 May 03
2
[LTO] -time-passes and libLTO
2017-05-02 8:42 GMT-07:00 Duncan P. N. Exon Smith <dexonsmith at apple.com>:
> +Teresa, Mehdi
>
> On May 2, 2017, at 08:31, James Henderson <jh7370.2008 at my.bristol.ac.uk>
> wrote:
>
> Hi,
>
> We have been investigating an issue when running LTO with our proprietary
> linker, which links against libLTO dynamically. The issue is that when we
> pass
2013 Jul 12
14
[LLVMdev] [Proposal] Parallelize post-IPO stage.
Hi, There:
This is the proposal for parallelizing post-ipo stage. See the
following for details.
I also attach a toy-grade rudimentary implementation. This
implementation can be
used to illustrate some concepts here. This patch is not going to be
committed.
Unfortunately, this weekend I will be too busy to read emails. Please
do not construe
delayed response as being rude :-).
2013 Jul 17
2
[LLVMdev] [Proposal] Parallelize post-IPO stage.
On 7/17/13 12:35 PM, Diego Novillo wrote:
> On Fri, Jul 12, 2013 at 3:49 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
>
>> 3. How to parallelize post-IPO stage
>> ====================================
>>
>> From 5k' high, the concept is very simple, just to
>> step 1).divide the merged IR into small pieces,
>> step 2).and compile
2015 May 18
3
[LLVMdev] How to write a custom LTO pass?
I'd like to write an inter-modular analysis pass. My understanding is that
this should take the form of an LTO pass. However, I have been unable to
find any resources on the mechanics of writing and running a custom LTO
pass. Does anyone have any pointers?
Thanks,
Steve
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2010 Mar 05
3
[LLVMdev] Compile a large project with llvm?
Hi,
How to compile a large project (such as Apache) by using llvm-gcc?
I tried to replace CC with llvm-gcc and CFLAGS with -emit-llvm while
running configure, but it didn't work.
Thank you for your help.
-Wink
2013 Jul 17
0
[LLVMdev] [Proposal] Parallelize post-IPO stage.
On Fri, Jul 12, 2013 at 3:49 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> 3. How to parallelize post-IPO stage
> ====================================
>
> From 5k' high, the concept is very simple, just to
> step 1).divide the merged IR into small pieces,
> step 2).and compile each of this pieces independendly.
> step 3) the objects of each piece
2008 Oct 08
2
[LLVMdev] Error while making new pass
Hi Devang,
GlobalModRefPass is also a ModulePass and it uses CallGraph Analysis.
So, I think it should not necessary to extend CallGraphSCCPass to use
CallGraph information. Module Pass shoule be sufficient...
--Kapil
On 10/8/08, Devang Patel <dpatel at apple.com> wrote:
> Hi Kapil,
>
> On Oct 8, 2008, at 10:19 AM, kapil anand wrote:
>
>> Hi all,
>>
>> I
2009 May 11
2
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
Hello,
I have discovered a situation in which the pass manager will infinite
loop. The minimal test case is below this message. The required
structure of these passes is;
Before requires CallGraph
After requires LoopSimplify and Before
I can observe this through opt:
opt -load ./libBug.so -after input.bc -o output.bc
I built my copy of llvm from svn revision 68820 using gcc 4.1.2
Any
2013 Jun 24
2
[LLVMdev] About writing a modulePass in addPreEmitPass() for NVPTX
Sorry for the delay. Yeah, that error message is a bit confusing. What's
happening is that your pass sequence is invalid. Once the IR has been
lowered to machine code, its too late to run LLVM IR passes (ModulePass,
FunctionPass, CallGraphSCCPass, etc.). At that point, you need to run a
Machine*Pass, e.g. MachineFunctionPass. If you need to run an IR level
pass, you need to use
2010 Nov 30
3
[LLVMdev] LLVM Inliner
On Nov 29, 2010, at 1:17 AM, Duncan Sands wrote:
> Hi David,
>
>> Interesting -- LLVM does perform on the fly cleanups during inlining
>> transformation -- this will make summary update precise. One thing I notice from
>> the debug pass dump is that the 'deduce function attribute' pass happens before
>> the clean up -- Is it intended?
>
> you are
2011 Mar 24
2
[LLVMdev] Instrumentation with liblto and gold
Hi,
I need advice in instrumenting programs using liblto and gold plugin.
Specifically, I added my pass in tools/lto/LTOCodeGenerator.cpp.
My pass inserts functions (myLoad and myStore) for some load and store
instructions.
The functions exist in a library file.
I found that the approach works for the example in the link:
http://llvm.org/docs/GoldPlugin.html
$ llvm-gcc -flto a.c -c -o a.o
$ ar q