Re: Looking into LLVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/28/2009 06:24 AM, Kevin Kofler wrote:
Jud Craft wrote:

On Mon, Oct 26, 2009 at 12:31 PM, Kevin Kofler wrote:
But this is about C++.

I don't mean to misunderstand, but if I recall from your very first
post in this thread...

Actually, the ABI issue is only if you use the C code generator, not the
native ones.

Hence I thought you were talking about ABI issues with C.

You misunderstood me. The C code generator is an LLVM *back*end, not a
frontend. The frontend is what recognizes the input language, the backend is
what defines the output LLVM generates.

I'm not up on how LLVM frontend integration works, so I actually don't
understand the distinction between "the LLVM C Backend" and "the
native LLVM backends".

LLVM can either directly output machine code (native backend) for some
architectures or it can output preoptimized C code (especially for those
architectures which don't have a native backend). The latter is what the "C
code generator" or "C backend" does.

clang and all other LLVM language front-ends produce "bitcode", which is virtualized machine code a la JVM. LLVM backend generates processor-dependent machine code from processor-independent machine code.

The LLVM C __backend__ converts bitcode back into C... something no idiot in their right mind would use for C++ or anything else. The LLVM C backend is not commonly used.

The vast, vast majority of people trying to compile C++ programs with LLVM would either use
	clang -> llvm -> asm code
		or
	llvm-gcc -> llvm -> asm code

Certainly not
	Clang (C++) → LLVM → LLVM C backend → gcc [-> asm code]

Regards,

	Jeff



--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux