This is the mail archive of the
mailing list for the GCC project.
Re: CFG merge part 21 - double test conversion pass
- From: Richard Henderson <rth at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: Roger Sayle <roger at eyesopen dot com>, gcc-patches at gcc dot gnu dot org, gcc-pdo at atrey dot karlin dot mff dot cuni dot cz
- Date: Sun, 2 Jun 2002 14:45:39 -0700
- Subject: Re: CFG merge part 21 - double test conversion pass
- References: <Pine.LNX.firstname.lastname@example.org> <20020531144923.C6049@redhat.com> <20020601182451.GQ29168@atrey.karlin.mff.cuni.cz>
On Sat, Jun 01, 2002 at 08:24:51PM +0200, Jan Hubicka wrote:
> * ifcvt.c (num_possible_double_test_blocks,
> num_updated_double_test_blocks, num_removed_blocks_double_test): New
> static variables.
> (double_test_info): New structure.
> (nonzero_test, double_test_ior_and, m1_test, find_double_test_block,
> process_double_test_block, block_side_effects_p): New static functions.
> (find_if_header): Call find_double_test_block.
> (dead_or_predicatble): Properly update LABEL_NUSES.
> (if_convert): Output statistics.
Have you looked to see how this handles three or more tests?
Does it sort of chain them together creating weird setcc
patterns with the result of the first-merged test?
How much work to convert the thing such that it collects
multiple tests all at once? That would certainly make ia64
parallel compares easier to generate...