This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA][PATCH] Run CFG cleanups after reassociation as needed


On 12/04/2015 03:19 AM, Richard Biener wrote:
On Thu, Dec 3, 2015 at 6:54 PM, Jeff Law <law@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]