Two related assertion failures in DeadCodeAnalysis when processing OpenACC operations: 1. visitRegionBranchEdges (issue #187972): When a RegionSuccessor refers to an empty region (no blocks), calling getSuccessor()->front() dereferences a sentinel ilist iterator, crashing with "\!NodePtr->isKnownSentinel()". Fix: skip successors whose region is empty. 2. isRegionOrCallableReturn (issue #188408): When iterating over ops in a nested acc region whose blocks do not have a required terminator, Block::getTerminator() is called without first checking mightHaveTerminator(), triggering "Assertion `mightHaveTerminator()' failed". Fix: guard the getTerminator() call with mightHaveTerminator(). Fixes #187972, #188408 Assisted-by: Claude Code
22 KiB
22 KiB