LLVM-REDUCE(1)

πŸ’– NAME πŸ’–

okay bestie, welcome to LLVM-REDUCE(1) β€” LLVM’s llvm-reduce page, aka the LLVM automatic testcase reducer. ✨

🌸 SYNOPSIS 🌸

llvm-reduce [options] [input...]

πŸ¦‹ DESCRIPTION πŸ¦‹

The llvm-reduce tool project is literally here to reduce the size of LLVM test cases. πŸ’… It works by removing redundant or unnecessary code from LLVM test cases while still preserving their ability to detect bugs. no cap, that’s the whole point.

If input is -, llvm-reduce reads from standard input. Otherwise, it will read from the specified filenames. 🫢

LLVM-Reduce is a useful tool for reducing the size and complexity of LLVM test cases, making it easier to identify and debug issues in the LLVM compiler infrastructure. iconic behavior, honestly. πŸŽ€


πŸ’… GENERIC OPTIONS πŸ’…

  • --help β€” Display available options (--help-hidden for more). ✨
  • --abort-on-invalid-reduction β€” Abort if any reduction results in invalid IR. πŸ›‘
  • --in-place β€” WARNING: This option will replace your input file with the reduced version! bestie please read that twice. 😭
  • --ir-passes=<string> β€” A textual description of the pass pipeline, same as what’s passed to opt -passes. 🧚
  • -j <uint> β€” Maximum number of threads to use to process chunks. Set to 1 to disable parallelism. ⚑
  • --max-pass-iterations=<int> β€” Maximum number of times to run the full set of delta passes (default=5). πŸ”
  • --mtriple=<string> β€” Set the target triple. 🎯
  • --preserve-debug-environment β€” Don’t disable features used for crash debugging (crash reports, llvm-symbolizer and core dumps). πŸ”
  • --print-delta-passes β€” Print list of delta passes, passable to --delta-passes as a comma separated liste. (yes, liste, that’s what the page says 😌)
  • --skip-delta-passes=<string> β€” Delta passes to not run, separated by commas. By default, run all delta passes. 🚫
  • --starting-granularity-level=<uint> β€” Number of times to divide chunks prior to first test. 🧩
Note : Granularity refers to the level of detail at which the reduction process operates. A lower granularity means that the reduction process operates at a more coarse-grained level, while a higher granularity means that it operates at a more fine-grained level. πŸ’­
  • --test=<string> β€” Name of the interesting-ness test to be run. πŸ§ͺ
  • --test-arg=<string> β€” Arguments passed onto the interesting-ness test. πŸ“
  • --verbose β€” Print extra debugging information. πŸ”Š
  • --write-tmp-files-as-bitcode β€” Always write temporary files as bitcode instead of textual IR. πŸ’Ύ
  • -x={ir|mir} β€” Input language as ir or mir. 🌐

πŸŽ€ EXIT STATUS πŸŽ€

llvm-reduce returns 0 under normal operation. It returns a non-zero exit code if there were any errors. fr fr, that’s the whole vibe check. πŸ’€

🌈 AUTHOR 🌈

Maintained by the LLVM Team (https://llvm.org/). 🫢

2003-2023, LLVM Project πŸŽ€


that’s the page, bestie β€” signed LLVM-REDUCE(1), source/version 17, dated 2023-12-01, mwah πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from