aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Rozenfeld <erozen@microsoft.com>2023-06-29 19:38:41 -0700
committerEugene Rozenfeld <erozen@microsoft.com>2023-07-07 13:06:28 -0700
commit275f7bc35fb864ef7867ff7e12bf5b27277ecc36 (patch)
tree2645f0ca270d4301567ca62e1e2612de64239722
parentbdf2737cda53a83332db1a1a021653447b05a7e7 (diff)
downloadgcc-275f7bc35fb864ef7867ff7e12bf5b27277ecc36.zip
gcc-275f7bc35fb864ef7867ff7e12bf5b27277ecc36.tar.gz
gcc-275f7bc35fb864ef7867ff7e12bf5b27277ecc36.tar.bz2
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
-rw-r--r--Makefile.in2
-rw-r--r--Makefile.tpl2
-rw-r--r--gcc/testsuite/lib/target-supports.exp2
3 files changed, 3 insertions, 3 deletions
diff --git a/Makefile.in b/Makefile.in
index f19a9db..04307ca 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 3a5b7ed..d0fe7e2f 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 4d04df2..b16853d 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.