Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Is "clang -O1" the same as "clang -O0 + opt -O1"?"
2009 Apr 28
3
[LLVMdev] O3 passes
Can I specify passes that I want run directly to llvm-gcc? I don't want
all of -O3, for example. I tried llvm-gcc -raiseallocs ..., but that
didn't work. I also tried running cc1 directly and it didn't take
-raiseallocs as a parameter either.
Duncan Sands wrote:
> On Tuesday 28 April 2009 04:02:47 am Ryan M. Lefever wrote:
>> I assume that when -O3 (or O2 or O1) is
2009 Apr 28
1
[LLVMdev] O3 passes
Thanks for the help. When I run the following (where $llvm is the path
to my llvm installation):
$llvm/bin/llvm-gcc -c -o - -O1 tmp.c -emit-llvm -mllvm
--disable-llvm-optzns | $llvm/bin/opt -raiseallocs
I get the following error:
cc1: error: unrecognized command line option "-fdisable-llvm-optzns"
I am running llvm 2.5. I performed a
$llvm/libexec/gcc/i686-pc-linux-gnu/4.2.1/cc1
2019 Nov 13
2
Difference between clang -O1 -Xclang -disable-O0-optnone and clang -O0 -Xclang -disable-O0-optnone in LLVM 9
Hello,
I m trying to test individual O3 optimizations/ replicating O3 behavior on
IR. I took unoptimized IR (O0), used disable-o0-optnone via (*clang -O0
-Xclang -disable-O0-optnone*). I read somewhere about *clang -O1 -Xclang
-disable-O0-optnone,* so I also tested on this initial IR.
I have observed by using individual optimizations, the performance (i.e
time) is better when the base/initial
2009 Apr 28
0
[LLVMdev] O3 passes
On Tuesday 28 April 2009 09:19:19 am Ryan M. Lefever wrote:
> Can I specify passes that I want run directly to llvm-gcc? I don't want
> all of -O3, for example. I tried llvm-gcc -raiseallocs ..., but that
> didn't work. I also tried running cc1 directly and it didn't take
> -raiseallocs as a parameter either.
You are better off run passes explicitly using opt. Try
2017 Sep 22
5
Effectiveness of llvm optimisation passes
Hi all,
I am trying to understand the effectiveness of various llvm
optimisations when a language targets llvm (or C) as its backend.
The following is my approach (please correct me if I did anything wrong):
I am trying to explicitly control the optimisations passes in llvm. I
disable optimisation in clang, but instead emit unoptimized llvm IR, and
use opt to optimise that. These are what I
2011 Oct 11
4
[LLVMdev] dragonegg svn benchmarks
On Oct 8, 2011, at 12:05 PM, Duncan Sands wrote:
> PS: With -fplugin-arg-dragonegg-enable-gcc-optzns the LLVM optimizers are run at
> the following levels:
>
> Command line option LLVM optimizers run at
> ------------------- ----------------------
> -O1 tiny amount of optimization
> -O2 or -O3 -O1
> -O4 or -O5
2017 Sep 22
0
Effectiveness of llvm optimisation passes
Have -O0 on your clang command line causes all functions to get marked with
an 'optnone' attribute that prevents opt from being able to optimize them
later. You should also add "-Xclang -disable-O0-optnone" to your command
line.
~Craig
On Thu, Sep 21, 2017 at 10:04 PM, Yi Lin via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi all,
>
> I am trying to
2011 Jun 09
3
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status
Duncan,
Below are the tabulated compile times and executable sizes.
A) gcc 4.5.4svn using -msse3 -ffast-math -O3 -fno-tree-vectorize
B) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize -fplugin-arg-dragonegg-enable-gcc-optzns
C) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize
Compile time (seconds)
Benchmark A) stock B) gcc 4.5.4/ C)
2020 Apr 04
2
Running opt O1 outside of llvm
Hi,
I would like to run the -O1 pass sequence followed by -reg2mem from an out
of tree project which uses llvm.
I am using the following code snippet to do so but in some cases, my method
is also vectorising the code, which doesn't happen when running the same
sequence(-S -O1 -reg2mem) through opt. Can someone please help me find what
I am missing?
Thanks,
Akash.
*
2011 Jun 09
0
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status
Hi Jack, thanks for doing this.
> Below are the tabulated compile times and executable sizes.
>
> A) gcc 4.5.4svn using -msse3 -ffast-math -O3 -fno-tree-vectorize
> B) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize -fplugin-arg-dragonegg-enable-gcc-optzns
> C) gcc 4.5.4svn/dragonegg using -msse3 -ffast-math -O3 -fno-tree-vectorize
These numbers really
2011 Oct 12
0
[LLVMdev] dragonegg svn benchmarks
Hi Chris,
>> PS: With -fplugin-arg-dragonegg-enable-gcc-optzns the LLVM optimizers are run at
>> the following levels:
>>
>> Command line option LLVM optimizers run at
>> ------------------- ----------------------
>> -O1 tiny amount of optimization
>> -O2 or -O3 -O1
>> -O4 or -O5
2017 Jul 10
2
disable optimizarions
Hello,
I have already asked how to receive unoptimized IR. This way:
clang -S -emit-llvm -O3 -mllvm -disable-llvm-optzns memset.c -o memset.s
I have noticed, that in any case, when I use O1, O2, O3 and disable
optimizations, I still get llvm intrinsics functions inserted.
when I put O0, I have no intrinsics, but have noopt attribute. Is there a
way to receive purely unoptimizaed IR without any
2009 Apr 29
1
[LLVMdev] optimization in llvm-gcc vs opt
I have a piece of C code, and when I compile it to bitcode using
llvm-gcc with -O3, the result is different than if I compile using
llvm-gcc with no optimization, but pipe the output to opt running the
same passes as -O3 uses. In particular, llvm-gcc with -O3 leads to
int-to-ptr casts while the optimization performed by opt does not. Why
are the two methods different, and how do they
2015 Feb 10
2
[LLVMdev] Should we add noduplicate attribute on the function which contains a noduplicate function call?
Hello all,
I have a question related to noduplicate attribute.
For example, if I have the following source code:
__attribute__((noduplicate)) __attribute__((always_inline)) void wait () {
// some code
barrier();
// some code
}
__attribute__((noduplicate)) void barrier ();
void f () {
// some code
wait();
// some code
}
Sometimes I observed a phenomenon that
2011 Oct 08
4
[LLVMdev] dragonegg svn benchmarks
The Polyhedron 2005 benchmark results for dragonegg svn at r141492
using FSF gcc 4.6.2svn measured on x86_64-apple-darwin11 are listed below.
The benchmarks used the optimizaton flags...
-msse4 -ffast-math -funroll-loops -O3
in all cases. The use of -fplugin-arg-dragonegg-enable-gcc-optzns to allow
for autovectorization from the FSF gcc front-end only produces a single run-time
regression,
2011 Jun 10
1
[LLVMdev] -fplugin-arg-dragonegg-enable-gcc-optzns status
On Thu, Jun 09, 2011 at 08:47:26PM -0400, Jack Howarth wrote:
> Duncan,
> Here are the complete benchmarks rerun against gcc 4.5.4 built with...
>
> Using built-in specs.
> COLLECT_GCC=gfortran-fsf-4.5
> COLLECT_LTO_WRAPPER=/sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin11.0.0/4.5.4/lto-wrapper
> Target: x86_64-apple-darwin11.0.0
> Configured with:
2019 Oct 13
2
Replicate Individual O3 optimizations
Hello,
I want to study the individual O3 optimizations. For this I am using
following commands, but unable to replicate O3 behavior.
1. Documents/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang -O1
-Xclang -disable-llvm-passes -emit-llvm -S vecsum.c -o vecsum-noopt.ll
2. Documents/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang -O3
-mllvm -debug-pass=Arguments -emit-llvm -S
2011 Oct 12
2
[LLVMdev] dragonegg svn benchmarks
On Wed, Oct 12, 2011 at 09:40:53AM +0200, Duncan Sands wrote:
> Hi Chris,
>
>>> PS: With -fplugin-arg-dragonegg-enable-gcc-optzns the LLVM optimizers are run at
>>> the following levels:
>>>
>>> Command line option LLVM optimizers run at
>>> ------------------- ----------------------
>>> -O1 tiny amount of
2019 Oct 19
3
Replicate Individual O3 optimizations
On Thu, Oct 17, 2019 at 11:22 AM David Greene via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org> writes:
>
> > Hello,
> > I want to study the individual O3 optimizations. For this I am using
> > following commands, but unable to replicate O3 behavior.
> >
> > 1.
2014 Dec 03
3
[LLVMdev] Reproducing clang -O3 with opt
This is probably a trivial question but the way I used to do this turns out to be flawed.
I used run clang with -O0 -emit-llvm and then use the resulting IR with opt -O3. The problem is that clang at -O0 does not generate TBAA metadata so the passes run by opt behave differently.
What’s the recommended way of doing this?
Thanks,
Adam