[−][src]Struct libfirm_rs::nodes::Shr
Returns its first operands bits shifted right by the amount of the 2nd operand. No special handling for the sign bit is performed (zero extension). 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 Shr[src]
impl Shrpub 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 Shr[src]
impl NodeTrait for Shrfn 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 Shr[src]
impl NodeDebug for Shrfn 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 Shr[src]
impl ValueNode for Shrfn 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<Shr> for Shr[src]
impl PartialEq<Shr> for Shrimpl From<Shr> for Node[src]
impl From<Shr> for Nodeimpl Clone for Shr[src]
impl Clone for Shrfn clone(&self) -> Shr[src]
fn clone(&self) -> Shrfn 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 Shr[src]
impl Copy for Shrimpl Eq for Shr[src]
impl Eq for Shrimpl Debug for Shr[src]
impl Debug for Shrimpl Hash for Shr[src]
impl Hash for ShrAuto 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