Avoid repeating calculations in threader.
We already attempt to resolve the current path on entry to find_paths_to_name(), so there's no need to do so again for each exported range since nothing has changed. Removing this redundant calculation avoids 22% of calls into the path solver. Tested on x86-64 and ppc64le Linux with the usual regstrap. I also verified that the before and after number of threads was the same in a suite of .ii files from a bootstrap. gcc/ChangeLog: PR tree-optimization/102943 * tree-ssa-threadbackward.c (back_threader::find_paths_to_names): Avoid duplicate calculation of paths.
This commit is contained in:
parent
5ea1ce43b6
commit
e441162269
|
@ -443,18 +443,6 @@ back_threader::find_paths_to_names (basic_block bb, bitmap interesting)
|
|||
goto leave_bb;
|
||||
}
|
||||
}
|
||||
// Examine blocks that define or export an interesting SSA,
|
||||
// since they may compute a range which resolve this path.
|
||||
if ((def_bb == bb
|
||||
|| bitmap_bit_p (m_ranger->gori ().exports (bb), i))
|
||||
&& m_path.length () > 1)
|
||||
{
|
||||
if (maybe_register_path ())
|
||||
{
|
||||
done = true;
|
||||
goto leave_bb;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If there are interesting names not yet processed, keep looking.
|
||||
|
|
Loading…
Reference in New Issue