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
jule0.1.0ClangClangClang
jule0.0.15ClangClangClang
jule0.0.14ClangClangClang
jule0.0.13ClangClangClang
jule0.0.12ClangClangClang
jule0.0.11ClangClangClang
jule0.0.10ClangClangClang
jule0.0.9ClangClangClang
jule0.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.