JuliaLang / PrecompileTools.jl

Reduce time-to-first-execution of Julia code
MIT License
209 stars 13 forks source link

Add precompiled tags if backedge is missing #15

Closed timholy closed 1 year ago

timholy commented 1 year ago

In https://github.com/JuliaLang/julia/issues/49617 it was found that not all callees have backedges to callers. There is some speculation that rather than adding the backedge to those cases, we may in fact be able to prune the backedge graph more substantially in cases where it may be safe to avoid propagating invalidation.

Consequently, to enforce the guarantees made by @compile_workload, PrecompileTools should check the inference graph and add tags in cases where a backedge is missing.

codecov[bot] commented 1 year ago

Codecov Report

Merging #15 (d527a47) into main (7b80794) will increase coverage by 1.28%. The diff coverage is 90.00%.

@@            Coverage Diff             @@
##             main      #15      +/-   ##
==========================================
+ Coverage   87.17%   88.46%   +1.28%     
==========================================
  Files           1        1              
  Lines          39       52      +13     
==========================================
+ Hits           34       46      +12     
- Misses          5        6       +1     
Impacted Files Coverage Δ
src/PrecompileTools.jl 88.46% <90.00%> (ø)