Control dependence vs. builtin_unreachable

Jeff Law
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 mailing list