Iteratively split EBB arguments.
When the legalizer splits a value into halves, it would previously stop if the value was an EBB argument. With this change, we also split EBB arguments and iteratively split arguments on branches to the EBB. The iterative splitting stops when we hit the entry block arguments or an instruction that isn't one of the concatenation instructions.
This commit is contained in:
@@ -588,7 +588,8 @@ impl<'f> DoubleEndedIterator for Insts<'f> {
|
||||
/// When new instructions are added, the cursor can either append them to an EBB or insert them
|
||||
/// before the current instruction.
|
||||
pub struct Cursor<'f> {
|
||||
layout: &'f mut Layout,
|
||||
/// Borrowed function layout. Public so it can be re-borrowed from this cursor.
|
||||
pub layout: &'f mut Layout,
|
||||
pos: CursorPosition,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user