This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Andreas Schwab <schwab at linux-m68k dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 2 Nov 2015 10:43:16 +0100
- Subject: Re: [PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges
- Authentication-results: sourceware.org; auth=none
- References: <5632474C dot 50002 at redhat dot com> <87ziz08nnb dot fsf at igel dot home> <5633D2B6 dot 4080201 at redhat dot com>
On Fri, Oct 30, 2015 at 9:27 PM, Jeff Law <law@redhat.com> wrote:
> On 10/30/2015 07:57 AM, Andreas Schwab wrote:
>>
>> I'm getting this regression on m68k:
>>
>> FAIL: gcc.dg/tree-ssa/ssa-thread-11.c scan-tree-dump vrp2 "FSM"
>>
>> The generated code looks equivalent, though.
>
> Definitely an artifact of differences in branch costing. Pondering the best
> way to fix.
The usual list of targets and a dg-skip ...
Or work towards eliminating those "early" target dependences
introduced in our IL.
Major effects are from LOGICAL_OP_NON_SHORT_CIRCUIT (boiling down to
BRANCH_COST as default) and from PUSH_ARGS_REVERSED. Esp. the
logical-op-non-short-circuit decisions are done a bit early (before
profile-reading
for example). So I'd rather keep the short-circuiting for all targets (for the
GENERIC folding) and let ifcombine do the "heavy" lifting also taking
into account
branch predictability (and target preferences).
Richard.
> jeff