stage2: implement register allocation in LLVM self-hosted backend

A HashMap has been added which store the LLVM values used in a function.
Together with the alloc and store instructions the following now works:
```
export fn _start() noreturn {
    var x: bool = true;
    exit();
}

fn exit() noreturn {
    unreachable;
}
```
19cfd310b0Timon Kruiper committed on 1/3/2021, 4:23:30 PMparenta5dab15
2 files changedLine totals unavailable