Inlined function calls
This commit is contained in:
parent
2e1ef6c854
commit
d1bb60f47a
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue