[LLVMdev] llvm-gcc and -emit-llvm

Dale Johannesen dalej at apple.com
Tue Jun 10 15:34:00 PDT 2008


I'm interested in cleaning up the documentation for this, but it is in  
4 different formats.
 From the makefile it looks like the .pod is the master.  Do I need to  
do anything special
after changing this to get it propagated elsewhere?

On Jun 9, 2008, at 12:52 PMPDT, Dale Johannesen wrote:
> On Jun 9, 2008, at 11:32 AM, Jonathan Turner wrote:
>> Just thought I'd mention this to keep other people from stubbing  
>> their toes on it...
>>
>> Using llvm-gcc/llvm-g++ and -emit-llvm, you need to make sure to  
>> pass -S as well, like so:
>>
>> ./llvm-g++ -S -emit-llvm hello.cpp
>>
>> not: /llvm-g++ -emit-llvm hello.cpp
>>
>> I'm sure that's old news to most of the people on the list, but I  
>> thought it couldn't hurt to mention it in case other people happen  
>> upon it.
>>
>> A question might be, can the -emit-llvm emit the llvm first before  
>> it goes into the linking phase?  That way the users can at least  
>> get something on the screen of what they're looking for, or maybe a  
>> warning saying "to emit llvm, you need to pass the -S flag"?
>
> The flag usage follows standard Unix practice:  without -S or -c,  
> the end result is an executable; with one of those flags,  
> compilation stops earlier.  -c -emit-llvm will produce llvm IR in  
> its binary format (suitable for feeding into llc).
>
> It seems clear the current interface can be confusing; you are not  
> the first.  Perhaps -emit-llvm should be renamed to indicate it does  
> not necessarily result in emitting llvm IR?
> -output-format-llvm?  Seems pretty ugly, maybe someone can do better.




More information about the llvm-dev mailing list