diff --git a/src/V3EmitCFunc.cpp b/src/V3EmitCFunc.cpp
index 059e64c65..128c70351 100644
--- a/src/V3EmitCFunc.cpp
+++ b/src/V3EmitCFunc.cpp
@@ -36,15 +36,9 @@ bool EmitCFunc::emitSimpleOk(AstNodeExpr* nodep) {
// Can we put out a simple (A + B) instead of VL_ADD_III(A,B)?
if (nodep->emitSimpleOperator() == "") return false;
if (nodep->isWide()) return false;
- if (nodep->op1p()) {
- if (nodep->op1p()->isWide()) return false;
- }
- if (nodep->op2p()) {
- if (nodep->op2p()->isWide()) return false;
- }
- if (nodep->op3p()) {
- if (nodep->op3p()->isWide()) return false;
- }
+ if (nodep->op1p() && nodep->op1p()->isWide()) return false;
+ if (nodep->op2p() && nodep->op2p()->isWide()) return false;
+ if (nodep->op3p() && nodep->op3p()->isWide()) return false;
return true;
}
diff --git a/src/V3EmitXml.cpp b/src/V3EmitXml.cpp
index db6ec800f..c3ac43da1 100644
--- a/src/V3EmitXml.cpp
+++ b/src/V3EmitXml.cpp
@@ -117,13 +117,13 @@ class EmitXmlFileVisitor final : public VNVisitor {
void visit(AstNodeIf* nodep) override {
outputTag(nodep, "if");
puts(">\n");
- iterateAndNextNull(nodep->op1p());
+ iterateAndNextNull(nodep->condp());
puts("\n");
- iterateAndNextNull(nodep->op2p());
+ iterateAndNextNull(nodep->thensp());
puts("\n");
- if (nodep->op3p()) {
+ if (nodep->elsesp()) {
puts("\n");
- iterateAndNextNull(nodep->op3p());
+ iterateAndNextNull(nodep->elsesp());
puts("\n");
}
puts("\n");
@@ -132,21 +132,21 @@ class EmitXmlFileVisitor final : public VNVisitor {
outputTag(nodep, "while");
puts(">\n");
puts("\n");
- iterateAndNextNull(nodep->op1p());
+ iterateAndNextNull(nodep->precondsp());
puts("\n");
- if (nodep->op2p()) {
+ if (nodep->condp()) {
puts("\n");
- iterateAndNextNull(nodep->op2p());
+ iterateAndNextNull(nodep->condp());
puts("\n");
}
- if (nodep->op3p()) {
+ if (nodep->stmtsp()) {
puts("\n");
- iterateAndNextNull(nodep->op3p());
+ iterateAndNextNull(nodep->stmtsp());
puts("\n");
}
- if (nodep->op4p()) {
+ if (nodep->incsp()) {
puts("\n");
- iterateAndNextNull(nodep->op4p());
+ iterateAndNextNull(nodep->incsp());
puts("\n");
}
puts("\n");
diff --git a/src/V3Param.cpp b/src/V3Param.cpp
index f3e4b5037..969ec8e30 100644
--- a/src/V3Param.cpp
+++ b/src/V3Param.cpp
@@ -1098,8 +1098,8 @@ class ParamVisitor final : public VNVisitor {
}
void visit(AstUnlinkedRef* nodep) override {
- AstVarXRef* const varxrefp = VN_CAST(nodep->op1p(), VarXRef);
- AstNodeFTaskRef* const taskrefp = VN_CAST(nodep->op1p(), NodeFTaskRef);
+ AstVarXRef* const varxrefp = VN_CAST(nodep->refp(), VarXRef);
+ AstNodeFTaskRef* const taskrefp = VN_CAST(nodep->refp(), NodeFTaskRef);
if (varxrefp) {
m_unlinkedTxt = varxrefp->dotted();
} else if (taskrefp) {
@@ -1115,7 +1115,7 @@ class ParamVisitor final : public VNVisitor {
} else {
taskrefp->dotted(m_unlinkedTxt);
}
- nodep->replaceWith(nodep->op1p()->unlinkFrBack());
+ nodep->replaceWith(nodep->refp()->unlinkFrBack());
VL_DO_DANGLING(pushDeletep(nodep), nodep);
}
void visit(AstCellArrayRef* nodep) override {