inline loading of values into registers into mir.rs
This commit is contained in:
parent
9b484ce175
commit
9d85eb1428
|
@ -1392,13 +1392,6 @@ impl<'a> MirBuilder<'a> {
|
|||
let unalignment = ty.mir_unalignment();
|
||||
let ty = ty.mir_type();
|
||||
|
||||
let const_lhs = self.ir.ir.nodes[src as usize].is_constant();
|
||||
let lhs = if const_lhs {
|
||||
mir.gen_load_const(ty, src)
|
||||
} else {
|
||||
lhs
|
||||
};
|
||||
|
||||
let sum = mir.gen_sub(ty, lhs, rhs);
|
||||
if let Some((signed, bits)) = unalignment {
|
||||
mir.gen_truncate(sum, ty, signed, bits)
|
||||
|
@ -1413,12 +1406,6 @@ impl<'a> MirBuilder<'a> {
|
|||
let signed = ty.is_signed();
|
||||
let ty = ty.mir_type();
|
||||
|
||||
let (lhs, rhs) = if self.ir.ir.nodes[lhs as usize].is_constant() {
|
||||
(rhs, lhs)
|
||||
} else {
|
||||
(lhs, rhs)
|
||||
};
|
||||
|
||||
let lhs = *mapping.get(&lhs).unwrap();
|
||||
let rhs = *mapping.get(&rhs).unwrap();
|
||||
|
||||
|
@ -1436,12 +1423,6 @@ impl<'a> MirBuilder<'a> {
|
|||
let signed = ty.is_signed();
|
||||
let ty = ty.mir_type();
|
||||
|
||||
let lhs = if self.ir.ir.nodes[lhs as usize].is_constant() {
|
||||
mir.gen_load_const(ty, lhs)
|
||||
} else {
|
||||
lhs
|
||||
};
|
||||
|
||||
let lhs = *mapping.get(&lhs).unwrap();
|
||||
let rhs = *mapping.get(&rhs).unwrap();
|
||||
|
||||
|
@ -1459,12 +1440,6 @@ impl<'a> MirBuilder<'a> {
|
|||
let signed = ty.is_signed();
|
||||
let ty = ty.mir_type();
|
||||
|
||||
let lhs = if self.ir.ir.nodes[lhs as usize].is_constant() {
|
||||
mir.gen_load_const(ty, lhs)
|
||||
} else {
|
||||
lhs
|
||||
};
|
||||
|
||||
let lhs = *mapping.get(&lhs).unwrap();
|
||||
let rhs = *mapping.get(&rhs).unwrap();
|
||||
|
||||
|
@ -1546,6 +1521,7 @@ impl<'a> MirBuilder<'a> {
|
|||
let lhs = *mapping.get(&src).unwrap();
|
||||
let rhs = *mapping.get(&dst).unwrap();
|
||||
|
||||
// TODO: check rhs type and pass it to gen_sh{l,r}?
|
||||
match ty {
|
||||
Type2::Integral(signed, bits) => match bits {
|
||||
8 => mir.gen_shl(mir::Type::Byte, lhs, rhs),
|
||||
|
@ -1604,12 +1580,6 @@ impl<'a> MirBuilder<'a> {
|
|||
let unalignment = ty.mir_unalignment();
|
||||
let ty = ty.mir_type();
|
||||
|
||||
let lhs = if self.ir.ir.nodes[lhs as usize].is_constant() {
|
||||
mir.gen_load_const(ty, lhs)
|
||||
} else {
|
||||
lhs
|
||||
};
|
||||
|
||||
let lhs = *mapping.get(&lhs).unwrap();
|
||||
|
||||
let sum = mir.gen_negate(ty, lhs);
|
||||
|
@ -1680,6 +1650,7 @@ fn inverse_sqrt(x: f32) -> f32 {
|
|||
|
||||
let mut tree = Tree::new();
|
||||
tree.parse(tokens.iter()).unwrap();
|
||||
tree.fold_comptime();
|
||||
|
||||
let mut buf = String::new();
|
||||
tree.render(&mut buf).unwrap();
|
||||
|
|
Loading…
Reference in a new issue