Inlined function calls

This commit is contained in:
Yogish Sekhar 2026-07-09 11:26:23 +01:00
parent 2e1ef6c854
commit d1bb60f47a
1 changed files with 3 additions and 7 deletions

View File

@ -988,15 +988,11 @@ class FsmDetectVisitor final : public VNVisitor {
return assp;
}
static AstVarRef* extractVarRefQuiet(AstNodeExpr* const exprp) {
return VN_CAST(AstArraySel::baseFromp(exprp, true), VarRef);
}
static AstNodeAssign* nodeStateVarAssign(AstNode* nodep, AstVarScope*& stateVscp,
AstVarScope*& fromVscp) {
AstNodeAssign* const assp = VN_CAST(nodep, NodeAssign);
if (!assp) return nullptr;
AstVarRef* const lhsp = extractVarRefQuiet(assp->lhsp());
AstVarRef* const lhsp = VN_CAST(AstArraySel::baseFromp(assp->lhsp(), true), VarRef);
AstVarRef* const rhsp = VN_CAST(assp->rhsp(), VarRef);
if (!rhsp || !lhsp) return nullptr;
stateVscp = lhsp->varScopep();
@ -1010,7 +1006,7 @@ class FsmDetectVisitor final : public VNVisitor {
FsmStateValue& resetValue) {
AstNodeAssign* const assp = VN_CAST(nodep, NodeAssign);
if (!assp) return nullptr;
AstVarRef* const lhsp = extractVarRefQuiet(assp->lhsp());
AstVarRef* const lhsp = VN_CAST(AstArraySel::baseFromp(assp->lhsp(), true), VarRef);
AstCond* const rhsp = VN_CAST(assp->rhsp(), Cond);
if (!rhsp || !lhsp) return nullptr;
if (AstVarRef* const elsep = VN_CAST(rhsp->elsep(), VarRef)) {
@ -1222,7 +1218,7 @@ class FsmDetectVisitor final : public VNVisitor {
AstVarRef* vrefp = VN_CAST(eqp->lhsp(), VarRef);
AstNodeExpr* valuep = eqp->rhsp();
if (!vrefp) {
vrefp = extractVarRefQuiet(eqp->rhsp());
vrefp = VN_CAST(AstArraySel::baseFromp(eqp->rhsp(), true), VarRef);
if (!vrefp) { return false; }
valuep = eqp->lhsp();
}