On 12/04/2015 03:19 AM, Richard Biener wrote:
On Thu, Dec 3, 2015 at 6:54 PM, Jeff Law <l...@redhat.com> wrote:
This is something I noticed while working on fixing 67816.

Essentially I was seeing trivially true or trivially false conditionals left
in the IL for DOM to clean up.

While DOM can and will clean that crud up, but a trivially true or trivially
false conditional ought to be detected and cleaned up by cleanup_cfg.

It turns out the reassociation pass does not schedule a CFG cleanup even in
cases where it optimizes a conditional to TRUE or FALSE.

Bubbling up an indicator that we optimized away a conditional and using that
to trigger a CFG cleanup is trivial.

While I have a slight preference to see this fix in GCC 6, if folks object
and want this to wait for GCC 7 stage1, I'd understand.

Bootstrapped and regression tested on x86_64-linux-gnu.

OK for the trunk?

Ok.  [I always hoped we can at some point assert we don't have trivially
optimizable control flow in the IL]
Presumably verification when a pass has completed, but not set TODO_cleanup_cfg?

Jeff

Reply via email to