[−][src]Struct libfirm_rs::nodes::Confirm
Specifies constraints for a value. This allows explicit representation of path-sensitive properties. (Example: This value is always >= 0 on 1 if-branch then all users within that branch are rerouted to a confirm-node specifying this property).
A constraint is specified for the relation between value and bound. value is always returned. Note that this node does NOT check or assert the constraint, it merely specifies it.
Methods
impl Confirm
[src]
impl Confirm
pub fn value(self) -> Node
[src]
pub fn value(self) -> Node
Gets value to express a constraint for.
pub fn set_value(
self,
val: impl NodeTrait
)
[src]
pub fn set_value(
self,
val: impl NodeTrait
)
Sets value to express a constraint for.
pub fn bound(self) -> Node
[src]
pub fn bound(self) -> Node
Gets value to compare against.
pub fn set_bound(
self,
val: impl NodeTrait
)
[src]
pub fn set_bound(
self,
val: impl NodeTrait
)
Sets value to compare against.
pub fn relation(self) -> Type
[src]
pub fn relation(self) -> Type
Gets relation of value to bound.
pub fn set_relation(self, val: Type)
[src]
pub fn set_relation(self, val: Type)
Sets relation of value to bound.
Trait Implementations
impl NodeTrait for Confirm
[src]
impl NodeTrait for Confirm
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 Confirm
[src]
impl NodeDebug for Confirm
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 PartialEq<Confirm> for Confirm
[src]
impl PartialEq<Confirm> for Confirm
impl From<Confirm> for Node
[src]
impl From<Confirm> for Node
impl Clone for Confirm
[src]
impl Clone for Confirm
fn clone(&self) -> Confirm
[src]
fn clone(&self) -> Confirm
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 Confirm
[src]
impl Copy for Confirm
impl Eq for Confirm
[src]
impl Eq for Confirm
impl Debug for Confirm
[src]
impl Debug for Confirm
impl Hash for Confirm
[src]
impl Hash for Confirm
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