cfgexpand: Skip doing conflicts if there is only 1 variable

This is a small speed up. If there is only one know stack variable, there
is no reason figure out the scope conflicts as there are none. So don't
go through all the live range calculations just to see there are none.

Bootstrapped and tested on x86_64-linux-gnu with no regressions.

gcc/ChangeLog:

	* cfgexpand.cc (add_scope_conflicts): Return right away
	if there are only one stack variable.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
This commit is contained in:
Andrew Pinski 2024-11-12 22:13:35 -08:00
parent 879c1619ab
commit 301dab51be

View File

@ -703,6 +703,11 @@ add_scope_conflicts_1 (basic_block bb, bitmap work, bool for_conflict)
static void static void
add_scope_conflicts (void) add_scope_conflicts (void)
{ {
/* If there is only one variable, there is nothing to be done as
there is only possible partition. */
if (stack_vars_num == 1)
return;
basic_block bb; basic_block bb;
bool changed; bool changed;
bitmap work = BITMAP_ALLOC (NULL); bitmap work = BITMAP_ALLOC (NULL);