From 275f7bc35fb864ef7867ff7e12bf5b27277ecc36 Mon Sep 17 00:00:00 2001 From: Eugene Rozenfeld Date: Thu, 29 Jun 2023 19:38:41 -0700 Subject: [PATCH] Collect both user and kernel events for autofdo tests and autoprofiledbootstrap When we collect just user events for autofdo with lbr we get some events where branch sources are kernel addresses and branch targets are user addresses. Without kernel MMAP events create_gcov can't make sense of kernel addresses. Currently create_gcov fails if it can't map at least 95% of events. We sometimes get below this threshold with just user events. The change is to collect both user events and kernel events. Tested on x86_64-pc-linux-gnu. ChangeLog: * Makefile.in: Collect both kernel and user events for autofdo * Makefile.tpl: Collect both kernel and user events for autofdo gcc/testsuite/ChangeLog: * lib/target-supports.exp: Collect both kernel and user events for autofdo --- Makefile.in | 2 +- Makefile.tpl | 2 +- gcc/testsuite/lib/target-supports.exp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in index f19a9db621e..04307ca561b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -404,7 +404,7 @@ MAKEINFO = @MAKEINFO@ EXPECT = @EXPECT@ RUNTEST = @RUNTEST@ -AUTO_PROFILE = gcc-auto-profile -c 10000000 +AUTO_PROFILE = gcc-auto-profile --all -c 10000000 # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still diff --git a/Makefile.tpl b/Makefile.tpl index 3a5b7ed3c92..d0fe7e2fb77 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -407,7 +407,7 @@ MAKEINFO = @MAKEINFO@ EXPECT = @EXPECT@ RUNTEST = @RUNTEST@ -AUTO_PROFILE = gcc-auto-profile -c 10000000 +AUTO_PROFILE = gcc-auto-profile --all -c 10000000 # This just becomes part of the MAKEINFO definition passed down to # sub-makes. It lets flags be given on the command line while still diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 4d04df2a709..b16853d76df 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -704,7 +704,7 @@ proc check_effective_target_keeps_null_pointer_checks { } { # this allows parallelism of 16 and higher of parallel gcc-auto-profile proc profopt-perf-wrapper { } { global srcdir - return "$srcdir/../config/i386/gcc-auto-profile -m8 " + return "$srcdir/../config/i386/gcc-auto-profile --all -m8 " } # Return true if profiling is supported on the target.