[LLVMdev] O3 passes
Ryan M. Lefever
lefever at crhc.illinois.edu
Tue Apr 28 01:32:38 PDT 2009
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 --help and didn't see
-fdisable-llvm-optzns or anything similar. Do you know what might be
going on?
Thanks,
Ryan
Duncan Sands wrote:
> 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 this:
> llvm-gcc -c -o - -O1 my_proc.c -emit-llvm -mllvm --disable-llvm-optzns | opt list_of_passes
> Passing -O1 to llvm-gcc means that gcc will perform constant folding and
> some other small optimizations. Passing -emit-llvm means that LLVM bitcode
> is produced, suitable for piping to opt. -mllvm --disable-llvm-optzns means
> that the LLVM optimizers will not be run.
>
> Ciao,
>
> Duncan.
More information about the llvm-dev
mailing list