Displaying 20 results from an estimated 2000 matches similar to: "Some questions about phase ordering in OPT and LLC"
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
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
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.
>
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
2015 Dec 02
5
Is there a way to pass Optimization passes to clang?
0 down vote favorite
<http://stackoverflow.com/questions/34049511/how-to-pass-optimization-passes-to-clang#>
I'm trying to debug an issue for a new target where a testcase fails with
-O1 optimization and passes with -O0 optimization.
I got a list of optimization passes being performed when 'clang -O1' is
called like this:
llvm-as < /dev/null | opt -O1 -disable-output
2015 Mar 12
2
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
Hi Mark,
It is not clear to me at all that preventing the merging is the right solution. There are a large number of analysis, including alias analysis, and optimizations that use GetUnderlyingObject, and related routines to search back through GEPs. They only do this up to some small finite depth (six, IIRC). So reducing the GEP depth is likely the right solution for InstCombine (which has the
2015 May 09
2
[LLVMdev] about MemoryDependenceAnalysis usage
Hi,
I try to use MemoryDependenceAnalysis in a pass to analyse a simple function:
void fct (int *restrict*restrict M, int *restrict*restrict L) {
S1: M[1][1] = 1;
S2: L[2][2] = 2;
}
When I iterate over MemoryDependenceAnalysis on the S2 statement, I get the load instruction for the first depth of the array, that’s ok. But I get also the load and store for the S1 statement.
I assume the
2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
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
>
> real 0m2.606s
> user 0m2.584s
> sys 0m0.012s
>
> BUT, if I use all the optimizations enabled with -O3 but specify them
> explicity i.e.
you can just use "opt -O3"
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
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
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
Hello
I need some help here please.
If we compile source files directly in to native code:
$ clang -O3 -lm *.c
then the runtime is like following
real 0m2.807s
user 0m2.784s
sys 0m0.012s
and If we emit LLVM bytcode and apply optimizations
$ clang -O3 -c -emit-llvm *.c
$ llvm-link *.o -o comb.ll
$ time lli ./comb.ll
then the runtime is
real 0m2.671s
user 0m2.640s
sys 0m0.020s
But, if I
2015 Jan 05
2
[LLVMdev] LTO v. opt
Thanks to you both.
On my Linux (centos6) system, I have reproduce a variant of the bug and learned about
-plugin-opt=-debug-pass=Arguments
which I infer from comments is intended to built arguments to “opt” however I found that some of the arguments don’t seem to be quite correct. I assume this just minor bit rot.
bin/opt -o pass1.bc -datalayout -notti -basictti -x86tti -targetlibinfo
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
Hi
Yes, they both are exactly the same.
Regards
Shahzad
On Tue, Jun 12, 2012 at 9:38 AM, Duncan Sands <baldrick at free.fr> wrote:
> 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
2015 May 02
5
[LLVMdev] Modifying LoopUnrollingPass
Hi Zhoulai,
I am trying to modify "LoopUnrollPass" in llvm which produces multiple
copies of loop equal to the loop unroll factor.Currently, using multicore
architecture, say 3 for example and the execution goes like:
for 3 cores if there are 9 iterations of loop
core instruction
1 0,3,6
2 1,4,7
3 2,5,8
But I want to to
2011 Oct 22
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I was trying the new feature you introduce about printing out the
graphs, so I updated my version of llvm/clang/polly synchronizing them
to the last version, but I get this error launching clang (also , I
recently switched to MacOS X for development):
$ clang not_so_simple_loop.c -O3 -Xclang -load -Xclang
${PATH_TO_POLLY_LIB}/LLVMPolly.dylib -mllvm -enable-polly-viewer
-mllvm -enable-iv-rewrite
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
>>
2015 Mar 12
3
[LLVMdev] Question about shouldMergeGEPs in InstructionCombining
I think it would make sense for (1) and (2). I am not sure if (3) is
feasible in instcombine. (I am not too familiar with LoopInfo)
For the Octasic's Opus platform, I modified shouldMergeGEPs in our fork to:
if (GEP.hasAllZeroIndices() && !Src.hasAllZeroIndices() &&
!Src.hasOneUse())
return false;
return Src.hasAllConstantIndices(); // was return false;
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
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
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)