mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-21 20:18:06 +02:00
refactor(ssa): streamline operand iteration and formatting in ssa_transfer module
This commit is contained in:
parent
5615074177
commit
4c824ed543
2 changed files with 4 additions and 5 deletions
|
|
@ -5763,8 +5763,7 @@ pub(super) fn transfer_inst(
|
||||||
for &u in uses {
|
for &u in uses {
|
||||||
if state.get(u).is_some() {
|
if state.get(u).is_some() {
|
||||||
saw_tainted = true;
|
saw_tainted = true;
|
||||||
let (am, av) =
|
let (am, av) = ssa_value_validated_bits(u, ssa, transfer.interner, state);
|
||||||
ssa_value_validated_bits(u, ssa, transfer.interner, state);
|
|
||||||
tainted_must_all &= am;
|
tainted_must_all &= am;
|
||||||
tainted_may_any |= av;
|
tainted_may_any |= av;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,9 @@ fn rv_traces_to_constant(
|
||||||
}
|
}
|
||||||
Some(SsaOp::Phi(operands)) => {
|
Some(SsaOp::Phi(operands)) => {
|
||||||
!operands.is_empty()
|
!operands.is_empty()
|
||||||
&& operands
|
&& operands.iter().all(|(_, u)| {
|
||||||
.iter()
|
rv_traces_to_constant(ssa, *u, all_param_values, depth + 1, budget)
|
||||||
.all(|(_, u)| rv_traces_to_constant(ssa, *u, all_param_values, depth + 1, budget))
|
})
|
||||||
}
|
}
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue