similar to: [LLVMdev] How to use LLVM optimizations with clang

Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] How to use LLVM optimizations with clang"

2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
Hi Shahzad, > Is it possible that we can use LLVM optimization beside O1, O2, O3 > along with dragonegg plugin? sure, try this: gcc -fplugin=path/dragonegg.so ...other_options_here... -S -o - -fplugin-arg-dragonegg-emit-ir -fplugin-arg-dragonegg-llvm-ir-optimize=0 | opt -pass1 -pass2 ... Here -fplugin-arg-dragonegg-emit-ir tells it to output LLVM IR rather than target assembler.
2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
Hi Shahzad, > I tried your method and it works fine. What would be the next step to > produce the final executable? I have tried the following but it is > producing an error > > $ gcc -fplugin=/path/to/dragonegg.so -S *.c > -fplugin-arg-dragonegg-emit-ir | opt -adce this won't work because you aren't passing the IR to opt (you need -o - for that if using a pipe) and you
2012 Jun 07
3
[LLVMdev] How to use LLVM optimizations with clang
Thanks alot Chad for quick response. Does this means that, we can not use LLVM optimizations except O1, O2, O3, O4 and unroll-loops with clang? One more thing I would like to know that If I want to process multiple modules with opt at the same time like opt -adce *.bc then how is it possible with opt in one go, if I process all the bytecode files within Makefile. Thanks. Shahzad On Thu, Jun
2012 Jun 07
0
[LLVMdev] How to use LLVM optimizations with clang
Hello Duncan Is it possible that we can use LLVM optimization beside O1, O2, O3 along with dragonegg plugin? Regards Shahzad On Thu, Jun 7, 2012 at 10:59 PM, Abdul Wahid Memon <engrwahidmemon at gmail.com> wrote: > Thanks alot Chad for these quick and fine responses. > > Regards > > Abdul > > On Thu, Jun 7, 2012 at 10:57 PM, Chad Rosier <mcrosier at apple.com>
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
2012 Jun 08
2
[LLVMdev] How to use LLVM optimizations with clang
Hi, > I tried it with -o - but its producing an error > > gcc: fatal error: cannot specify -o with -c, -S or -E with multiple files > > What you suggest? what I wrote: >> for F in *.c ; do B=`basename $F .c` ; gcc -fplugin=/path/to/dragonegg.so >> -S -o - $F -fplugin-arg-dragonegg-emit-ir | opt -adce -o $B.ll ; done >> clang *.ll Thanks to the for loop and
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
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"
2012 Jun 08
0
[LLVMdev] How to use LLVM optimizations with clang
Hello Duncan I tried your method and it works fine. What would be the next step to produce the final executable? I have tried the following but it is producing an error $ gcc -fplugin=/path/to/dragonegg.so -S *.c -fplugin-arg-dragonegg-emit-ir | opt -adce $ clang *.s Regards Shahzad On Fri, Jun 8, 2012 at 9:10 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi Shahzad, > >
2012 Jun 08
0
[LLVMdev] How to use LLVM optimizations with clang
Hello Duncan On Fri, Jun 8, 2012 at 2:58 PM, Duncan Sands <baldrick at free.fr> wrote: > Hi Shahzad, > > >> I tried your method and it works fine. What would be the next step to >> produce the final executable? I have tried the following but it is >> producing an error >> >> $ gcc -fplugin=/path/to/dragonegg.so -S *.c >>
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
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
0
[LLVMdev] How to use LLVM optimizations with clang
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 see for ourselves. Ciao, Duncan. > > 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
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 07
0
[LLVMdev] How to use LLVM optimizations with clang
On Jun 7, 2012, at 10:59 AM, Abdul Wahid Memon wrote: > Hello everyone > > I am trying to use some LLVM optimizations like -die or -adce. Is it > possible to use them along clang? > > Or is there a way where these optimization can be passed on to "opt" > tool through clang, if opt is being used by clang behind the scenes? > No, opt only works on llvm
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
2
[LLVMdev] How to use LLVM optimizations with clang
Thanks again. I executed the following command line llc -O3 comb.ll.bc -debug-pass=Arguments and got Pass Arguments: -targetdata -targetpassconfig -no-aa -tbaa -targetlibinfo -basicaa -collector-metadata -machinemoduleinfo -machine-branch-prob -preverify -domtree -verify -loops -loop-simplify -scalar-evolution -loop-simplify -iv-users -loop-reduce -gc-lowering -unreachableblockelim
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
Thanks alot. How can we view those optimization which are enabled when we do llc -O3 comb.ll Are these the same as the ones produced by the following command line llvm-as < /dev/null | opt -O3 -disable-output -debug-pass=Arguments Regards Shahzad On Tue, Jun 12, 2012 at 1:01 PM, Duncan Sands <baldrick at free.fr> wrote: >> Yes. But how exactly code generation (optimized one)
2012 Jun 12
0
[LLVMdev] How to use LLVM optimizations with clang
Hi, > I executed the following command line > > llc -O3 comb.ll.bc -debug-pass=Arguments > > and got > > Pass Arguments: -targetdata -targetpassconfig -no-aa -tbaa > -targetlibinfo -basicaa -collector-metadata -machinemoduleinfo > -machine-branch-prob -preverify -domtree -verify -loops -loop-simplify > -scalar-evolution -loop-simplify -iv-users -loop-reduce
2012 Jun 12
0
[LLVMdev] How to use LLVM optimizations with clang
Hi, On 12/06/12 13:09, Abdul Wahid Memon wrote: > Thanks alot. How can we view those optimization which are enabled when we do > > llc -O3 comb.ll llc -O3 comb.ll -debug-pass=Arguments > > Are these the same as the ones produced by the following command line no, as I mentioned before they are of a completely different nature to the optimizations that opt does. Ciao, Duncan.