Internals: Remove dead code
This commit is contained in:
parent
88d7ca01b0
commit
f36461e696
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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)");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue