peepmatic-souper: Clean up souper-to-peepmatic name conversion
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user