MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / ssa_bind_value

Method ssa_bind_value

src/analysis/dfa.rs:579–585  ·  view source on GitHub ↗

bind the value into var with Static-Single-Assignment (SSA) form. The old var is renamed and the new value stores in the new var.

(&mut self, var: VarName, sym: Symbol<T>)

Source from the content-addressed store, hash-verified

577 /// bind the value into var with Static-Single-Assignment (SSA) form.
578 /// The old var is renamed and the new value stores in the new var.
579 pub fn ssa_bind_value(&mut self, var: VarName, sym: Symbol<T>) -> Result<()> {
580 let old_var = self.new_ssa_var(&var)?;
581 let old_value = self.get_bind(&var).unwrap_or(sym.clone());
582 self.bind_value(old_var, old_value)?;
583 self.bind_value(var, sym)?;
584 Ok(())
585 }
586
587 /// the ssa_id of old var is increased, the var is used as new var.
588 pub fn new_ssa_var(&self, var: &VarName) -> Result<VarName> {

Callers 4

adg_precallMethod · 0.80
fdsan_precallFunction · 0.80
visit_binary_operatorMethod · 0.80
get_rvalueMethod · 0.80

Calls 3

new_ssa_varMethod · 0.80
get_bindMethod · 0.80
bind_valueMethod · 0.80

Tested by

no test coverage detected