Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2026-03-09 17:43:03 -07:00
parent f1b33edd98
commit 129d007f76
14 changed files with 208 additions and 209 deletions

View File

@ -119,7 +119,7 @@ class ArnoldiDelayCalc : public LumpedCapDelayCalc
{ {
public: public:
ArnoldiDelayCalc(StaState *sta); ArnoldiDelayCalc(StaState *sta);
virtual ~ArnoldiDelayCalc(); ~ArnoldiDelayCalc() override;
ArcDelayCalc *copy() override; ArcDelayCalc *copy() override;
const char *name() const override { return "arnoldi"; } const char *name() const override { return "arnoldi"; }
Parasitic *findParasitic(const Pin *drvr_pin, Parasitic *findParasitic(const Pin *drvr_pin,

View File

@ -77,7 +77,6 @@ class DmpError : public Exception
{ {
public: public:
DmpError(const char *what); DmpError(const char *what);
virtual ~DmpError() {}
virtual const char *what() const noexcept { return what_; } virtual const char *what() const noexcept { return what_; }
private: private:

View File

@ -107,7 +107,7 @@ public:
int &bidirect_count, int &bidirect_count,
int &load_count, int &load_count,
const Network *network); const Network *network);
virtual void operator()(const Pin *pin); void operator()(const Pin *pin) override;
protected: protected:
Pin *drvr_pin_; Pin *drvr_pin_;
@ -345,8 +345,8 @@ public:
MakeEdgesThruHierPin(Graph *graph); MakeEdgesThruHierPin(Graph *graph);
private: private:
virtual void visit(const Pin *drvr, void visit(const Pin *drvr,
const Pin *load); const Pin *load) override;
Graph *graph_; Graph *graph_;
}; };
@ -1483,8 +1483,8 @@ class FindEdgesThruHierPinVisitor : public HierPinThruVisitor
public: public:
FindEdgesThruHierPinVisitor(EdgeSet &edges, FindEdgesThruHierPinVisitor(EdgeSet &edges,
Graph *graph); Graph *graph);
virtual void visit(const Pin *drvr, void visit(const Pin *drvr,
const Pin *load); const Pin *load) override;
protected: protected:
EdgeSet &edges_; EdgeSet &edges_;

View File

@ -164,17 +164,17 @@ public:
bool own_pts, bool own_pts,
int priority, int priority,
const char *comment); const char *comment);
virtual ExceptionPath *clone(ExceptionFrom *from, ExceptionPath *clone(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts) override;
virtual bool isFalse() const { return true; } bool isFalse() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::false_path; } ExceptionPathType type() const override { return ExceptionPathType::false_path; }
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
virtual bool overrides(ExceptionPath *exception) const; bool overrides(ExceptionPath *exception) const override;
virtual int typePriority() const; int typePriority() const override;
virtual bool tighterThan(ExceptionPath *exception) const; bool tighterThan(ExceptionPath *exception) const override;
}; };
// Loop paths are false paths used to disable paths around // Loop paths are false paths used to disable paths around
@ -184,10 +184,10 @@ class LoopPath : public FalsePath
public: public:
LoopPath(ExceptionThruSeq *thrus, LoopPath(ExceptionThruSeq *thrus,
bool own_pts); bool own_pts);
virtual bool isLoop() const { return true; } bool isLoop() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::loop; } ExceptionPathType type() const override { return ExceptionPathType::loop; }
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
}; };
// set_max_delay/set_min_delay // set_max_delay/set_min_delay
@ -203,21 +203,21 @@ public:
float delay, float delay,
bool own_pts, bool own_pts,
const char *comment); const char *comment);
virtual ExceptionPath *clone(ExceptionFrom *from, ExceptionPath *clone(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts) override;
virtual bool isPathDelay() const { return true; } bool isPathDelay() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::path_delay; } ExceptionPathType type() const override { return ExceptionPathType::path_delay; }
virtual const char *asString(const Network *network) const; const char *asString(const Network *network) const override;
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
virtual bool overrides(ExceptionPath *exception) const; bool overrides(ExceptionPath *exception) const override;
virtual float delay() const { return delay_; } float delay() const override { return delay_; }
virtual int typePriority() const; int typePriority() const override;
virtual bool tighterThan(ExceptionPath *exception) const; bool tighterThan(ExceptionPath *exception) const override;
virtual bool ignoreClkLatency() const { return ignore_clk_latency_; } bool ignoreClkLatency() const override { return ignore_clk_latency_; }
virtual bool breakPath() const { return break_path_; } bool breakPath() const override { return break_path_; }
protected: protected:
bool ignore_clk_latency_; bool ignore_clk_latency_;
@ -237,24 +237,24 @@ public:
int path_multiplier, int path_multiplier,
bool own_pts, bool own_pts,
const char *comment); const char *comment);
virtual ExceptionPath *clone(ExceptionFrom *from, ExceptionPath *clone(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts) override;
virtual bool isMultiCycle() const { return true; } bool isMultiCycle() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::multi_cycle; } ExceptionPathType type() const override { return ExceptionPathType::multi_cycle; }
virtual bool matches(const MinMax *min_max, bool matches(const MinMax *min_max,
bool exactly) const; bool exactly) const override;
virtual const char *asString(const Network *network) const; const char *asString(const Network *network) const override;
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
virtual bool overrides(ExceptionPath *exception) const; bool overrides(ExceptionPath *exception) const override;
virtual bool useEndClk() const { return use_end_clk_; } bool useEndClk() const override { return use_end_clk_; }
virtual int pathMultiplier(const MinMax *min_max) const; int pathMultiplier(const MinMax *min_max) const; // overload, not override
virtual int pathMultiplier() const { return path_multiplier_; } int pathMultiplier() const override { return path_multiplier_; }
virtual int priority(const MinMax *min_max) const; int priority(const MinMax *min_max) const override;
virtual int typePriority() const; int typePriority() const override;
virtual bool tighterThan(ExceptionPath *exception) const; bool tighterThan(ExceptionPath *exception) const override;
using ExceptionPath::priority; using ExceptionPath::priority;
@ -271,22 +271,22 @@ public:
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts);
virtual ExceptionPath *clone(ExceptionFrom *from, ExceptionPath *clone(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts) override;
virtual bool isFilter() const { return true; } bool isFilter() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::filter; } ExceptionPathType type() const override { return ExceptionPathType::filter; }
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
virtual bool overrides(ExceptionPath *exception) const; bool overrides(ExceptionPath *exception) const override;
virtual bool resetMatch(ExceptionFrom *from, bool resetMatch(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
const MinMaxAll *min_max, const MinMaxAll *min_max,
const Network *network); const Network *network) override;
virtual int typePriority() const; int typePriority() const override;
virtual bool tighterThan(ExceptionPath *exception) const; bool tighterThan(ExceptionPath *exception) const override;
}; };
class GroupPath : public ExceptionPath class GroupPath : public ExceptionPath
@ -299,20 +299,20 @@ public:
ExceptionTo *to, ExceptionTo *to,
bool own_pts, bool own_pts,
const char *comment); const char *comment);
virtual ~GroupPath(); ~GroupPath() override;
virtual ExceptionPath *clone(ExceptionFrom *from, ExceptionPath *clone(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to, ExceptionTo *to,
bool own_pts); bool own_pts) override;
virtual bool isGroupPath() const { return true; } bool isGroupPath() const override { return true; }
virtual ExceptionPathType type() const { return ExceptionPathType::group_path; } ExceptionPathType type() const override { return ExceptionPathType::group_path; }
virtual const char *typeString() const; const char *typeString() const override;
virtual bool mergeable(ExceptionPath *exception) const; bool mergeable(ExceptionPath *exception) const override;
virtual bool overrides(ExceptionPath *exception) const; bool overrides(ExceptionPath *exception) const override;
virtual int typePriority() const; int typePriority() const override;
virtual bool tighterThan(ExceptionPath *exception) const; bool tighterThan(ExceptionPath *exception) const override;
virtual const char *name() const { return name_; } const char *name() const override { return name_; }
virtual bool isDefault() const { return is_default_; } bool isDefault() const override { return is_default_; }
protected: protected:
const char *name_; const char *name_;
@ -385,39 +385,39 @@ public:
bool own_pts, bool own_pts,
const Network *network); const Network *network);
~ExceptionFromTo(); ~ExceptionFromTo();
virtual PinSet *pins() { return pins_; } PinSet *pins() override { return pins_; }
bool hasPins() const; bool hasPins() const;
ClockSet *clks() { return clks_; } ClockSet *clks() override { return clks_; }
bool hasClocks() const; bool hasClocks() const;
InstanceSet *instances() { return insts_; } InstanceSet *instances() override { return insts_; }
bool hasInstances() const; bool hasInstances() const;
virtual NetSet *nets() { return nullptr; } NetSet *nets() override { return nullptr; }
virtual EdgePinsSet *edges() { return nullptr; } EdgePinsSet *edges() override { return nullptr; }
bool hasObjects() const; bool hasObjects() const;
void deleteObjects(ExceptionFromTo *pt, void deleteObjects(ExceptionFromTo *pt,
const Network *network); const Network *network);
virtual PinSet allPins(const Network *network); PinSet allPins(const Network *network) override;
bool equal(ExceptionFromTo *from_to) const; bool equal(ExceptionFromTo *from_to) const;
virtual int compare(ExceptionPt *pt, int compare(ExceptionPt *pt,
const Network *network) const; const Network *network) const override;
virtual void mergeInto(ExceptionPt *pt, void mergeInto(ExceptionPt *pt,
const Network *network); const Network *network) override;
virtual const char *asString(const Network *network) const; const char *asString(const Network *network) const override;
virtual size_t objectCount() const; size_t objectCount() const override;
void deleteClock(Clock *clk); void deleteClock(Clock *clk);
virtual void addPin(const Pin *pin, void addPin(const Pin *pin,
const Network *network); const Network *network) override;
virtual void addClock(Clock *clk); void addClock(Clock *clk) override;
virtual void addInstance(const Instance *inst, void addInstance(const Instance *inst,
const Network *network); const Network *network) override;
virtual void addNet(const Net *, void addNet(const Net *,
const Network *) {} const Network *) override {}
virtual void addEdge(const EdgePins &, void addEdge(const EdgePins &,
const Network *) {} const Network *) override {}
virtual void connectPinAfter(PinSet *, void connectPinAfter(PinSet *,
Network *) {} Network *) override {}
virtual void deletePinBefore(const Pin *, void deletePinBefore(const Pin *,
Network *); Network *) override;
void deleteInstance(const Instance *inst, void deleteInstance(const Instance *inst,
const Network *network); const Network *network);
@ -443,14 +443,14 @@ public:
bool own_pts, bool own_pts,
const Network *network); const Network *network);
ExceptionFrom *clone(const Network *network); ExceptionFrom *clone(const Network *network);
virtual bool isFrom() const { return true; } bool isFrom() const override { return true; }
bool intersectsPts(ExceptionFrom *from, bool intersectsPts(ExceptionFrom *from,
const Network *network) const; const Network *network) const;
virtual int typePriority() const { return 0; } int typePriority() const override { return 0; }
protected: protected:
virtual const char *cmdKeyword() const; const char *cmdKeyword() const override;
virtual void findHash(const Network *network); void findHash(const Network *network) override;
}; };
class ExceptionTo : public ExceptionFromTo class ExceptionTo : public ExceptionFromTo
@ -466,12 +466,12 @@ public:
bool own_pts, bool own_pts,
const Network *network); const Network *network);
ExceptionTo *clone(const Network *network); ExceptionTo *clone(const Network *network);
virtual bool isTo() const { return true; } bool isTo() const override { return true; }
const char *asString(const Network *network) const; const char *asString(const Network *network) const override;
const RiseFallBoth *endTransition() { return end_rf_; } const RiseFallBoth *endTransition() { return end_rf_; }
bool intersectsPts(ExceptionTo *to, bool intersectsPts(ExceptionTo *to,
const Network *network) const; const Network *network) const;
virtual int typePriority() const { return 1; } int typePriority() const override { return 1; }
bool matches(const Pin *pin, bool matches(const Pin *pin,
const ClockEdge *clk_edge, const ClockEdge *clk_edge,
const RiseFall *end_rf, const RiseFall *end_rf,
@ -486,8 +486,8 @@ public:
const ClockEdge *clk_edge, const ClockEdge *clk_edge,
const RiseFall *end_rf, const RiseFall *end_rf,
const Network *network) const; const Network *network) const;
virtual int compare(ExceptionPt *pt, int compare(ExceptionPt *pt,
const Network *network) const; const Network *network) const override;
protected: protected:
bool matches(const Pin *pin, bool matches(const Pin *pin,
@ -495,7 +495,7 @@ protected:
const RiseFall *end_rf, const RiseFall *end_rf,
bool inst_matches_reg_clk_pin, bool inst_matches_reg_clk_pin,
const Network *network) const; const Network *network) const;
virtual const char *cmdKeyword() const; const char *cmdKeyword() const override;
// -rise|-fall endpoint transition. // -rise|-fall endpoint transition.
const RiseFallBoth *end_rf_; const RiseFallBoth *end_rf_;
@ -512,48 +512,48 @@ public:
const Network *network); const Network *network);
~ExceptionThru(); ~ExceptionThru();
ExceptionThru *clone(const Network *network); ExceptionThru *clone(const Network *network);
virtual const char *asString(const Network *network) const; const char *asString(const Network *network) const override;
virtual bool isThru() const { return true; } bool isThru() const override { return true; }
PinSet *pins() { return pins_; } PinSet *pins() override { return pins_; }
EdgePinsSet *edges() { return edges_; } EdgePinsSet *edges() override { return edges_; }
NetSet *nets() { return nets_; } NetSet *nets() override { return nets_; }
InstanceSet *instances() { return insts_; } InstanceSet *instances() override { return insts_; }
virtual ClockSet *clks() { return nullptr; } ClockSet *clks() override { return nullptr; }
bool hasObjects() const; bool hasObjects() const;
void deleteObjects(ExceptionThru *pt, void deleteObjects(ExceptionThru *pt,
const Network *network); const Network *network);
virtual PinSet allPins(const Network *network); PinSet allPins(const Network *network) override;
bool matches(const Pin *from_pin, bool matches(const Pin *from_pin,
const Pin *to_pin, const Pin *to_pin,
const RiseFall *to_rf, const RiseFall *to_rf,
const Network *network); const Network *network);
bool equal(ExceptionThru *thru) const; bool equal(ExceptionThru *thru) const;
virtual int compare(ExceptionPt *pt, int compare(ExceptionPt *pt,
const Network *network) const; const Network *network) const override;
virtual void mergeInto(ExceptionPt *pt, void mergeInto(ExceptionPt *pt,
const Network *network); const Network *network) override;
bool intersectsPts(ExceptionThru *thru, bool intersectsPts(ExceptionThru *thru,
const Network *network) const; const Network *network) const;
virtual int typePriority() const { return 2; } int typePriority() const override { return 2; }
virtual size_t objectCount() const; size_t objectCount() const override;
virtual void connectPinAfter(PinSet *drvrs, void connectPinAfter(PinSet *drvrs,
Network *network); Network *network) override;
virtual void deletePinBefore(const Pin *pin, void deletePinBefore(const Pin *pin,
Network *network); Network *network) override;
void deleteInstance(const Instance *inst, void deleteInstance(const Instance *inst,
const Network *network); const Network *network);
protected: protected:
void findHash(const Network *network); void findHash(const Network *network);
virtual void addPin(const Pin *pin, void addPin(const Pin *pin,
const Network *network); const Network *network) override;
virtual void addEdge(const EdgePins &edge, void addEdge(const EdgePins &edge,
const Network *network); const Network *network) override;
virtual void addNet(const Net *net, void addNet(const Net *net,
const Network *network); const Network *network) override;
virtual void addInstance(const Instance *inst, void addInstance(const Instance *inst,
const Network *network); const Network *network) override;
virtual void addClock(Clock *) {} void addClock(Clock *) override {}
void deletePin(const Pin *pin, void deletePin(const Pin *pin,
const Network *network); const Network *network);
void deleteEdge(const EdgePins &edge); void deleteEdge(const EdgePins &edge);

View File

@ -1365,7 +1365,7 @@ class ConnectedPinIterator1 : public ConnectedPinIterator
{ {
public: public:
ConnectedPinIterator1(PinSet *pins); ConnectedPinIterator1(PinSet *pins);
virtual ~ConnectedPinIterator1(); ~ConnectedPinIterator1() override;
bool hasNext() override; bool hasNext() override;
const Pin *next() override; const Pin *next() override;
@ -1401,7 +1401,7 @@ class FindConnectedPins : public PinVisitor
{ {
public: public:
FindConnectedPins(PinSet *pins); FindConnectedPins(PinSet *pins);
virtual void operator()(const Pin *pin); void operator()(const Pin *pin) override;
protected: protected:
PinSet *pins_; PinSet *pins_;
@ -1572,7 +1572,7 @@ class FindDrvrPins : public PinVisitor
public: public:
FindDrvrPins(PinSet *pins, FindDrvrPins(PinSet *pins,
const Network *network); const Network *network);
virtual void operator()(const Pin *pin); void operator()(const Pin *pin) override;
protected: protected:
PinSet *pins_; PinSet *pins_;

View File

@ -1289,7 +1289,7 @@ public:
const Pin *load); const Pin *load);
protected: protected:
virtual void visit(HpinDrvrLoad *drvr_load); void visit(HpinDrvrLoad *drvr_load) override;
void makeClkHpinDisables(const Pin *clk_src, void makeClkHpinDisables(const Pin *clk_src,
const Pin *drvr, const Pin *drvr,
const Pin *load); const Pin *load);
@ -3173,7 +3173,7 @@ public:
float &fanout, float &fanout,
bool &has_net_load, bool &has_net_load,
const Sdc *sdc); const Sdc *sdc);
virtual void operator()(const Pin *pin); void operator()(const Pin *pin) override;
protected: protected:
const RiseFall *rf_; const RiseFall *rf_;
@ -3560,8 +3560,8 @@ public:
Graph *graph); Graph *graph);
protected: protected:
virtual void visit(const Pin *drvr, void visit(const Pin *drvr,
const Pin *load); const Pin *load) override;
PinPairSet *pairs_; PinPairSet *pairs_;
Graph *graph_; Graph *graph_;
@ -3601,8 +3601,8 @@ public:
Graph *graph); Graph *graph);
protected: protected:
virtual void visit(const Pin *drvr, void visit(const Pin *drvr,
const Pin *load); const Pin *load) override;
PinPairSet *pairs_; PinPairSet *pairs_;
Graph *graph_; Graph *graph_;
@ -5151,9 +5151,9 @@ public:
ExpandException(ExceptionPath *exception, ExpandException(ExceptionPath *exception,
ExceptionPathSet &expansions, ExceptionPathSet &expansions,
Network *network); Network *network);
virtual void visit(ExceptionFrom *from, void visit(ExceptionFrom *from,
ExceptionThruSeq *thrus, ExceptionThruSeq *thrus,
ExceptionTo *to); ExceptionTo *to) override;
private: private:
ExceptionPathSet &expansions_; ExceptionPathSet &expansions_;

View File

@ -322,9 +322,9 @@ public:
const Mode *mode); const Mode *mode);
private: private:
virtual void visitReg(Instance *inst); void visitReg(Instance *inst) override;
virtual void visitSequential(Instance *inst, void visitSequential(Instance *inst,
const Sequential *seq); const Sequential *seq) override;
InstanceSet regs_; InstanceSet regs_;
}; };
@ -383,9 +383,9 @@ public:
const Mode *mode); const Mode *mode);
protected: protected:
virtual void visitReg(Instance *inst); void visitReg(Instance *inst) override;
virtual void visitSequential(Instance *inst, void visitSequential(Instance *inst,
const Sequential *seq); const Sequential *seq) override;
virtual bool matchPin(Pin *pin); virtual bool matchPin(Pin *pin);
void visitExpr(FuncExpr *expr, void visitExpr(FuncExpr *expr,
Instance *inst, Instance *inst,
@ -461,9 +461,9 @@ public:
FindRegDataPins(const StaState *sta); FindRegDataPins(const StaState *sta);
private: private:
virtual bool matchPin(Pin *pin); bool matchPin(Pin *pin) override;
virtual FuncExpr *seqExpr1(const Sequential *seq); FuncExpr *seqExpr1(const Sequential *seq) override;
virtual FuncExpr *seqExpr2(const Sequential *seq); FuncExpr *seqExpr2(const Sequential *seq) override;
}; };
FindRegDataPins::FindRegDataPins(const StaState *sta) : FindRegDataPins::FindRegDataPins(const StaState *sta) :
@ -528,9 +528,9 @@ public:
FindRegClkPins(const StaState *sta); FindRegClkPins(const StaState *sta);
private: private:
virtual bool matchPin(Pin *pin); bool matchPin(Pin *pin) override;
virtual FuncExpr *seqExpr1(const Sequential *seq); FuncExpr *seqExpr1(const Sequential *seq) override;
virtual FuncExpr *seqExpr2(const Sequential *seq); FuncExpr *seqExpr2(const Sequential *seq) override;
}; };
FindRegClkPins::FindRegClkPins(const StaState *sta) : FindRegClkPins::FindRegClkPins(const StaState *sta) :
@ -586,9 +586,9 @@ public:
FindRegAsyncPins(const StaState *sta); FindRegAsyncPins(const StaState *sta);
private: private:
virtual bool matchPin(Pin *pin); bool matchPin(Pin *pin) override;
virtual FuncExpr *seqExpr1(const Sequential *seq) { return seq->clear(); } FuncExpr *seqExpr1(const Sequential *seq) override { return seq->clear(); }
virtual FuncExpr *seqExpr2(const Sequential *seq) { return seq->preset(); } FuncExpr *seqExpr2(const Sequential *seq) override { return seq->preset(); }
}; };
FindRegAsyncPins::FindRegAsyncPins(const StaState *sta) : FindRegAsyncPins::FindRegAsyncPins(const StaState *sta) :
@ -629,14 +629,14 @@ public:
FindRegOutputPins(const StaState *sta); FindRegOutputPins(const StaState *sta);
private: private:
virtual bool matchPin(Pin *pin); bool matchPin(Pin *pin) override;
virtual void visitSequential(Instance *inst, void visitSequential(Instance *inst,
const Sequential *seq); const Sequential *seq) override;
void visitOutput(LibertyPort *port, void visitOutput(LibertyPort *port,
Instance *inst); Instance *inst);
// Unused. // Unused.
virtual FuncExpr *seqExpr1(const Sequential *seq); FuncExpr *seqExpr1(const Sequential *seq) override;
virtual FuncExpr *seqExpr2(const Sequential *seq); FuncExpr *seqExpr2(const Sequential *seq) override;
}; };
FindRegOutputPins::FindRegOutputPins(const StaState *sta) : FindRegOutputPins::FindRegOutputPins(const StaState *sta) :

View File

@ -707,8 +707,8 @@ public:
BfsFwdIterator *insert_iter, BfsFwdIterator *insert_iter,
GenclkInfo *genclk_info, GenclkInfo *genclk_info,
const Mode *mode); const Mode *mode);
virtual VertexVisitor *copy() const; VertexVisitor *copy() const override;
virtual void visit(Vertex *vertex); void visit(Vertex *vertex) override;
protected: protected:
GenclkSrcArrivalVisitor(Clock *gclk, GenclkSrcArrivalVisitor(Clock *gclk,

View File

@ -236,9 +236,9 @@ class MakeEndTimingArcs : public PathEndVisitor
public: public:
MakeEndTimingArcs(Sta *sta); MakeEndTimingArcs(Sta *sta);
MakeEndTimingArcs(const MakeEndTimingArcs&) = default; MakeEndTimingArcs(const MakeEndTimingArcs&) = default;
virtual ~MakeEndTimingArcs() {} ~MakeEndTimingArcs() override {}
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
void setInputRf(const RiseFall *input_rf); void setInputRf(const RiseFall *input_rf);
const ClockEdgeDelays &margins() const { return margins_; } const ClockEdgeDelays &margins() const { return margins_; }

View File

@ -246,11 +246,11 @@ public:
bool unique_pins, bool unique_pins,
bool unique_edges, bool unique_edges,
PathEnum *path_enum); PathEnum *path_enum);
virtual VertexVisitor *copy() const override; VertexVisitor *copy() const override;
void visitFaninPathsThru(Path *before_div, void visitFaninPathsThru(Path *before_div,
Vertex *prev_vertex, Vertex *prev_vertex,
TimingArc *prev_arc); TimingArc *prev_arc);
virtual bool visitFromToPath(const Pin *from_pin, bool visitFromToPath(const Pin *from_pin,
Vertex *from_vertex, Vertex *from_vertex,
const RiseFall *from_rf, const RiseFall *from_rf,
Tag *from_tag, Tag *from_tag,
@ -277,7 +277,7 @@ private:
Edge *edge, Edge *edge,
const Pin *to_pin, const Pin *to_pin,
Vertex *to_vertex) override; Vertex *to_vertex) override;
virtual void visit(Vertex *) override {} // Not used. void visit(Vertex *) override {} // Not used.
void insertUniqueEdgeDiv(Diversion *div); void insertUniqueEdgeDiv(Diversion *div);
void reportDiversion(const Edge *edge, void reportDiversion(const Edge *edge,
const TimingArc *div_arc, const TimingArc *div_arc,

View File

@ -601,9 +601,9 @@ class MakePathEnds1 : public PathEndVisitor
public: public:
MakePathEnds1(PathGroups *path_groups); MakePathEnds1(PathGroups *path_groups);
MakePathEnds1(const MakePathEnds1&) = default; MakePathEnds1(const MakePathEnds1&) = default;
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
virtual void vertexEnd(Vertex *vertex); void vertexEnd(Vertex *vertex) override;
private: private:
void visitPathEnd(PathEnd *path_end, void visitPathEnd(PathEnd *path_end,
@ -676,10 +676,10 @@ public:
MakePathEndsAll(int endpoint_path_count, MakePathEndsAll(int endpoint_path_count,
PathGroups *path_groups); PathGroups *path_groups);
MakePathEndsAll(const MakePathEndsAll&) = default; MakePathEndsAll(const MakePathEndsAll&) = default;
virtual ~MakePathEndsAll(); ~MakePathEndsAll() override;
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
virtual void vertexEnd(Vertex *vertex); void vertexEnd(Vertex *vertex) override;
private: private:
void visitPathEnd(PathEnd *path_end, void visitPathEnd(PathEnd *path_end,
@ -906,8 +906,8 @@ public:
const StaState *sta); const StaState *sta);
MakeEndpointPathEnds(const MakeEndpointPathEnds &make_path_ends); MakeEndpointPathEnds(const MakeEndpointPathEnds &make_path_ends);
~MakeEndpointPathEnds(); ~MakeEndpointPathEnds();
virtual VertexVisitor *copy() const; VertexVisitor *copy() const override;
virtual void visit(Vertex *vertex); void visit(Vertex *vertex) override;
private: private:
VisitPathEnds visit_path_ends_; VisitPathEnds visit_path_ends_;

View File

@ -733,8 +733,8 @@ public:
Search *search); Search *search);
protected: protected:
virtual void visit(const Pin *drvr, void visit(const Pin *drvr,
const Pin *load); const Pin *load) override;
Graph *graph_; Graph *graph_;
Search *search_; Search *search_;
@ -3444,9 +3444,9 @@ public:
FindEndRequiredVisitor(RequiredCmp *required_cmp, FindEndRequiredVisitor(RequiredCmp *required_cmp,
const StaState *sta); const StaState *sta);
FindEndRequiredVisitor(const StaState *sta); FindEndRequiredVisitor(const StaState *sta);
virtual ~FindEndRequiredVisitor(); ~FindEndRequiredVisitor() override;
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
protected: protected:
const StaState *sta_; const StaState *sta_;
@ -4092,8 +4092,8 @@ public:
FindEndSlackVisitor(SlackSeq &slacks, FindEndSlackVisitor(SlackSeq &slacks,
const StaState *sta); const StaState *sta);
FindEndSlackVisitor(const FindEndSlackVisitor &) = default; FindEndSlackVisitor(const FindEndSlackVisitor &) = default;
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
protected: protected:
SlackSeq &slacks_; SlackSeq &slacks_;

View File

@ -114,9 +114,9 @@ class StaDelayCalcObserver : public DelayCalcObserver
{ {
public: public:
StaDelayCalcObserver(Search *search); StaDelayCalcObserver(Search *search);
virtual void delayChangedFrom(Vertex *vertex); void delayChangedFrom(Vertex *vertex) override;
virtual void delayChangedTo(Vertex *vertex); void delayChangedTo(Vertex *vertex) override;
virtual void checkDelayChangedTo(Vertex *vertex); void checkDelayChangedTo(Vertex *vertex) override;
private: private:
Search *search_; Search *search_;
@ -3390,8 +3390,8 @@ public:
bool include_port_paths, bool include_port_paths,
StaState *sta); StaState *sta);
MinPeriodEndVisitor(const MinPeriodEndVisitor &) = default; MinPeriodEndVisitor(const MinPeriodEndVisitor &) = default;
virtual PathEndVisitor *copy() const; PathEndVisitor *copy() const override;
virtual void visit(PathEnd *path_end); void visit(PathEnd *path_end) override;
float minPeriod() const { return min_period_; } float minPeriod() const { return min_period_; }
private: private:

View File

@ -38,7 +38,7 @@ public:
ReportStd(); ReportStd();
protected: protected:
virtual size_t printConsole(const char *buffer, size_t length); size_t printConsole(const char *buffer, size_t length) override;
virtual size_t printErrorConsole(const char *buffer, size_t length); virtual size_t printErrorConsole(const char *buffer, size_t length);
}; };