O'Reilly logo

Getting Started with LLVM Core Libraries by Rafael Auler, Bruno Cardoso Lopes

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. The Backend

The backend is comprised of the set of code generation analysis and transform passes that converts the LLVM intermediate representation (IR) into object code (or assembly). LLVM supports a wide range of targets: ARM, AArch64, Hexagon, MSP430, MIPS, Nvidia PTX, PowerPC, R600, SPARC, SystemZ, X86, and XCore. All these backends share a common interface, which is part of the target-independent code generator, abstracting away the backend tasks by means of a generic API. Each target must specialize the code generator generic classes to implement target-specific behavior. In this chapter, we will cover many general aspects about an LLVM backend that are useful for readers interested in writing a new backend, maintaining an existing ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required