From 0cfeb00b6f860af665126141ed1372b364e7190c Mon Sep 17 00:00:00 2001
From: Kugan Vivekanandarajah <kvivekananda@nvidia.com>
Date: Fri, 6 Jun 2025 22:18:30 -0700
Subject: [PATCH] [AutoFDO][testsuite] Enable clone-merge-1.c only for
 fauto-profile

This patch enables clone-merge-1.c only for fauto-profile as it is
failing otherwise. This also fixes a yupo in merge.

gcc/testsuite/ChangeLog:

	* gcc.dg/tree-prof/clone-merge-1.c: Enable only for
	-fauto-profile.

gcc/ChangeLog:

	* auto-profile.cc (function_instance::merge): Fix typo.

Signed-off-by: Kugan Vivekanandarajah <kvivekananda@nvidia.com>
---
 gcc/auto-profile.cc                            | 6 +++---
 gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/auto-profile.cc b/gcc/auto-profile.cc
index 215dadf87c2..b38dafbc1e2 100644
--- a/gcc/auto-profile.cc
+++ b/gcc/auto-profile.cc
@@ -575,10 +575,10 @@ void function_instance::merge (function_instance *other)
   for (callsite_map::const_iterator iter = other->callsites.begin ();
        iter != other->callsites.end (); ++iter)
     if (callsites.count (iter->first) == 0)
-	callsites[iter->first] = iter->second;
+      callsites[iter->first] = iter->second;
 
-  for (position_count_map::const_iterator iter = pos_counts.begin ();
-       iter != pos_counts.end (); ++iter)
+  for (position_count_map::const_iterator iter = other->pos_counts.begin ();
+       iter != other->pos_counts.end (); ++iter)
     if (pos_counts.count (iter->first) == 0)
       pos_counts[iter->first] = iter->second;
     else
diff --git a/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c b/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c
index 40aab9fdfca..e8e4957e88c 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c
+++ b/gcc/testsuite/gcc.dg/tree-prof/clone-merge-1.c
@@ -1,4 +1,6 @@
 /* { dg-options "-O3 -fno-early-inlining -fdump-ipa-afdo-all" } */
+/* { dg-require-profiling "-fauto-profile" } */ 
+
 __attribute__ ((used))
 int a[1000];
 
-- 
2.34.1

