pub struct BlockCall {
pub block: Block,
pub args: ValueList,
pub hint: Hint,
}Expand description
A branch target, and the values passed to it.
This is the whole reason there are no phi nodes. The arguments are here, in the branch, beside the block they go to, so removing a predecessor is one edit in one place and there is no second list anywhere that has to be kept in step with this one.
The hint is here for the same reason and not on the instruction: a branch has as many arms as it has block calls, and a weight held anywhere else would be a second list to keep in step with this one.
Fields§
§block: BlockWhere control goes.
args: ValueListWhat is passed, one for each of the block’s parameters.
hint: HintHow often this arm is the one taken, where something said so.
Implementations§
Trait Implementations§
impl Copy for BlockCall
impl Eq for BlockCall
impl StructuralPartialEq for BlockCall
Auto Trait Implementations§
impl Freeze for BlockCall
impl RefUnwindSafe for BlockCall
impl Send for BlockCall
impl Sync for BlockCall
impl Unpin for BlockCall
impl UnsafeUnpin for BlockCall
impl UnwindSafe for BlockCall
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more