peepmatic-souper: Clean up souper-to-peepmatic name conversion

This commit is contained in:
Nick Fitzgerald
2020-09-11 14:20:40 -07:00
parent fa6db181a2
commit 39600437d9

View File

@@ -105,7 +105,7 @@ fn convert_lhs(statements: &ast::Arena<ast::Statement>, lhs: ast::ValueId) -> Op
let mut lhs = format!("(when {}", pattern); let mut lhs = format!("(when {}", pattern);
for (name, width) in tys { for (name, width) in tys {
lhs.push_str("\n "); lhs.push_str("\n ");
lhs.push_str(&format!("(bit-width ${} {})", name, width)); lhs.push_str(&format!("(bit-width {} {})", name, width));
} }
lhs.push(')'); lhs.push(')');
lhs lhs
@@ -115,11 +115,11 @@ fn convert_lhs(statements: &ast::Arena<ast::Statement>, lhs: ast::ValueId) -> Op
fn convert_name(name: &str) -> String { fn convert_name(name: &str) -> String {
debug_assert!(name.starts_with('%')); debug_assert!(name.starts_with('%'));
debug_assert!(name.len() >= 2); debug_assert!(name.len() >= 2);
let c = name.chars().nth(1).unwrap(); let c = name.as_bytes()[1];
if 'a' <= c && c <= 'z' { if b'a' <= c && c <= b'z' {
name[1..].to_string() format!("${}", &name[1..])
} else { } else {
format!("v{}", &name[1..]) format!("$v{}", &name[1..])
} }
} }
@@ -172,7 +172,7 @@ fn convert_operand(
} }
} }
} }
Some(format!("${}", convert_name(&assn.name))) Some(format!("{}", convert_name(&assn.name)))
} }
ast::AssignmentRhs::Constant(c) => Some(format!("{}", c.value)), ast::AssignmentRhs::Constant(c) => Some(format!("{}", c.value)),
ast::AssignmentRhs::Instruction(inst) => match inst { ast::AssignmentRhs::Instruction(inst) => match inst {