[−][src]Struct libfirm_rs::nodes::Load
Loads a value from memory (heap or stack).
Methods
impl Load
[src]
impl Load
pub fn mem(self) -> Node
[src]
pub fn mem(self) -> Node
Gets memory dependency.
pub fn set_mem(
self,
val: impl NodeTrait
)
[src]
pub fn set_mem(
self,
val: impl NodeTrait
)
Sets memory dependency.
pub fn ptr(self) -> Node
[src]
pub fn ptr(self) -> Node
Gets address to load from.
pub fn set_ptr(
self,
val: impl NodeTrait
)
[src]
pub fn set_ptr(
self,
val: impl NodeTrait
)
Sets address to load from.
pub fn mode(self) -> Mode
[src]
pub fn mode(self) -> Mode
Gets mode of the value to be loaded.
pub fn set_mode(self, val: Mode)
[src]
pub fn set_mode(self, val: Mode)
Sets mode of the value to be loaded.
pub fn ty(self) -> Ty
[src]
pub fn ty(self) -> Ty
Gets The type of the object which is stored at ptr (need not match with mode).
pub fn set_ty(self, val: Ty)
[src]
pub fn set_ty(self, val: Ty)
Sets The type of the object which is stored at ptr (need not match with mode).
pub fn volatility(self) -> Type
[src]
pub fn volatility(self) -> Type
Gets volatile loads are a visible side-effect and may not be optimized.
pub fn set_volatility(self, val: Type)
[src]
pub fn set_volatility(self, val: Type)
Sets volatile loads are a visible side-effect and may not be optimized.
pub fn unaligned(self) -> Type
[src]
pub fn unaligned(self) -> Type
Gets pointers to unaligned loads don't need to respect the load-mode/type alignments.
pub fn set_unaligned(self, val: Type)
[src]
pub fn set_unaligned(self, val: Type)
Sets pointers to unaligned loads don't need to respect the load-mode/type alignments.
pub fn new_proj_m(self) -> Proj
[src]
pub fn new_proj_m(self) -> Proj
memory result.
pub fn new_proj_res(self, mode: Mode) -> Proj
[src]
pub fn new_proj_res(self, mode: Mode) -> Proj
result of load operation.
pub fn new_proj_x_regular(self) -> Proj
[src]
pub fn new_proj_x_regular(self) -> Proj
control flow when no exception occurs.
pub fn new_proj_x_except(self) -> Proj
[src]
pub fn new_proj_x_except(self) -> Proj
control flow when exception occurred.
pub fn out_proj_m(self) -> Option<Proj>
[src]
pub fn out_proj_m(self) -> Option<Proj>
memory result.
pub fn out_proj_res(self) -> Option<Proj>
[src]
pub fn out_proj_res(self) -> Option<Proj>
result of load operation.
pub fn out_proj_x_regular(self) -> Option<Proj>
[src]
pub fn out_proj_x_regular(self) -> Option<Proj>
control flow when no exception occurs.
pub fn out_proj_x_except(self) -> Option<Proj>
[src]
pub fn out_proj_x_except(self) -> Option<Proj>
control flow when exception occurred.
Trait Implementations
impl NodeTrait for Load
[src]
impl NodeTrait for Load
fn internal_ir_node(&self) -> *mut ir_node
[src]
fn internal_ir_node(&self) -> *mut ir_node
fn as_node(&self) -> Node
[src]
fn as_node(&self) -> Node
fn keep_alive(&self)
[src]
fn keep_alive(&self)
fn mode(&self) -> Mode
[src]
fn mode(&self) -> Mode
fn block(&self) -> Block
[src]
fn block(&self) -> Block
fn set_block(&self, block: Block)
[src]
fn set_block(&self, block: Block)
ⓘImportant traits for OutNodeIteratorfn out_nodes(&self) -> OutNodeIterator
[src]
fn out_nodes(&self) -> OutNodeIterator
ⓘImportant traits for OutNodeExIteratorfn out_nodes_ex(&self) -> OutNodeExIterator
[src]
fn out_nodes_ex(&self) -> OutNodeExIterator
fn all_out_projs(&self) -> Vec<Proj>
[src]
fn all_out_projs(&self) -> Vec<Proj>
fn collect_all_out_projs(&self, projs: &mut Vec<Proj>)
[src]
fn collect_all_out_projs(&self, projs: &mut Vec<Proj>)
ⓘImportant traits for InNodeIteratorfn in_nodes(&self) -> InNodeIterator
[src]
fn in_nodes(&self) -> InNodeIterator
fn set_input_at(&self, idx: i32, pred: Node)
[src]
fn set_input_at(&self, idx: i32, pred: Node)
fn set_in_nodes(&self, nodes: &[Node])
[src]
fn set_in_nodes(&self, nodes: &[Node])
fn node_id(&self) -> i64
[src]
fn node_id(&self) -> i64
fn is_pinned(&self) -> bool
[src]
fn is_pinned(&self) -> bool
fn is_commutative(&self) -> bool
[src]
fn is_commutative(&self) -> bool
fn is_only_valid_in_start_block(&self) -> bool
[src]
fn is_only_valid_in_start_block(&self) -> bool
fn graph(&self) -> Graph
[src]
fn graph(&self) -> Graph
fn walk<F>(&self, walker: F) where
F: FnMut(VisitTime, Node),
Self: Sized,
[src]
fn walk<F>(&self, walker: F) where
F: FnMut(VisitTime, Node),
Self: Sized,
libifrm irg_walk wrapper Read more
fn walk_dfs_in_block_stop_at_phi_node<Callback>(
&self,
block: Block,
callback: &mut Callback
) where
Callback: FnMut(Node),
Self: Sized,
[src]
fn walk_dfs_in_block_stop_at_phi_node<Callback>(
&self,
block: Block,
callback: &mut Callback
) where
Callback: FnMut(Node),
Self: Sized,
Perform a DFS over all nodes within block
starting at self
. As soon as a Phi node is reached, that branch of the DFS is canceled. There is no callback for a Phi node. The primary use case for this API is in codegen. Read more
impl NodeDebug for Load
[src]
impl NodeDebug for Load
fn fmt(&self, f: &mut Formatter, opts: NodeDebugOpts) -> Result
[src]
fn fmt(&self, f: &mut Formatter, opts: NodeDebugOpts) -> Result
fn debug_fmt(self) -> NodeDebugFmt<Self> where
Self: Sized + Copy,
[src]
fn debug_fmt(self) -> NodeDebugFmt<Self> where
Self: Sized + Copy,
impl ValueNode for Load
[src]
impl ValueNode for Load
fn value_nodes(&self) -> Vec<Box<dyn ValueNode>>
[src]
fn value_nodes(&self) -> Vec<Box<dyn ValueNode>>
fn compute(&self, values: Vec<Tarval>) -> Tarval
[src]
fn compute(&self, values: Vec<Tarval>) -> Tarval
impl PartialEq<Load> for Load
[src]
impl PartialEq<Load> for Load
impl From<Load> for Node
[src]
impl From<Load> for Node
impl Clone for Load
[src]
impl Clone for Load
fn clone(&self) -> Load
[src]
fn clone(&self) -> Load
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for Load
[src]
impl Copy for Load
impl Eq for Load
[src]
impl Eq for Load
impl Debug for Load
[src]
impl Debug for Load
impl Hash for Load
[src]
impl Hash for Load
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId