[LLVMdev] llvm-gcc and -emit-llvm
dalej at apple.com
Mon Jun 9 12:52:29 PDT 2008
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