[−][src]Struct libfirm_rs::nodes::Shl
Returns its first operands bits shifted left by the amount of the 2nd operand. The right input (shift amount) must be an unsigned integer value. If the result mode has modulo_shift!=0, then the effective shift amount is the right input modulo this modulo_shift amount.
Methods
impl Shl[src]
impl Shlpub fn left(self) -> Node[src]
pub fn left(self) -> NodeGets first operand.
pub fn set_left(
self,
val: impl NodeTrait
)[src]
pub fn set_left(
self,
val: impl NodeTrait
)Sets first operand.
pub fn right(self) -> Node[src]
pub fn right(self) -> NodeGets second operand.
pub fn set_right(
self,
val: impl NodeTrait
)[src]
pub fn set_right(
self,
val: impl NodeTrait
)Sets second operand.
Trait Implementations
impl NodeTrait for Shl[src]
impl NodeTrait for Shlfn internal_ir_node(&self) -> *mut ir_node[src]
fn internal_ir_node(&self) -> *mut ir_nodefn as_node(&self) -> Node[src]
fn as_node(&self) -> Nodefn keep_alive(&self)[src]
fn keep_alive(&self)fn mode(&self) -> Mode[src]
fn mode(&self) -> Modefn block(&self) -> Block[src]
fn block(&self) -> Blockfn 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) -> OutNodeExIteratorfn 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) -> InNodeIteratorfn 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) -> i64fn is_pinned(&self) -> bool[src]
fn is_pinned(&self) -> boolfn is_commutative(&self) -> bool[src]
fn is_commutative(&self) -> boolfn is_only_valid_in_start_block(&self) -> bool[src]
fn is_only_valid_in_start_block(&self) -> boolfn graph(&self) -> Graph[src]
fn graph(&self) -> Graphfn 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 Shl[src]
impl NodeDebug for Shlfn fmt(&self, f: &mut Formatter, _opts: NodeDebugOpts) -> Result[src]
fn fmt(&self, f: &mut Formatter, _opts: NodeDebugOpts) -> Resultfn debug_fmt(self) -> NodeDebugFmt<Self> where
Self: Sized + Copy, [src]
fn debug_fmt(self) -> NodeDebugFmt<Self> where
Self: Sized + Copy, impl ValueNode for Shl[src]
impl ValueNode for Shlfn 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>) -> Tarvalimpl PartialEq<Shl> for Shl[src]
impl PartialEq<Shl> for Shlimpl From<Shl> for Node[src]
impl From<Shl> for Nodeimpl Clone for Shl[src]
impl Clone for Shlfn clone(&self) -> Shl[src]
fn clone(&self) -> Shlfn 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 Shl[src]
impl Copy for Shlimpl Eq for Shl[src]
impl Eq for Shlimpl Debug for Shl[src]
impl Debug for Shlimpl Hash for Shl[src]
impl Hash for ShlAuto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<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 Timpl<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