Control dependence vs. builtin_unreachable
Tue Jan 8 16:16:00 GMT 2013
On 01/08/2013 04:26 AM, Richard Biener wrote:
> The issue is VRP - when you remove unreachable blocks you lose the
> conditional statement as it is no longer necessary and thus the predicate
> you can derive value-ranges from.
Understood. Perhaps we could eliminate them after the first VRP pass,
but before the second. That ought to give us the majority of the
benefit of seeing the conditional and propagating based on the
conditional, but also give us the benefit of eliminating the branch
generating straight-line code.
Clearly it needs more investigation, but I think it's worth exploring.
More information about the Gcc-patches