You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[DebugInfo] Add a verifier pass to find holes in lexical scopes.
This found a bunch of issues where we didn't properly preserve
debug infos which have been fixed over the course of the past
two weeks.
The basic idea is we want to make sure that within a BB we never
have `holes` in debug scopes, i.e. if we enter a scope, one of
the two holds
1) We never visited that scope before
2) We're re-entering a scope that is an ancestor of the scope
currently leaving. This is needed to correctly model nested
scopes, e.g.
{
let i = 0; // scope 0
if (cond) {
let j = i // scope 1
}
let k = i + 1 // scope 0 and okay.
}
I also checked in a `cl::opt`, so that if this breaks something,
it can be conveniently disabled. This is currently not enabled
as we flesh out the last violations.
<rdar://problem/35816212>
0 commit comments