similar to: [LLVMdev] Running an IR pass after all IR passes

Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Running an IR pass after all IR passes"

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
2014 Sep 23
3
[LLVMdev] Converting back to SSA form
Thanks John, The reason I want to do this is that register allocator works only on SSA form, and if you instrument regallocated code with non-regallocated machine instructions, then you cannot regallocate the result. A workaround is to assign physical registers while doing the instrumentation, which I don't think is as easy as the above. On Tue, Sep 23, 2014 at 11:01 AM, John Criswell
2014 Dec 02
2
[LLVMdev] Cloned Functions Are Not the Same
I am trying to use CloneFunction to clone every IR function in a program, give the cloned versions a prefix and call the clones from the original functions (redirect the calls). Surprisingly, I see that after the LTO optimizations, the number of machine basic blocks in the two functions differ in some cases. Is this reasonable at all, given that the two functions must be exactly the same in the
2015 Dec 27
3
Any way to disable the alignment of functions?
Hi, I am trying to test if disabling function (entry) alignment has any effect on performance. On my x86 machine, all functions seem to get aligned to 16-bytes. I know that GCC provides a flag (-fno-align-functions) to disable function alignment. However, I could not find the similar flag for clang. According to the following quote from LLVM doc, clang delegates the job to the target in case no
2015 Jan 12
2
[LLVMdev] LTO support on Mac
On Jan 12, 2015, at 2:45 PM, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote: > On 10 January 2015 at 17:43, Rahman Lavaee <r.lavaee at gmail.com> wrote: >> Hi, >> I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. >> The system linker dumps the following information when I executed "ld -v" >> >>
2014 Sep 23
2
[LLVMdev] Converting back to SSA form
Hi, I'm wondering how I can convert "register allocated" code back to SSA form. I realized from MachineRegisterInfo.h that a function leaves SSA form only once and cannot be taken back to it. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140923/0124addd/attachment.html>
2015 Jan 10
2
[LLVMdev] LTO support on Mac
Hi, I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. The system linker dumps the following information when I executed "ld -v" @(#)PROGRAM:ld PROJECT:ld64-241.9 configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7m armv7em LTO support using: LLVM version 3.4.2 which tells me that it is correctly pointing to the LLVM
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
2011 Aug 19
0
[LLVMdev] running a module pass via opt on multiple bitcode files
On 8/19/11 4:36 PM, Jinwook Shin (HOTWING) wrote: > > Thanks John. Your approach worked fine for my small toy program. Now, > I would like to run my module pass on a huge project (still a single > executable) consisting of a few thousand bit code files scattered in > many different directories. And some of them are static libraries. Do > you still think it's a good idea
2008 Dec 08
3
[LLVMdev] Tutorial on writing Link Time Optimization Passes?
Hi, Is there a tutorial on how to get started with writing link-time optimization passes? The documentation at http://www.llvm.org/docs/LinkTimeOptimization.html explains the design of the LTO interface, but does not explain where to start writing code. Would my pass go inside libLTO.a or is it separate from libLTO.a? What I would like to be able to do is traverse through the entire
2011 Aug 19
2
[LLVMdev] running a module pass via opt on multiple bitcode files
Thanks John. Your approach worked fine for my small toy program. Now, I would like to run my module pass on a huge project (still a single executable) consisting of a few thousand bit code files scattered in many different directories. And some of them are static libraries. Do you still think it's a good idea to manually gather and link them with llvm-ld? I've seen other module pass
2020 Sep 18
2
Making library calls for obj2yaml functionalities
James, Thanks for the detailed response. Please see my thoughts inline. On Thu, Sep 17, 2020 at 12:33 AM James Henderson < jh7370.2008 at my.bristol.ac.uk> wrote: > Hi Rahman, > > Traditionally, the ability to read sections is a feature added to > llvm-readobj/llvm-readelf. For some sections, it delegates to methods in > places like the Object library and BinaryFormat, but
2014 Mar 19
2
[LLVMdev] Interprocedural Block Placement algorithm, challenges and opportunities
Hi, I have written a code layout feedback directed optimization pass, which currently works for basic block reordering and function reordering. It very effectively improves the speedup (we could improve Python by 30%). The profiling method is window based context sensitive which is based on reference affinity (
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
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
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
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
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
2020 Sep 16
2
Making library calls for obj2yaml functionalities
Hi All, Following up on https://lists.llvm.org/pipermail/llvm-dev/2020-July/143512.html, and https://reviews.llvm.org/D85408, we would like to consider a design which allows external tools to read the structured contents of the .bb_addr_map section with library calls into an LLVM library. At the same time, we need to have tools/obj2yaml tests in place for bb_addr_map. So it sounds like the
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