verilator/src
Geza Lore ef5250f0ca Internals: Further performance improvement of AstNode type tests, #2138. No functional change intended.
Replace the virtual type() method on AstNode with a non-virtual, inlined
accessor to a const member variable m_type.  This means that in order to be
able to use this for type testing, it needs to be initialized based on the
final type of the node. This is achieved by passing the relevant AstType
value back through the constructor call chain. Most of the boilerplate
involved is auto generated by first feeding V3AstNodes.h through astgen to
get V3AstNodes__gen.h, which is then included in V3Ast.h. No client code
needs to be aware and there is no functional change intended.

Eliminating the virtual function call to fetch the node type identifier
results in measured compilation speed improvement of 5-10% as it
eliminates up to 20% of all mispredicted branches from the execution.
2020-01-25 15:29:44 -05:00
..
.gdbinit Update copyright year. 2020-01-06 18:05:53 -05:00
.gitignore
astgen Internals: Further performance improvement of AstNode type tests, #2138. No functional change intended. 2020-01-25 15:29:44 -05:00
bisonpre Spelling fixes 2020-01-24 20:10:44 -05:00
config_build.h.in Update copyright year. 2020-01-06 18:05:53 -05:00
config_rev.pl Fix shebang breaking some shells. Closes #2067. 2020-01-09 20:01:12 -05:00
cppcheck_filtered Fix shebang breaking some shells. Closes #2067. 2020-01-09 20:01:12 -05:00
flexfix Fix shebang breaking some shells. Closes #2067. 2020-01-09 20:01:12 -05:00
Makefile_obj.in Support libgoogle-perftools-dev's libtcmalloc if available. #2137. 2020-01-23 17:32:19 -05:00
Makefile.in Update copyright year. 2020-01-06 18:05:53 -05:00
mkinstalldirs Fix man files misinstalling; cleanup mkinstalldirs 2018-09-13 19:09:35 -04:00
pod2latexfix Fix shebang breaking some shells. Closes #2067. 2020-01-09 20:01:12 -05:00
V3Active.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Active.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3ActiveTop.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3ActiveTop.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Assert.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Assert.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3AssertPre.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3AssertPre.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Ast.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3Ast.h Internals: Further performance improvement of AstNode type tests, #2138. No functional change intended. 2020-01-25 15:29:44 -05:00
V3AstConstOnly.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3AstNodes.cpp Internals: Further performance improvement of AstNode type tests, #2138. No functional change intended. 2020-01-25 15:29:44 -05:00
V3AstNodes.h Internals: Further performance improvement of AstNode type tests, #2138. No functional change intended. 2020-01-25 15:29:44 -05:00
V3Begin.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Begin.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Branch.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Branch.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Broken.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Broken.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Case.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Case.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Cast.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Cast.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3CCtors.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3CCtors.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Cdc.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Cdc.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Changed.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Changed.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Clean.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Clean.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Clock.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Clock.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Combine.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Combine.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Config.cpp Fix C++11 intrusion. 2020-01-21 19:45:44 -05:00
V3Config.h Add lint_off -match waivers (#2102) 2020-01-12 10:03:17 +01:00
V3Const.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Const.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Coverage.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Coverage.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3CoverageJoin.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3CoverageJoin.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Dead.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Dead.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Delayed.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Delayed.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Depth.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Depth.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3DepthBlock.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3DepthBlock.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Descope.cpp Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3Descope.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3EmitC.cpp Internals: Refactoring towards classes. No functional change intended. 2020-01-25 09:33:43 -05:00
V3EmitC.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3EmitCBase.h Internals: Rename to prefixNameProtect. No functional change intended. 2020-01-25 09:16:00 -05:00
V3EmitCInlines.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3EmitCMake.cpp Internals: Restore AstNode naming property. #2133. 2020-01-21 19:54:14 -05:00
V3EmitCMake.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3EmitCSyms.cpp Internals: Rename to prefixNameProtect. No functional change intended. 2020-01-25 09:16:00 -05:00
V3EmitMk.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3EmitMk.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3EmitV.cpp Internals: Rename to prefixNameProtect. No functional change intended. 2020-01-25 09:16:00 -05:00
V3EmitV.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3EmitXml.cpp Add detailed XML location to cell elements, #2134, #2122. 2020-01-22 07:18:50 -05:00
V3EmitXml.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Error.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3Error.h Spelling fixes 2020-01-24 20:10:44 -05:00
V3Expand.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Expand.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3File.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3File.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3FileLine.cpp Add detailed location to XML output (#2122) 2020-01-20 14:08:13 -05:00
V3FileLine.h Add detailed location to XML output (#2122) 2020-01-20 14:08:13 -05:00
V3Gate.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Gate.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3GenClk.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3GenClk.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Global.cpp Internals: Move V3Global function definitions to their own files. No functional change intended. Closes #2120. 2020-01-19 07:23:26 -05:00
V3Global.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Graph.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3Graph.h Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3GraphAcyc.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3GraphAlg.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3GraphAlg.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3GraphDfa.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3GraphDfa.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3GraphPathChecker.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3GraphPathChecker.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3GraphStream.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3GraphTest.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3Hashed.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Hashed.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Inline.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Inline.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Inst.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Inst.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3InstrCount.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3InstrCount.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LangCode.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LanguageWords.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Life.cpp Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3Life.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LifePost.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LifePost.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkCells.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LinkCells.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkDot.cpp Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3LinkDot.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkJump.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LinkJump.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkLevel.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkLevel.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkLValue.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LinkLValue.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkParse.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LinkParse.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3LinkResolve.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3LinkResolve.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3List.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Localize.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Localize.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Name.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Name.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Number_test.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3Number.cpp Set maximum number width (#2128) 2020-01-21 12:17:31 +01:00
V3Number.h Support left justified . Closes #2101. 2020-01-15 07:32:45 -05:00
V3Options.cpp Set maximum number width (#2128) 2020-01-21 12:17:31 +01:00
V3Options.h Set maximum number width (#2128) 2020-01-21 12:17:31 +01:00
V3Order.cpp Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3Order.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3OrderGraph.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Os.cpp Commentary. 2020-01-11 21:08:20 -05:00
V3Os.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Param.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Param.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Parse.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3ParseGrammar.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3ParseImp.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3ParseImp.h Add lint_off -match waivers (#2102) 2020-01-12 10:03:17 +01:00
V3ParseLex.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3ParseSym.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Partition.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Partition.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3PartitionGraph.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3PreLex.h Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3PreLex.l Add error on misused define. 2020-01-11 09:16:26 -05:00
V3Premit.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Premit.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3PreProc.cpp Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
V3PreProc.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3PreShell.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3PreShell.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3ProtectLib.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3ProtectLib.h Update URLs to https://verilator.org 2019-11-07 22:33:59 -05:00
V3Reloop.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Reloop.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Scope.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Scope.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Scoreboard.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
V3Scoreboard.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3SenTree.h Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Simulate.h Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Slice.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
V3Slice.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Split.cpp Fix clang warnings from override. 2020-01-21 20:22:32 -05:00
V3Split.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3SplitAs.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3SplitAs.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Stats.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Stats.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3StatsReport.cpp Internals: Create VL_DO_DANGLING. No functional change intended. 2020-01-16 20:17:11 -05:00
V3String.cpp Add lint_off -match waivers (#2102) 2020-01-12 10:03:17 +01:00
V3String.h Add lint_off -match waivers (#2102) 2020-01-12 10:03:17 +01:00
V3Subst.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Subst.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3SymTable.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Table.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Table.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Task.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Task.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Trace.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Trace.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3TraceDecl.cpp Fix FST tracing of enums inside structs. 2020-01-24 19:46:46 -05:00
V3TraceDecl.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Tristate.cpp Internals: Add assertions. No functional change intended. 2020-01-25 10:19:59 -05:00
V3Tristate.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3TSP.cpp Update URLs to https://verilator.org 2019-11-07 22:33:59 -05:00
V3TSP.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Undriven.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Undriven.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Unknown.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Unknown.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Unroll.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Unroll.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3Width.cpp Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3Width.h Update copyright year. 2020-01-06 18:05:53 -05:00
V3WidthCommit.h Internals: Mark all visit() with VL_OVERRIDE. Closes #2132. 2020-01-21 17:35:56 -05:00
V3WidthSel.cpp Spelling fixes 2020-01-24 20:10:44 -05:00
Verilator.cpp Internals: Move V3Global function definitions to their own files. No functional change intended. Closes #2120. 2020-01-19 07:23:26 -05:00
verilog.l Add lint_off -match waivers (#2102) 2020-01-12 10:03:17 +01:00
verilog.y Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
VlcBucket.h Update copyright year. 2020-01-06 18:05:53 -05:00
VlcMain.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
VlcOptions.h Update copyright year. 2020-01-06 18:05:53 -05:00
vlcovgen Fix shebang breaking some shells. Closes #2067. 2020-01-09 20:01:12 -05:00
VlcPoint.h Update copyright year. 2020-01-06 18:05:53 -05:00
VlcSource.h Update copyright year. 2020-01-06 18:05:53 -05:00
VlcTest.h Internals: Add VL_DO_CLEAR delete protections. No functional change intended. 2020-01-18 10:29:49 -05:00
VlcTop.cpp Update copyright year. 2020-01-06 18:05:53 -05:00
VlcTop.h Update copyright year. 2020-01-06 18:05:53 -05:00