https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117764
--- Comment #6 from Jan Hubicka <hubicka at ucw dot cz> --- > But the inlining argument basically says CDDCE shouldn't handle > __builtin_unreachable control stmts optimistically given a use could appear > only after inlining ... doesn't this then imply WONTFIX? I am not sure how important in practice is to eliminate those empty loops pre-inlining (I guess experience will tell). In that testcase the builtin unreachable condtinal is loop invariant, so we stil can eliminate the loop without losing any info. One option would be to do the control dependency in fnsummary production. With bit of refactoring of DCE mark phase this should be possible, but also sounds bit heavy, since the full DCE pass contains quite many special cases etc. Honza