Skip to content

Backend

Backend can mean many things. It can refer to the code generation or platform-dependent optimization phases of reference compiler. Alternatively, it can refer to the IR code or the process of compiling the IR code.

Backend Compiler

Backend compiler refers to your compiler that you use to compile IR codes. This compiler can be an officially supported compiler, or it can be a 3rd party compiler you prefer to use.

Default C++ Backend Compiler

Jule VersionWindowsmacOSLinux
Jule 0.0.13ClangClangClang
Jule 0.0.12ClangClangClang
Jule 0.0.11ClangClangClang
Jule 0.0.10ClangClangClang
Jule 0.0.9ClangClangClang
Jule 0.0.8ClangClangClang
Beta 0.0.7ClangClangClang
Beta 0.0.6ClangClangClang
Beta 0.0.5ClangClangClang
Beta 0.0.4ClangClangClang
Beta 0.0.3ClangClangClang
Beta 0.0.2GNU Compiler CollectionClangClang
Beta 0.0.1GNU Compiler CollectionClangClang

Intermediate Representation (IR)

Intermediate representation, aka IR, is a ready-to-compile representation that your compiler generates. This representation is a different form of the Jule source code you want to compile. It is mostly created for use by the backend-compiler for compilation.

IR code can also be used to observe what code your compiler is generating. For example, the generated IR code may be different when some optimizations are on or off. IR representations can be useful to examine these differences.