Mass rename Ebb and relatives to Block (#1365)
* Manually rename BasicBlock to BlockPredecessor BasicBlock is a pair of (Ebb, Inst) that is used to represent the basic block subcomponent of an Ebb that is a predecessor to an Ebb. Eventually we will be able to remove this struct, but for now it makes sense to give it a non-conflicting name so that we can start to transition Ebb to represent a basic block. I have not updated any comments that refer to BasicBlock, as eventually we will remove BlockPredecessor and replace with Block, which is a basic block, so the comments will become correct. * Manually rename SSABuilder block types to avoid conflict SSABuilder has its own Block and BlockData types. These along with associated identifier will cause conflicts in a later commit, so they are renamed to be more verbose here. * Automatically rename 'Ebb' to 'Block' in *.rs * Automatically rename 'EBB' to 'block' in *.rs * Automatically rename 'ebb' to 'block' in *.rs * Automatically rename 'extended basic block' to 'basic block' in *.rs * Automatically rename 'an basic block' to 'a basic block' in *.rs * Manually update comment for `Block` `Block`'s wikipedia article required an update. * Automatically rename 'an `Block`' to 'a `Block`' in *.rs * Automatically rename 'extended_basic_block' to 'basic_block' in *.rs * Automatically rename 'ebb' to 'block' in *.clif * Manually rename clif constant that contains 'ebb' as substring to avoid conflict * Automatically rename filecheck uses of 'EBB' to 'BB' 'regex: EBB' -> 'regex: BB' '$EBB' -> '$BB' * Automatically rename 'EBB' 'Ebb' to 'block' in *.clif * Automatically rename 'an block' to 'a block' in *.clif * Fix broken testcase when function name length increases Test function names are limited to 16 characters. This causes the new longer name to be truncated and fail a filecheck test. An outdated comment was also fixed.
This commit is contained in:
@@ -4,7 +4,7 @@ use alloc::vec::Vec;
|
||||
use core::fmt::{Display, Formatter, Result, Write};
|
||||
|
||||
use crate::entity::SecondaryMap;
|
||||
use crate::flowgraph::{BasicBlock, ControlFlowGraph};
|
||||
use crate::flowgraph::{BlockPredecessor, ControlFlowGraph};
|
||||
use crate::ir::Function;
|
||||
use crate::write::{FuncWriter, PlainWriter};
|
||||
|
||||
@@ -27,7 +27,7 @@ impl<'a> CFGPrinter<'a> {
|
||||
/// Write the CFG for this function to `w`.
|
||||
pub fn write(&self, w: &mut dyn Write) -> Result {
|
||||
self.header(w)?;
|
||||
self.ebb_nodes(w)?;
|
||||
self.block_nodes(w)?;
|
||||
self.cfg_connections(w)?;
|
||||
writeln!(w, "}}")
|
||||
}
|
||||
@@ -40,7 +40,7 @@ impl<'a> CFGPrinter<'a> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn ebb_nodes(&self, w: &mut dyn Write) -> Result {
|
||||
fn block_nodes(&self, w: &mut dyn Write) -> Result {
|
||||
let mut aliases = SecondaryMap::<_, Vec<_>>::new();
|
||||
for v in self.func.dfg.values() {
|
||||
// VADFS returns the immediate target of an alias
|
||||
@@ -49,11 +49,11 @@ impl<'a> CFGPrinter<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
for ebb in &self.func.layout {
|
||||
write!(w, " {} [shape=record, label=\"{{", ebb)?;
|
||||
crate::write::write_ebb_header(w, self.func, None, ebb, 4)?;
|
||||
for block in &self.func.layout {
|
||||
write!(w, " {} [shape=record, label=\"{{", block)?;
|
||||
crate::write::write_block_header(w, self.func, None, block, 4)?;
|
||||
// Add all outgoing branch instructions to the label.
|
||||
for inst in self.func.layout.ebb_insts(ebb) {
|
||||
for inst in self.func.layout.block_insts(block) {
|
||||
write!(w, " | <{}>", inst)?;
|
||||
PlainWriter.write_instruction(w, self.func, &aliases, None, inst, 0)?;
|
||||
}
|
||||
@@ -63,9 +63,13 @@ impl<'a> CFGPrinter<'a> {
|
||||
}
|
||||
|
||||
fn cfg_connections(&self, w: &mut dyn Write) -> Result {
|
||||
for ebb in &self.func.layout {
|
||||
for BasicBlock { ebb: parent, inst } in self.cfg.pred_iter(ebb) {
|
||||
writeln!(w, " {}:{} -> {}", parent, inst, ebb)?;
|
||||
for block in &self.func.layout {
|
||||
for BlockPredecessor {
|
||||
block: parent,
|
||||
inst,
|
||||
} in self.cfg.pred_iter(block)
|
||||
{
|
||||
writeln!(w, " {}:{} -> {}", parent, inst, block)?;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user