Internals: Remove dead code

This commit is contained in:
Wilson Snyder 2022-01-02 18:35:48 -05:00
parent 88d7ca01b0
commit f36461e696
5 changed files with 0 additions and 53 deletions

View File

@ -4821,34 +4821,6 @@ public:
AstJumpLabel* labelp() const { return m_labelp; }
};
class AstChangeXor final : public AstNodeBiComAsv {
// A comparison to determine change detection, common & must be fast.
// Returns 32-bit or 64-bit value where 0 indicates no change.
// Parents: OR or LOGOR
// Children: VARREF
public:
AstChangeXor(FileLine* fl, AstNode* lhsp, AstNode* rhsp)
: ASTGEN_SUPER_ChangeXor(fl, lhsp, rhsp) {
dtypeSetUInt32(); // Always used on, and returns word entities
}
ASTNODE_NODE_FUNCS(ChangeXor)
virtual AstNode* cloneType(AstNode* lhsp, AstNode* rhsp) override {
return new AstChangeXor(this->fileline(), lhsp, rhsp);
}
virtual void numberOperate(V3Number& out, const V3Number& lhs, const V3Number& rhs) override {
out.opChangeXor(lhs, rhs);
}
virtual string emitVerilog() override { return "%k(%l %f^ %r)"; }
virtual string emitC() override { return "VL_CHANGEXOR_%li(%lw, %P, %li, %ri)"; }
virtual string emitSimpleOperator() override { return "^"; }
virtual bool cleanOut() const override { return false; } // Lclean && Rclean
virtual bool cleanLhs() const override { return true; }
virtual bool cleanRhs() const override { return true; }
virtual bool sizeMattersLhs() const override { return false; }
virtual bool sizeMattersRhs() const override { return false; }
virtual int instrCount() const override { return widthInstrs(); }
};
class AstChangeDet final : public AstNodeStmt {
// A comparison to determine change detection, common & must be fast.
public:

View File

@ -3317,7 +3317,6 @@ private:
// AstLogAnd/AstLogOr already converted to AstAnd/AstOr for these rules
// AstAdd->ShiftL(#,1) but uncommon
TREEOP ("AstAnd {operandsSame($lhsp,,$rhsp)}", "replaceWLhs(nodep)");
TREEOP ("AstChangeXor{operandsSame($lhsp,,$rhsp)}", "replaceZero(nodep)");
TREEOP ("AstDiv {operandsSame($lhsp,,$rhsp)}", "replaceNum(nodep,1)");
TREEOP ("AstDivS {operandsSame($lhsp,,$rhsp)}", "replaceNum(nodep,1)");
TREEOP ("AstOr {operandsSame($lhsp,,$rhsp)}", "replaceWLhs(nodep)");

View File

@ -727,21 +727,6 @@ private:
return true;
}
virtual void visit(AstChangeXor* nodep) override {
if (nodep->user1SetOnce()) return; // Process once
iterateChildren(nodep);
UINFO(8, " Wordize ChangeXor " << nodep << endl);
// -> (0=={or{for each_word{WORDSEL(lhs,#)^WORDSEL(rhs,#)}}}
FileLine* const fl = nodep->fileline();
AstNode* newp = nullptr;
for (int w = 0; w < nodep->lhsp()->widthWords(); ++w) {
AstNode* const eqp = new AstXor{fl, newAstWordSelClone(nodep->lhsp(), w),
newAstWordSelClone(nodep->rhsp(), w)};
newp = newp ? new AstOr{fl, newp, eqp} : eqp;
}
VL_DO_DANGLING(replaceWithDelete(nodep, newp), nodep);
}
void visitEqNeq(AstNodeBiop* nodep) {
if (nodep->user1SetOnce()) return; // Process once
iterateChildren(nodep);

View File

@ -1320,14 +1320,6 @@ V3Number& V3Number::opOr(const V3Number& lhs, const V3Number& rhs) {
return *this;
}
V3Number& V3Number::opChangeXor(const V3Number& lhs, const V3Number& rhs) {
NUM_ASSERT_OP_ARGS2(lhs, rhs);
NUM_ASSERT_LOGIC_ARGS2(lhs, rhs);
// 32 bit result
opEq(lhs, rhs);
return *this;
}
V3Number& V3Number::opXor(const V3Number& lhs, const V3Number& rhs) {
// i op j, max(L(lhs),L(rhs)) bit return, careful need to X/Z extend.
NUM_ASSERT_OP_ARGS2(lhs, rhs);

View File

@ -421,7 +421,6 @@ public:
V3Number& opPowSS(const V3Number& lhs, const V3Number& rhs); // Signed lhs, signed rhs
V3Number& opPowUS(const V3Number& lhs, const V3Number& rhs); // Unsigned lhs, signed rhs
V3Number& opAnd(const V3Number& lhs, const V3Number& rhs);
V3Number& opChangeXor(const V3Number& lhs, const V3Number& rhs);
V3Number& opXor(const V3Number& lhs, const V3Number& rhs);
V3Number& opOr(const V3Number& lhs, const V3Number& rhs);
V3Number& opShiftR(const V3Number& lhs, const V3Number& rhs);