Skip to content

Commit

Permalink
inference: change convergence order (I think this is more similar to …
Browse files Browse the repository at this point in the history
…the old convergence order)
  • Loading branch information
vtjnash committed Aug 2, 2024
1 parent 225be1e commit d452769
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions base/compiler/abstractinterpretation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3577,13 +3577,10 @@ function typeinf_nocycle(interp::AbstractInterpreter, frame::InferenceState)

no_active_ips_in_callers = false
while true
# If the current frame is not the top part of a cycle, continue to the top of the cycle before resuming work
frame.cycleid == frame.frameid || return false
# If done, return and finalize this cycle
no_active_ips_in_callers && return true
# Otherwise, do at least one iteration over the entire current cycle
no_active_ips_in_callers && return frame.cycleid == frame.frameid
no_active_ips_in_callers = true
for i = reverse(frame.cycleid:length(callstack))
for i = reverse(frame.frameid:length(callstack))
caller = callstack[i]::InferenceState
if !isempty(caller.ip)
# Note that `typeinf_local(interp, caller)` can potentially modify the other frames
Expand Down

2 comments on commit d452769

@vtjnash
Copy link
Member Author

@vtjnash vtjnash commented on d452769 Aug 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nanosoldier runbenchmarks("inference", vs=":master")

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here.

Please sign in to comment.