On Wed, Mar 11, 2015 at 03:30:36PM -0600, Jeff Law wrote:
> +#ifndef GCC_GCSE__COMMONH
> +#define GCC_GCSE__COMMONH
GCC_GCSE_COMMON_H instead?
> @@ -1308,8 +1396,19 @@ gcse_after_reload_main (rtx f ATTRIBUTE_UNUSED)
>
> if (expr_table->elements () > 0)
> {
> + /* Knowing which MEMs are transparent through a block can signifiantly
> + increase the number of reundant loads found. So compute transparency
> + information for for each memory expression in the hash table. */
s/for for/for/ ?
> + df_analyze ();
> + /* This can not be part of the normal allocation routine because
> + we have to know the number of elements in the hash table. */
> + transp = sbitmap_vector_alloc (last_basic_block_for_fn (cfun),
> + expr_table->elements ());
> + bitmap_vector_ones (transp, last_basic_block_for_fn (cfun));
> + expr_table->traverse <FILE *, compute_expr_transp> (dump_file);
> eliminate_partially_redundant_loads ();
> delete_redundant_insns ();
> + sbitmap_vector_free (transp);
>
> if (dump_file)
> {
What effect does the patch have on compile time on say x86_64 or ppc64?
I'm slightly leaning towards trying it even in stage4, but if e.g. richi
disagrees, we could defer it to stage1 too.
Jakub