Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Link time optimisation error?"
2010 Apr 19
0
[LLVMdev] Performing my own pass with a single command line?
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 able to run on incomplete programs and be run multiple
times over the same code (i.e., it cannot do whole-program analysis).
2) You can change the build system of the program you're
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
2010 Apr 19
2
[LLVMdev] Performing my own pass with a single command line?
Hello,
As far as I know, the LLVM pass manager only perform at the llvm
bytecode level.
This means for each program, I have to convert it to a LLVM bytecode by:
llvm-gcc -c -emit-llvm test.c
then, I can issue the llvm pass manager to invoke my own pass and
produce an output as LLVM bytecode, such as:
opt -my-pass < test.o > test.new.o
After this point, I need to convert it to assembly
2015 Jul 16
2
[LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
>
>
> Is there a reason why LLVM's link-time optimization won't work for you?
>
> http://llvm.org/docs/GoldPlugin.html
> http://llvm.org/docs/LinkTimeOptimization.html
>
>
Well the primary motivation to move to LLVM is licensing which is why we
also ditched binutils since we can't package gcc for iOS due to the GPL.
So in the end the gold plugin wouldn't
2011 Jan 27
0
[LLVMdev] recreate optimized clang output
On Jan 27, 2011, at 12:02 PM, Hendrix_ at gmx.net wrote:
> OK, I am looking for "LTO"/global optimization. So the function definition will remain "somewhere else" (externally), and the optimizer will find in some other module to possibly inline it later on.
>
> I am planning to concat all the *.ll (eg "link" the files) and pass them to the
2009 Jul 07
1
[LLVMdev] CVS binutils includes support for plugins, can use the llvm plugin.
On May 26, 2009, at 10:52 AM, Rafael Espindola wrote:
> Today support for plugins has been committed to BFD. That is the file
> format abstraction library used by binutils. This now works
Very nice Rafael! Can you please update the web page to mention this,
e.g. in the LinkTimeOptimization.html document and wherever else
relevant?
-Chris
>
> $ llvm-gcc -emit-llvm -O2 -c a.c
2011 Jan 27
2
[LLVMdev] recreate optimized clang output
On 27.01.2011, at 21:12, Devang Patel wrote:
>
> On Jan 27, 2011, at 12:02 PM, Hendrix_ at gmx.net wrote:
>
>> OK, I am looking for "LTO"/global optimization. So the function definition will remain "somewhere else" (externally), and the optimizer will find in some other module to possibly inline it later on.
>>
>> I am planning to concat all the
2015 Jul 18
2
[LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
Thanks Nick. I've been pursuing Gao's technique but can't seem to get opt
to remove obviously dead code from even the following trivial example:
int mult(int a, int b){
return a*b;
}
int main(void){
return 0;
}
While mult is never called it still is not removed. I just can't seem to
get opt to understand it's seeing the whole program so it can remove this
2015 Jul 16
2
[LLVMdev] [Clang] [lld] [llvm-link] Whole program / dead-code optimization
Hi All,
After the initial learning curve, we're excited to have put together a
completely gcc/binutils-free toolchain based on LLVM. Now that we have
things working, we desperately need to optimize the resulting binaries.
Our bin files are up to 10x their fully optimized gcc equivalent (1.5k vs
16k). This is for a bare metal ARM based system so this is significant.
We're using lld for
2013 Jan 29
0
[LLVMdev] Dropped support for IR-level extended linking support (archives, etc.)
Hi Chris,
What functions were you using, and what features of them were you using? If
you just need to link individual bit codes together, you can do it in
exactly the same way that llvm-link does (using Linker::LinkModules).
If you really need features like being able to pull objects out of
archives, then you should use an LTO enabled linker (either the system
linker on OS X, or gold + the gold
2011 Jan 27
4
[LLVMdev] recreate optimized clang output
On 26.01.2011, at 04:39, John McCall wrote:
> On Jan 24, 2011, at 10:36 AM, Hendrix_ at gmx.net wrote:
>> I was using "clang -O3 -S -emit-llvm" got some very optimized output.
>>
>> Then I did "clang -S -emit-llvm" (without optimization) and wanted to optimized the code in a
>> separate pass. The llvm program "opt" did not do anything.
2009 Jul 08
0
[LLVMdev] CVS binutils includes support for plugins, can use the llvm plugin.
2009/7/7 Chris Lattner <clattner at apple.com>:
>
> On May 26, 2009, at 10:52 AM, Rafael Espindola wrote:
>>
>> Today support for plugins has been committed to BFD. That is the file
>> format abstraction library used by binutils. This now works
>
> Very nice Rafael! Can you please update the web page to mention this, e.g.
> in the LinkTimeOptimization.html
2011 Jan 27
1
[LLVMdev] recreate optimized clang output
On 27.01.2011, at 21:12, Devang Patel wrote:
>
> On Jan 27, 2011, at 12:02 PM, Hendrix_ at gmx.net wrote:
>
>> OK, I am looking for "LTO"/global optimization. So the function definition will remain "somewhere else" (externally), and the optimizer will find in some other module to possibly inline it later on.
>>
>> I am planning to concat all the
2011 Apr 18
0
[LLVMdev] Registering a custom opt pass as a default one
On Apr 18, 2011, at 6:46 AM, Alexander Potapenko wrote:
> Hi all,
>
> we're working on compile-time instrumentation for ThreadSanitizer (a
> data race detector, see http://code.google.com/p/data-race-test and
> http://code.google.com/p/data-race-test/wiki/CompileTimeInstrumentation),
> which is implemented as an opt plugin that is ran for each client
> C/C++ module we
2011 Jan 27
0
[LLVMdev] recreate optimized clang output
On Jan 27, 2011, at 12:37 PM, Hendrix_ at gmx.net wrote:
>
> On 27.01.2011, at 21:12, Devang Patel wrote:
>
>>
>> On Jan 27, 2011, at 12:02 PM, Hendrix_ at gmx.net wrote:
>>
>>> OK, I am looking for "LTO"/global optimization. So the function definition will remain "somewhere else" (externally), and the optimizer will find in some other
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
2006 Aug 14
5
[LLVMdev] link time optimization doc
Hi All,
I have installed LinkTimeOptimization.html document in doc directory
to describe LTO interface.
-
Devang
2010 Apr 06
1
[LLVMdev] Get the loop trip count variable
Hi Eli,
Could you tell me how to extract the variable name?
The reason I want to do it at the IR level is because I have more
information at this stage, such as, constant propagation and back
edges.
Cheers,
Zheng
On 5 April 2010 21:51, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Mon, Apr 5, 2010 at 1:19 PM, Zheng Wang <jason.wangz at gmail.com> wrote:
>> Hello,
2012 May 24
2
[LLVMdev] LTO for smaller memory footprint for Clang
Hi all,
I was trying to use LTO facility of LLVM to reduce the footprint of
Clang itself. I build the ld-gold and LLVMgold.so as described at [1]
and then set the environment as described too. However, had to add the
path for plugin manually as Clang was not able pass it to ld
automatically. Following is the setting I used before starting to
build (small foot Clang.
CXX=clang++ -flto
2010 Apr 06
2
[LLVMdev] Get the loop trip count variable
Thanks a lot for your guys' help!!!
I guess once I am able to get *V* (which probably is a pointer to a
Value object), then, I can instrument some code at the IR level to
dump V. As long as I maintain V at this pass stage, I should be able
to dump the loop trip count. This is true, isn't it?
Basically, what I am going to do is to add a function call before the
loop body, such as: