pub struct SsaForm {
pub phi_nodes: HashMap<u32, Vec<u32>>,
pub renamed_usages: HashMap<u32, u32>,
pub def_use_chains: HashMap<u32, Vec<u32>>,
}Expand description
SSA construction result: phi placement, renamed uses, and def-use chains.
Fields§
§phi_nodes: HashMap<u32, Vec<u32>>Variables requiring phi nodes, keyed by block id.
renamed_usages: HashMap<u32, u32>SSA version chosen for each use node.
def_use_chains: HashMap<u32, Vec<u32>>Use nodes reachable from each SSA definition version.
Trait Implementations§
impl Eq for SsaForm
impl StructuralPartialEq for SsaForm
Auto Trait Implementations§
impl Freeze for SsaForm
impl RefUnwindSafe for SsaForm
impl Send for SsaForm
impl Sync for SsaForm
impl Unpin for SsaForm
impl UnsafeUnpin for SsaForm
impl UnwindSafe for SsaForm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.