Remove use of VL_INLINE_OPT macro (#6507)

This commit is contained in:
Geza Lore 2025-09-29 19:07:36 +02:00 committed by GitHub
parent 5247e40659
commit 5cd8bd0356
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 4 additions and 18 deletions

View File

@ -166,11 +166,6 @@ Unfortunately, using the optimizer with SystemC files can result in
compilation taking several minutes. (The SystemC libraries have many little
inlined functions that drive the compiler nuts.)
If using your own makefiles, you may want to compile the Verilated
code with ``--MAKEFLAGS -DVL_INLINE_OPT=inline``. This will inline
functions; however, this requires that all cpp files be compiled in a single
compiler run.
You may uncover further tuning possibilities by profiling the Verilog code.
See :ref:`profiling`.

View File

@ -312,8 +312,10 @@
//=========================================================================
// Optimization
#ifndef VL_INLINE_OPT
# define VL_INLINE_OPT ///< "inline" if compiling all objects in single compiler run
#ifndef VL_NO_LEGACY
# ifndef VL_INLINE_OPT
# define VL_INLINE_OPT // Historical, has no effect on Verilated models.
# endif
#endif
//=========================================================================

View File

@ -534,7 +534,6 @@ class AstCFunc final : public AstNode {
// an explicitly passed 'self' pointer as the first argument. This can
// be slightly faster due to __restrict, and we do not declare in header
// so adding/removing loose functions doesn't recompile everything.
bool m_isInline : 1; // Inline function
bool m_isVirtual : 1; // Virtual function
bool m_entryPoint : 1; // User may call into this top level function
bool m_dpiPure : 1; // Pure DPI function
@ -564,7 +563,6 @@ public:
m_isDestructor = false;
m_isMethod = true;
m_isLoose = false;
m_isInline = false;
m_isVirtual = false;
m_needProcess = false;
m_entryPoint = false;
@ -606,7 +604,6 @@ public:
void rtnType(const string& rtnType) { m_rtnType = rtnType; }
bool dontCombine() const { return m_dontCombine || isTrace() || entryPoint(); }
void dontCombine(bool flag) { m_dontCombine = flag; }
bool dontInline() const { return dontCombine() || slow() || funcPublic(); }
bool declPrivate() const { return m_declPrivate; }
void declPrivate(bool flag) { m_declPrivate = flag; }
bool keepIfEmpty() const VL_MT_SAFE { return m_keepIfEmpty; }
@ -628,8 +625,6 @@ public:
bool isLoose() const { return m_isLoose; }
void isLoose(bool flag) { m_isLoose = flag; }
bool isProperMethod() const { return isMethod() && !isLoose(); }
bool isInline() const { return m_isInline; }
void isInline(bool flag) { m_isInline = flag; }
bool isVirtual() const { return m_isVirtual; }
void isVirtual(bool flag) { m_isVirtual = flag; }
bool needProcess() const { return m_needProcess; }

View File

@ -56,11 +56,6 @@ class BranchVisitor final : public VNVisitorConst {
} // else leave unknown
}
void visit(AstCFunc* nodep) override {
if (!nodep->dontInline()) nodep->isInline(true);
iterateChildrenConst(nodep);
}
void visit(AstNode* nodep) override {
if (nodep->isUnlikely()) {
UINFO(4, " UNLIKELY: " << nodep);

View File

@ -334,7 +334,6 @@ public:
puts("\n");
m_lazyDecls.emit(nodep);
if (nodep->ifdef() != "") putns(nodep, "#ifdef " + nodep->ifdef() + "\n");
if (nodep->isInline()) putns(nodep, "VL_INLINE_OPT ");
emitCFuncHeader(nodep, m_modp, /* withScope: */ true);
if (nodep->isConstructor()) {