diff --git a/lang/src/son.rs b/lang/src/son.rs index 6066e558..0c9d3c36 100644 --- a/lang/src/son.rs +++ b/lang/src/son.rs @@ -1188,8 +1188,11 @@ impl Nodes { return Some(prev_store); } - if value != VOID - && self[target].inputs.len() == 4 + if let Some(&load) = + self[target].outputs.iter().find(|&&n| self[n].kind == Kind::Load) + { + self[load].peep_triggers.push(target); + } else if value != VOID && self[value].kind != Kind::Load && self[store].kind == Kind::Stre && self[store].inputs[2] == region