mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Merge for issue #24915
This commit is contained in:
commit
36df60fe75
8 changed files with 186 additions and 8 deletions
80
configure
vendored
80
configure
vendored
|
@ -667,6 +667,12 @@ UNIVERSAL_ARCH_FLAGS
|
|||
CFLAGS_NODIST
|
||||
BASECFLAGS
|
||||
OPT
|
||||
LLVM_PROF_FOUND
|
||||
LLVM_PROF_ERR
|
||||
LLVM_PROF_FILE
|
||||
LLVM_PROF_MERGER
|
||||
PGO_PROF_USE_FLAG
|
||||
PGO_PROF_GEN_FLAG
|
||||
ABIFLAGS
|
||||
LN
|
||||
MKDIR_P
|
||||
|
@ -6431,6 +6437,80 @@ $as_echo "no" >&6; }
|
|||
fi
|
||||
|
||||
|
||||
# Enable PGO flags.
|
||||
# Extract the first word of "llvm-profdata", so it can be a program name with args.
|
||||
set dummy llvm-profdata; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_prog_LLVM_PROF_FOUND+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$LLVM_PROF_FOUND"; then
|
||||
ac_cv_prog_LLVM_PROF_FOUND="$LLVM_PROF_FOUND" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_LLVM_PROF_FOUND="found"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_prog_LLVM_PROF_FOUND" && ac_cv_prog_LLVM_PROF_FOUND="not-found"
|
||||
fi
|
||||
fi
|
||||
LLVM_PROF_FOUND=$ac_cv_prog_LLVM_PROF_FOUND
|
||||
if test -n "$LLVM_PROF_FOUND"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LLVM_PROF_FOUND" >&5
|
||||
$as_echo "$LLVM_PROF_FOUND" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
LLVM_PROF_ERR=no
|
||||
case $CC in
|
||||
*clang*)
|
||||
# Any changes made here should be reflected in the GCC+Darwin case below
|
||||
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
|
||||
PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd"
|
||||
LLVM_PROF_MERGER="llvm-profdata merge -output=code.profclangd *.profclangr"
|
||||
LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\""
|
||||
if test $LLVM_PROF_FOUND = not-found
|
||||
then
|
||||
LLVM_PROF_ERR=yes
|
||||
fi
|
||||
;;
|
||||
*gcc*)
|
||||
case $ac_sys_system in
|
||||
Darwin*)
|
||||
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
|
||||
PGO_PROF_USE_FLAG="-fprofile-instr-use=code.profclangd"
|
||||
LLVM_PROF_MERGER="llvm-profdata merge -output=code.profclangd *.profclangr"
|
||||
LLVM_PROF_FILE="LLVM_PROFILE_FILE=\"code-%p.profclangr\""
|
||||
if test $LLVM_PROF_FOUND = not-found
|
||||
then
|
||||
LLVM_PROF_ERR=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
PGO_PROF_GEN_FLAG="-fprofile-generate"
|
||||
PGO_PROF_USE_FLAG="-fprofile-use -fprofile-correction"
|
||||
LLVM_PROF_MERGER="true"
|
||||
LLVM_PROF_FILE=""
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
|
||||
# merged with this chunk of code?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue