aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndi Kleen <ak@gcc.gnu.org>2024-10-31 16:31:02 -0700
committerAndi Kleen <ak@gcc.gnu.org>2024-11-08 20:42:43 -0800
commit9c8f3d5e7d5ee64ffe5c50a72b087227f2e8f957 (patch)
treef882b81fe82af9b4087f6afd4f9d27ac7d4de743 /gcc
parent440be01b07941506d1c8819448bd17c8717d55f5 (diff)
downloadgcc-9c8f3d5e7d5ee64ffe5c50a72b087227f2e8f957.zip
gcc-9c8f3d5e7d5ee64ffe5c50a72b087227f2e8f957.tar.gz
gcc-9c8f3d5e7d5ee64ffe5c50a72b087227f2e8f957.tar.bz2
Update gcc-auto-profile / gen_autofdo_event.py
- Fix warnings with newer python versions about bad escapes by making all the python string raw. - Add a fallback for using the builtin perf event list if the CPU model number is unknown. - Regenerate the shipped gcc-auto-profile with the changes. contrib/ChangeLog: * gen_autofdo_event.py: Convert strings to raw. Add fallback to using builtin perf event list. gcc/ChangeLog: * config/i386/gcc-auto-profile: Regenerate.
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/config/i386/gcc-auto-profile21
1 files changed, 14 insertions, 7 deletions
diff --git a/gcc/config/i386/gcc-auto-profile b/gcc/config/i386/gcc-auto-profile
index 04f7d35..528b34e 100755
--- a/gcc/config/i386/gcc-auto-profile
+++ b/gcc/config/i386/gcc-auto-profile
@@ -82,17 +82,24 @@ model*:\ 126|\
model*:\ 167|\
model*:\ 140|\
model*:\ 141|\
-model*:\ 143|\
-model*:\ 207|\
model*:\ 106|\
-model*:\ 108) E="cpu/event=0xc4,umask=0x20/p$FLAGS" ;;
+model*:\ 108|\
+model*:\ 173|\
+model*:\ 174) E="cpu/event=0xc4,umask=0x20/$FLAGS" ;;
model*:\ 134|\
model*:\ 150|\
-model*:\ 156|\
-model*:\ 190) E="cpu/event=0xc4,umask=0xfe/p$FLAGS" ;;
+model*:\ 156) E="cpu/event=0xc4,umask=0xfe/p$FLAGS" ;;
+model*:\ 143|\
+model*:\ 207) E="cpu/event=0xc4,umask=0x20/p$FLAGS" ;;
+model*:\ 190) E="cpu/event=0xc4,umask=0xc0/$FLAGS" ;;
+model*:\ 190) E="cpu/event=0xc4,umask=0xfe/$FLAGS" ;;
*)
+ if perf list br_inst_retired | grep -q br_inst_retired.near_taken ; then
+ E=br_inst_retired.near_taken:p
+ else
echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
- exit 1 ;;
+ exit 1
+ fi ;;
esac
set -x
if ! perf record -e $E -b "$@" ; then
@@ -100,7 +107,7 @@ if ! perf record -e $E -b "$@" ; then
# (e.g., in a virtual machine). Trying to run without /p.
set +x
echo >&2 "Retrying without /p."
- E="$(echo "${E}" | sed -e 's/\/p/\//')"
+ E="$(echo "${E}" | sed -e \'s/\/p/\//\ -e s/:p//)"
set -x
exec perf record -e $E -b "$@"
set +x