Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Safe Passes"
2011 Dec 30
1
[LLVMdev] Safe Passes
Which transformation passes are 'safe', meaning it does not worsens the
effectiveness of a later pass or the generated code? I imagine all
passes which either removes data or add attributes are included in this
list, plus some simplification passes:
-adce
-argpromotion
-constmerge
-constprop
-deadargelim
-dse
-functionattrs
-globaldce
-globalopt
-gvn
-instcombine
-internalize
2011 Nov 15
1
[LLVMdev] opt -O2 optimization passes
Hi all,
I would like to know which optimization passes are performed at -O2 by opt.
So I used following command:
llvm-as < /dev/null | opt -O2 -std-compile-opts -disable-output
-debug-pass=Arguments
I've got following output for LLVM opt 2.9:
Pass Arguments: -no-aa -tbaa -basicaa -simplifycfg -domtree -scalarrepl
-early-cse
Pass Arguments: -targetlibinfo -no-aa -tbaa -basicaa
2009 Jan 25
0
[LLVMdev] -O4 limitations in llvm/llvm-gcc-4.2 2.5?
Jack Howarth wrote:
> I've had better luck compiling all of pymol 1.1r2 with
> -O4 on darwin9. Everythink links and there appears to be
> no regressions in the resulting code. I take it that LTO
> in llvm 2.5 is still limited to dead code elimination,
> correct?
No.
libLTO does the equivalent to opt -internalize -ipsccp -globalopt
-constmerge -deadargelim -instcombine
2013 Aug 19
1
[LLVMdev] How to disbale loop-rotate in opt -O3 ?
Hello,
I am trying to simplify the CFG of a given code and eliminate the conditionals, even though I will obtain codes that are not semantically equivalent.
For example, given a simple loop:
for(i=0; i<N; i++){
a[i] = i;
if (i%2==0)
a[i] += 12;
}
I would keep only the loop, without the if statement:
for(i=0; i<N; i++){
a[i] = i;
}
I can eliminate such conditionals on
2016 May 09
2
Some questions about phase ordering in OPT and LLC
On Mon, May 09, 2016 at 01:07:07PM -0700, Mehdi Amini via llvm-dev wrote:
>
> > On May 9, 2016, at 10:43 AM, Ricardo Nobre via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > I'm a PhD student doing phase ordering as part of my PhD topic and I would like to ask some questions about LLVM.
> >
> > Executing the following
2007 Jul 18
1
[LLVMdev] llvm-ld doesn't honor -Ox
The project that I use to test LLVM against showed that currently
llvm-ld doesn't honor the -Ox switch.
$ /usr/src/llvm/dist/bin/llvm-ld \
-v -stats -native -O1 -strip-all \
-o main \
-L/usr/share/qt3/lib -L/usr/X11R6/lib \
-lcrypto -lusb -lutil -lqt-mt -lXext -lX11 -lm -lpthread
...
$ size main
text data bss dec hex filename
1128271 71980 8392 1208643 127143
2005 Apr 22
0
[LLVMdev] Need help with bugpoint for codegen problem
On Fri, Apr 22, 2005 at 02:32:25AM +0200, Markus F.X.J. Oberhumer wrote:
> Ok, after pasting the output from "gccas -debug-pass=Arguments
> </dev/null -o - >/dev/null" I get the following:
>
> bugpoint -verify -lowersetjmp -funcresolve -raiseallocs -simplifycfg
> -mem2reg -globalopt -globaldce -ipconstprop -deadargelim -instcombine
> -simplifycfg -prune-eh
2010 Jan 13
2
[LLVMdev] Cross-module function inlining
I've developed a working LLVM back-end (based on LLVM 2.6) for a custom architecture with its own tool chain. This tool chain creates stand-alone programs from a single assembly. We used to use GCC, which supported producing a single machine assembly from multiple source files.
I modified Clang to accept the architecture, but discovered that clang-cc (or the Clang Tool subclass inside Clang)
2015 Jan 17
3
[LLVMdev] loop multiversioning
Does LLVM have loop multiversioning ? it seems it does not with clang++ -O3
-mllvm -debug-pass=Arguments program.c -c
bash-4.1$ clang++ -O3 -mllvm -debug-pass=Arguments fast_algorithms.c -c
clang-3.6: warning: treating 'c' input as 'c++' when in C++ mode, this
behavior is deprecated
Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa
-tbaa -scoped-noalias
2009 Feb 02
1
[LLVMdev] Proposal: Debug information improvement - keep the line number with optimizations
Hi,
I've been thinking about how to keep the line number with the llvm
transform/Analysis passes.
Basically, I agree with Chris's notes (
http://www.nondot.org/sabre/LLVMNotes/DebugInfoImprovements.txt), and I
will follow his way to turn on the line number information when optimization
enabled.
Here is a detailed proposal:
1. Introduction
At the time of this writing, LLVM's
2010 Jan 13
0
[LLVMdev] Cross-module function inlining
Mark Muir wrote:
> I've developed a working LLVM back-end (based on LLVM 2.6) for a custom architecture with its own tool chain. This tool chain creates stand-alone programs from a single assembly. We used to use GCC, which supported producing a single machine assembly from multiple source files.
>
> I modified Clang to accept the architecture, but discovered that clang-cc (or the
2007 May 20
2
[LLVMdev] API changes (was Antw.: 2.0 Pre-release tarballs online)
Hi,
Op 19-mei-07, om 00:39 heeft Chris Lattner het volgende geschreven:
> Anton is right. You should be able to use -fno-builtins to disable
> this.
Thanks, that did the trick.
Some final remarks (my app works again :-)):
* llvm.va_start and similar intrinsics now have an i8* arg instead
of an sbyte**
* For some reason the Arguments of a Function are now circularly
linked,
2016 May 09
4
Some questions about phase ordering in OPT and LLC
Hi,
I'm a PhD student doing phase ordering as part of my PhD topic and I
would like to ask some questions about LLVM.
Executing the following command to see what passes does OPT execute when
targeting a SPARC V8 processor:
/opt/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/llvm-as <
/dev/null | /opt/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-15.10/bin/opt
-O3 -march=sparc -mcpu=v8
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
add -basicaa to your command line :)
On Mon, May 11, 2015 at 7:15 AM, Willy WOLFF <willy.mh.wolff at gmail.com> wrote:
> I play a bit more with MemoryDependenceAnalysis by wrapping my pass, and
> call explicitely BasicAliasAnalysis. Its still using No Alias Analysis.
>
> How can I let MemoryDependenceAnalysis use BasicAliasAnalysis?
>
> Please, find attached my pass.
>
2012 Jun 08
0
[LLVMdev] How to use LLVM optimizations with clang
Hello Duncan
Sorry for the mistake. Actually that error occurred when I was
compiling all the files at once, NOT in for loop.
The for loop is working perfectly as it is dealing with individual
files. I have now one new issue. Let me specify it briefly.
If I compile the program using the following command line i.e.
$ clang -O3 -lm *.c
then
$ time ./a.out
real 0m2.606s
user 0m2.584s
sys
2008 Dec 04
0
[LLVMdev] 32bit math being promoted to 64 bit
instcombine doesn't seem to be doing it. From my testing it seems to
only occur when I use -indvars after a long string of commands.
For example:
llvm-as < test_fc_27.ll | opt -preverify -domtree -verify
-lowersetjmp -raiseallocs -simplifycfg -domtree -domfrontier
-mem2reg -globalopt -globaldce -ipconstprop -deadargelim
-instcombine -simplifycfg -ba
siccg -prune-eh -inline
2015 May 04
2
[LLVMdev] Modifying LoopUnrollingPass
Optimization passes running before LoopVectorizer should be able to combine
the two statements (this should be happening in O1. Pls check)
arr[i] = a + i
sum += arr[i]
to
sum += a + i
Not sure, why are you using the array there.
- Suyog
On 4 May 2015 23:11, "Michael Zolotukhin" <mzolotukhin at apple.com> wrote:
> Hi Yaduveer,
>
> Vectorizer probably fails because it
2012 Jun 08
0
[LLVMdev] How to use LLVM optimizations with clang
Thanks Duncan
It was really helpful.
Regards
Abdul
On Fri, Jun 8, 2012 at 7:23 PM, Duncan Sands <baldrick at free.fr> wrote:
> Hi,
>
>
>> If I compile the program using the following command line i.e.
>>
>> $ clang -O3 -lm *.c
>
>
> this may be doing link time optimization.
>
>
>>
>> then
>>
>> $ time ./a.out
>>
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
Sure. The comb.ll and data files are attached and can be invoked as
the following
$ lli comb.ll data -c
Regards
Shahzad
On Tue, Jun 12, 2012 at 12:28 PM, Duncan Sands <baldrick at free.fr> wrote:
> Hi,
>
>
>> Yes, they both are exactly the same.
>
>
> then I don't know what is going on. I suggest you send a copy of comb.ll to
> the
> list so that we can
2012 Jun 12
0
[LLVMdev] How to use LLVM optimizations with clang
Hi, is the comb.ll used here:
> $ time lli ./comb.ll
>
> then the runtime is
>
> real 0m2.671s
> user 0m2.640s
> sys 0m0.020s
>
> But, if I convert this same file comb,ll in to native binary
the same as the comb.ll used here:
> $ clang comb.ll
?
Ciao, Duncan.
>
> and execute it, then the runtime increases alot
>
> $ time ./a.out
>
> real