aboutsummaryrefslogtreecommitdiff
path: root/bolt/utils
AgeCommit message (Collapse)AuthorFilesLines
2022-06-03[BOLT][UTILS] Usability improvements for nfc-check-setupAmir Ayupov1-4/+27
# Stash local changes before checkout. # Print a message that the source repository revision has been changed, with instructions to switch back. # Make the script executable. # Print sample instructions how to run bolt tests. # Assume that llvm-bolt-wrapper script is in the same source directory. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126941
2022-06-01[BOLT][UTILS] Add dot2html helper tool to embed dot into htmlAmir Ayupov2-0/+114
To be rendered in browser using d3-graphviz. Example: {F23169510} Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D126218
2022-02-04[BOLT] Add nfc-check-setup scriptAmir Ayupov1-0/+59
Add the script to set up llvm-bolt-wrapper. The intended use is to run NFC checks manually and automatically on a buildbot. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D118516
2022-01-28[BOLT] Imported llvm-bolt-wrapper scriptAmir Ayupov1-0/+397
Commit history in chronological order: [BOLT] llvm-bolt-wrapper: added wrapper for bolt binary matching Summary: Wrapper to compare two versions of BOLT to see if they produce the same output binary given the same input. (cherry picked from FBD26626137) [BOLT] llvm-bolt-wrapper: support for no-output tests and heatmap mode Summary: - Added an option `skip_binary_cmp` to support invocations that don't output a binary - Minor fixes for heatmap mode, timeout, log comparison - Rearranged in-line config example to be copy-pasteable (cherry picked from FBD26822016) [BOLT] llvm-bolt-wrapper: merge stdout/stderr, search for config in script dir (cherry picked from FBD27529335) [BOLT] llvm-bolt-wrapper: handle /dev/null Summary: Fixed the wrapper to preserve `-o /dev/null` and skip binary matching for such invocations. (cherry picked from FBD28013747) [BOLT] llvm-bolt-wrapper: handle cases where output binary doesn't exist Summary: Handle invocations where output binary is not generated (e.g. due to an expected assertion or exit with BOLT-ERROR) and skip binary comparison in such cases. (cherry picked from FBD28080158) [BOLT] llvm-bolt-wrapper: handle boltdiff mode Summary: Handle `llvm-boltdiff` invocation similarly to `perf2bolt` (cherry picked from FBD28080157) [BOLT] llvm-bolt-wrapper: find section with mismatch Summary: For mismatching ELF files, find section with mismatch and print sections table with highlighted mismatch section. (cherry picked from FBD28087231) [BOLT] llvm-bolt-wrapper: ignore-build-id in perf2bolt mode Summary: When perf2bolt fails to match build-id from perf output for cmp binary, we need to use -ignore-build-id option to override the strict checking behavior. (cherry picked from FBD28087232) [BOLT] llvm-bolt-wrapper: suppress -bolt-info=0 in heatmap mode Summary: Heatmap mode is incompatible with `-bolt-info=0` used to suppress binary differences. Remove it. (cherry picked from FBD28087230) [BOLT] llvm-bolt-wrapper: add config-generator mode Summary: llvm-bolt-wrapper config can be generated by the script itself. It makes the workflow more reliable compared to preparing the config manually. (cherry picked from FBD28358939) [BOLT] llvm-bolt-wrapper: fix mismatch reporting Summary: 1. Fixed header comparison issue where headers were skipped due to `skip_end == 0` (`lst[:-n]` does not work if n==0). 2. Detect color support while printing mismatching section: - use bold color if terminal supports ANSI escape codes, - otherwise print ">" at mismatching section. 3. Remove extra 0x before mismatching offset. (cherry picked from FBD28691979) [BOLT] llvm-bolt-wrapper: handle perf2bolt tests with ignore-build-id Summary: `ignore-build-id` must be passed not more than once. Account for that. (cherry picked from FBD29830266) [BOLT] llvm-bolt-wrapper: fix running subprocesses in parallel Summary: The commands were running sequentially due to the use of blocking `communicate` call, which is needed when stdout/stderr are directed to a pipe. Fix this behavior by directing the output to a file. (cherry picked from FBD29951863)
2022-01-12[BOLT] Update repo location in DockerfileAmir Ayupov1-1/+1
2021-12-23[bughunter.sh][NFC] Fix license and file descriptionMaksim Panchenko1-6/+8
Summary: Convert bughunter.sh to the new LLVM license and fix file-description comments. (cherry picked from FBD33298823)
2021-11-23[BOLT] Import bughunter scriptAmir Ayupov1-0/+264
Summary: Import the script and update it to use `-funcs-file-no-regex` (cherry picked from FBD32636025)
2021-10-23[BOLT] Add DockerfileMaksim Panchenko1-0/+31
Summary: Dockerfile based on Ubuntu:20.04. Fixes facebookincubator/BOLT#214. (cherry picked from FBD31883210)