Merge remote-tracking branch 'origin/topic/vern/CPP-streamlining'

* origin/topic/vern/CPP-streamlining:
  BTest baseline updates for compile-to-C++
  mark ZAM regression BTests as not suitable for compile-to-C++
  fix for -O gen-C++ maintenance helper to skip BTest intermediary files
  introduced simplified initialization for non-standalone -O gen-C++ code tied -O gen-standalone-C++ to use of --optimize-files
  streamline generated -O C++ code by relying on per-function profiles rather than aggregate profile
  when reporting available/unavailble C++ script bodies, flag those that are skipped
  modified AST profiling to mark (and fully skip) non-optimizable functions
  modified merge_types() to skip work if given identical types, which also preserves type names (useful for -O gen-C++)
This commit is contained in:
Tim Wojtulewicz 2024-12-09 12:15:46 -07:00
commit 6e75417032
35 changed files with 334 additions and 143 deletions

View file

@ -578,6 +578,8 @@ ProfileFuncs::ProfileFuncs(std::vector<FuncInfo>& funcs, is_compilable_pred pred
if ( ! pred || (*pred)(pf.get(), nullptr) )
MergeInProfile(pf.get());
else if ( pred )
f.SetSkip(true);
// Track the profile even if we're not compiling the function, since
// the AST optimizer will still need it to reason about function-call