void compute_lcm_local_properties ();
void fuse_local_vsetvl_info ();
- bool earliest_fuse_vsetvl_info ();
+ bool earliest_fuse_vsetvl_info (int iter);
void pre_global_vsetvl_info ();
void emit_vsetvl ();
void cleaup ();
bool
-pre_vsetvl::earliest_fuse_vsetvl_info ()
+pre_vsetvl::earliest_fuse_vsetvl_info (int iter)
{
compute_avl_def_data ();
compute_vsetvl_def_data ();
if (dump_file && (dump_flags & TDF_DETAILS))
{
- fprintf (dump_file, "\n Compute LCM earliest insert data:\n\n");
+ fprintf (dump_file, "\n Compute LCM earliest insert data (lift %d):\n\n",
+ iter);
fprintf (dump_file, " Expression List (%u):\n", num_exprs);
for (unsigned i = 0; i < num_exprs; i++)
{
if (dump_file && (dump_flags & TDF_DETAILS))
{
- fprintf (dump_file, " Fused global info result:\n");
+ fprintf (dump_file, " Fused global info result (lift %d):\n", iter);
}
bool changed = false;
if (src_block_info.has_info ())
src_block_info.probability += dest_block_info.probability;
}
- else if (src_block_info.has_info ()
- && !m_dem.compatible_p (prev_info, curr_info))
+ else
{
/* Cancel lift up if probabilities are equal. */
if (successors_probability_equal_p (eg->src))
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file,
- " Change empty bb %u to from:",
+ " Reset bb %u:",
eg->src->index);
prev_info.dump (dump_file, " ");
fprintf (dump_file,
- " to (higher probability):");
+ " due to (same probability):");
curr_info.dump (dump_file, " ");
}
src_block_info.set_empty_info ();
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file,
- " Change empty bb %u to from:",
+ " Change bb %u from:",
eg->src->index);
prev_info.dump (dump_file, " ");
fprintf (dump_file,
{
if (dump_file)
fprintf (dump_file, " Try lift up %d.\n\n", fused_count);
- changed = pre.earliest_fuse_vsetvl_info ();
+ changed = pre.earliest_fuse_vsetvl_info (fused_count);
fused_count += 1;
} while (changed);