# llvm-reduce

DevFeed: [llvm-reduce](<https://devfeed.tech/articles/llvm-reduce-39745.md>)

Original publisher: [Read original article](<https://blog.regehr.org/archives/2109>)

Author: regehr

Published: 2021-05-13T16:58:00Z

Content type: article

Language: en

Sources: [Embedded in Academia](<https://devfeed.tech/sources/embedded-in-academia.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [compilers](<https://devfeed.tech/topics/compilers.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [fuzzing](<https://devfeed.tech/tags/fuzzing.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

## AI overview

This article explains llvm-reduce, an LLVM tool for automatically reducing LLVM IR test cases. It describes its modular reduction passes, interestingness tests, LLVM-specific transformations, compatibility with C-Reduce, and inclusion in LLVM.

## Source excerpt

Test-case reduction is more or less a necessity when debugging failures of complex programs such as compilers. Automated test-case reduction is useful not only because it allows developers to avoid wasting time reducing inputs by hand, but also because it supports new techniques such as automatically triaging bulk failures seen in the field or during [...]