Closed yowl closed 7 months ago
@jakobbotsch ?
The PR added a new cache m_dominancePreds
. I'm guessing your pass is clearing only the old one (m_blockToEHPreds
). BB06
should naturally be computed as the immediate dominator of BB05
otherwise.
FlowGraphDominatorTree::Build
would be a natural place to clear it (in upstream too).
Thanks! (I will create a PR upstream)
This PR https://github.com/dotnet/runtime/pull/94672 changed the way the
bbIDom
is set, specifically removing the first loop:https://github.com/dotnet/runtimelab/blob/3d61458b6f650b8f61238e529bd12a3a1bfbde2e/src/coreclr/jit/ssabuilder.cpp#L268-L275
This code used to set the immediate dominator for
BBJ_EHFAULTRET
to the scratch block that LLVM lowering inserts for example inhttps://github.com/dotnet/runtime/blob/b4ba5da5a0b8e0c7e3027a695f2acb2d9d19137b/src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/SafeHandle.cs#L86-L92
Any ideas on how I can handle this merge change and get the dominator set for the
BBJ_EHFAULTRET
,BB05
in this case? Let me know if the full logs for before and after would be useful.Thanks