fixes, rewrote liveness gen a bit
This commit is contained in:
parent
9f0e2c4a31
commit
70644ede3e
|
@ -314,6 +314,11 @@ impl Register {
|
|||
[r12, r13, r14, r15, rbx]
|
||||
};
|
||||
|
||||
pub const SYSV_SCRATCH_GPRS: [Register; 8] = {
|
||||
use Register::*;
|
||||
[rax, rsi, rdx, rcx, r8, r9, r10, r11]
|
||||
};
|
||||
|
||||
pub const GPR: [Register; 14] = {
|
||||
use Register::*;
|
||||
[
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use std::{io::Read, path::PathBuf};
|
||||
|
||||
use clap::{Arg, Command};
|
||||
use clap::Command;
|
||||
use compiler::{
|
||||
lexer::Tokenizer,
|
||||
parser::Tree,
|
||||
|
|
1257
src/mir.rs
1257
src/mir.rs
File diff suppressed because it is too large
Load diff
|
@ -82,6 +82,7 @@ impl Nodes {
|
|||
self.push_tag(Tag::Undefined)
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn swap_nodes(&mut self, lhs: Node, rhs: Node) {
|
||||
self.inner.swap(lhs.get() as usize, rhs.get() as usize);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
fn inverse_sqrt(n: f32) -> f32 {
|
||||
let x = n;
|
||||
var i = *(&x as *i32);
|
||||
i = 0x5f3759dfi32 - (i >> 1u8);
|
||||
i = 0x5f3759dfi32 - (i >> 1);
|
||||
let y = *(&i as *f32);
|
||||
y * (1.5f32 - (x * 0.5f32 * y * y))
|
||||
}
|
Loading…
Reference in a new issue