blob: c496900b5f21eddd74d7f17abf235f557b73de8c [file] [log] [blame]
#!/usr/bin/env bash
set -x
set -e
PROFRAW_DIR=$1
OUTPUT_FILENAME=$2
# Reads the paths to prof data files from INPUT_FILENAME and then merges them
# into OUTPUT_FILENAME.
TARGETS=($(find ${PROFRAW_DIR} -name '*.profraw'))
if [[ ${#TARGETS[@]} -eq 0 ]]; then
echo "Error! No *.profraw targets to merge!"
exit 1
fi
FIRST_TARGET=${TARGETS[0]}
xcrun -sdk macosx llvm-profdata merge -output-file=${OUTPUT_FILENAME} ${FIRST_TARGET}
if [[ ${#TARGETS[@]} -eq 1 ]]; then
exit 0
fi
# Reduce over the rest of the targets
for t in "${TARGETS[@]:1}"; do
xcrun -sdk macosx llvm-profdata merge -o=${OUTPUT_FILENAME}.tmp ${t} ${OUTPUT_FILENAME}
mv ${OUTPUT_FILENAME}.tmp ${OUTPUT_FILENAME}
done
set +e
set +x