Sorry, I didn't test it against logical_op_short_circuit target. I will look into this PR.
Thanks, bin On Fri, Feb 28, 2014 at 9:34 AM, Hans-Peter Nilsson <h...@bitrange.com> wrote: > On Tue, 25 Feb 2014, bin.cheng wrote: > >> Hi, >> This patch is to fix regression reported in PR60280 by removing forward loop >> headers/latches in cfg cleanup if possible. Several tests are broken by >> this change since cfg cleanup is shared by all optimizers. Some tests has >> already been fixed by recent patches, I went through and fixed the others. >> One case needs to be clarified is "gcc.dg/tree-prof/update-loopch.c". When >> GCC removing a basic block, it checks profile information by calling >> check_bb_profile after redirecting incoming edges of the bb. This certainly >> results in warnings about invalid profile information and causes the case to >> fail. I will send a patch to skip checking profile information for a >> removing basic block in stage 1 if it sounds reasonable. For now I just >> twisted the case itself. >> >> Bootstrap and tested on x86_64 and arm_a15. >> >> Is it OK? >> >> >> 2014-02-25 Bin Cheng <bin.ch...@arm.com> >> >> PR target/60280 >> * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop >> preheaders and latches only if requested. Fix latch if it >> is removed. >> * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set >> LOOPS_HAVE_PREHEADERS. >> >> gcc/testsuite/ChangeLog >> 2014-02-25 Bin Cheng <bin.ch...@arm.com> >> >> PR target/60280 >> * gnat.dg/renaming5.adb: Change to two expected gotos. >> * gcc.dg/tree-ssa/pr21559.c: Change back to three expected >> jump threads. >> * gcc.dg/tree-prof/update-loopch.c: Check two "Invalid sum" >> messages for removed basic block. >> * gcc.dg/tree-ssa/ivopt_1.c: Fix unreliable scanning string. >> * gcc.dg/tree-ssa/ivopt_2.c: Ditto. >> * gcc.dg/tree-ssa/ivopt_3.c: Ditto. >> * gcc.dg/tree-ssa/ivopt_4.c: Ditto. > > Do you need to also update gcc.dg/tree-ssa/ssa-dom-thread-4.c, > at least for logical_op_short_circuit targets? > (There's a nice analysis comment there by Richard S which may > also have to be updated.) > > This caused a regression for logical_op_short_circuit targets, I > entered PR60363 for convenience. > > brgds, H-P -- Best Regards.