Skip to content

[llvm] What is LLVM used for? Where will we use it in the process of creating the compiler? #3

Description

@kandrio

LLVM is a framework that provides:

  1. A higher level assembly to use.
  2. A backend that executes the generated LLVM assembly code on your local machine.

We will write code in our AST.hpp, that includes LLVM libraries and uses the functions and objects provided by LLVM, in order to generate LLVM assembly code. We don't need to get our hands dirty directly with x86 assembly for example. We will "translate" each node of the AST to LLVM assembly, and then LLVM will care to compile that code to an executable that is specific to our local machine architecture.

Probably, LLVM should be our next step, right after we've completed our semantic analysis (#1).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions