C++ Module parameters & timers
authorNathan Sidwell <nathan@acm.org>
Tue, 1 Dec 2020 19:39:38 +0000 (11:39 -0800)
committerNathan Sidwell <nathan@acm.org>
Tue, 1 Dec 2020 19:39:38 +0000 (11:39 -0800)
Here is the new parameter and instrumentation timers for modules.

gcc/
* params.opt (lazy-modules): New.
* timevar.def (TV_MODULE_IMPORT, TV_MODULE_EXPORT)
(TV_MODULE_MAPPER): New.

gcc/params.opt
gcc/timevar.def

index ec15357..54951f2 100644 (file)
@@ -373,6 +373,10 @@ Maximal stack frame growth due to inlining (in percent).
 Common Joined UInteger Var(param_large_unit_insns) Optimization Init(10000) Param
 The size of translation unit to be considered large.
 
+-param=lazy-modules=
+C++ Joined UInteger Var(param_lazy_modules) Init(32768) Param
+Maximum number of concurrently open C++ module files when lazy loading.
+
 -param=lim-expensive=
 Common Joined UInteger Var(param_lim_expensive) Init(20) Param Optimization
 The minimum cost of an expensive expression in the loop invariant motion.
index 1cf2300..1f85e2d 100644 (file)
@@ -145,6 +145,9 @@ DEFTIMEVAR (TV_CONSTEXPR         , "constant expression evaluation")
 DEFTIMEVAR (TV_CONSTRAINT_NORM      , "constraint normalization")
 DEFTIMEVAR (TV_CONSTRAINT_SAT       , "constraint satisfaction")
 DEFTIMEVAR (TV_CONSTRAINT_SUB       , "constraint subsumption")
+DEFTIMEVAR (TV_MODULE_IMPORT        , "module import")
+DEFTIMEVAR (TV_MODULE_EXPORT        , "module export")
+DEFTIMEVAR (TV_MODULE_MAPPER         , "module mapper")
 DEFTIMEVAR (TV_FLATTEN_INLINING      , "flatten inlining")
 DEFTIMEVAR (TV_EARLY_INLINING        , "early inlining heuristics")
 DEFTIMEVAR (TV_INLINE_PARAMETERS     , "inline parameters")