Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Cloned Functions Are Not the Same"
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 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
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
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
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
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
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 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>
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
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 (
2016 Mar 11
6
big module for a project
Hi All,
I am using clang to compile Mysql source code. Because I want to do some inter-procedural analysis, hopefully, I want to get a .o(bitcode) file(a module) containing all possible function declarations and definitions. Is it possible to do that ? Or you guys have some suggestions?
To be clear, like Mysql, there is a mysqld routine, which is a major routine. I want to mysqld.o(which is
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
2010 Mar 05
2
[LLVMdev] Compile a large project with llvm?
Dear John,
Thanks for your reply. I want to do whole program analysis, all what I
need are just the separate .bc files. What instructions should I follow?
I run the configure on apache in this way:
CC=clang CFLAGS=-emit-llvm ./configure
while I get the error message like:
checking for gcc... clang
checking for C compiler default output file name... configure: error: C
compiler cannot
2017 May 03
3
Should it be legal for two functions to have the same !dbg attachment?
I just wrote an IR Verifier check that catches the following situation:
; RUN: not llvm-as %s -disable-output 2>&1 | FileCheck %s
define void @f1() !dbg !4 {
unreachable
}
; CHECK: DISubprogram attached to more than one function
define void @f2() !dbg !4 {
unreachable
}
!llvm.dbg.cu = !{!1}
!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2)
!2
2010 Mar 05
0
[LLVMdev] Compile a large project with llvm?
Wink zhang wrote:
> 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.
>
If you just want to compile the program with llvm-gcc, then Diego's
instructions are fine.
If, however, you want to do inter-procedural optimization or whole
2017 Jun 20
2
CloneFunctionInto produces invalid debug info
I was just going to say: With well-formed debug info it should create a deep copy up until the DISubprogram, but no further. But because the DISubprogram linked to the Function is missing the special handling of the DISubprogram (that would prohibit cloning the DICompileUnit is side-stepped).
But then I remembered the discussion we had in
2008 Mar 03
1
[LLVMdev] Cloning a function
Hi,
we have two modules, one that we basically use as a library in which we store
a lot of simple function calls, the other is small program generated at
run-time.
Whenever a function call for to one of the builtin functions is being called
we use CloneFunction to clone the instruction from the library module and
insert it in the generated module.
The problem is for example when we have
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
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,