message: Fix `ir_reader` handling of `mem` "register"
diff: @@ -281,6 +281,10 @@ impl<'a> LowerSsa<'a> {
  }
  fn index_of_reg(&self, sreg: &sast::PhysReg) -> Result<u8> {
  + if sreg.0 == "mem" {
  + // we already checked that `regnames.len() < u8::max_value()`
  + Ok(self.regnames.len() as u8)
  + } else {
  // TODO: more efficient as a HashMap<Reg, u8>?
  if let Some(x) = self.regnames.iter().position(|r| r == sreg) {
  // we already checked that `regnames.len() < u8::max_value()`
  @@ -293,6 +297,7 @@ impl<'a> LowerSsa<'a> {
  }
  }
  }
  +}
  fn lower_infix_op(siop: sast::InfixOp) -> IrOpcode {
  match siop {
  