packages feed

llvm-pretty-bc-parser-0.6.0.0: README.md

# llvm-pretty-bc-parser

A parser for the LLVM bitcode file format, yielding a `Module` from
[the llvm-pretty package](http://hackage.haskell.org/package/llvm-pretty).

## Compatibility

The following table shows what kinds of tests have been/are being run with which
compilers.

 - A check in the the randomized tests column indicates that such tests are
   regularly run [in Github Actions][fuzz-workflow].
 - A check in the manual tests column indicates that the parser seems to work on
   some code that was generated by this compiler.

| Compiler  | Version | [Randomized tests](./fuzzing) | Manual tests | Notes                 |
|-----------|---------|-------------------------------|--------------|-----------------------|
| `clang`   | v3.4    | ✓                             |              | See [issues][llvm3.4] |
|           | v3.5    | ✓                             |              | See [issues][llvm3.5] |
|           | v3.6    | ✓                             |              | See [issues][llvm3.6] |
|           | v3.7    | ✓                             |              | See [issues][llvm3.7] |
|           | v3.8    | ✓                             | ✓            | See [issues][llvm3.8] |
|           | v3.9    | ✓                             |              | See [issues][llvm3.9] |
|           | v4      | ✓                             |              | See [issues][llvm4]   |
|           | v5      | ✓                             |              | See [issues][llvm5]   |
|           | v6      | ✓                             | ✓            | See [issues][llvm6]   |
|           | v7      | ✓                             |              | See [issues][llvm7]   |
|           | v8      | ✓                             |              | See [issues][llvm8]   |
|           | v9      | ✓                             |              | See [issues][llvm9]   |
|           | v10     | ✓                             | ✓            | See [issues][llvm10]  |
|           | v11     | ✓                             | ✓            | See [issues][llvm11]  |
|           | v12     | ✓                             | ✓            | See [issues][llvm12]  |
|           | v13     | ✓                             | ✓            | See [issues][llvm13]  |
|           | v14     | ✓                             | ✓            | See [issues][llvm14]  |
|           | v15     | ✓                             | ✓            | See [issues][llvm15]  |
|           | v16     | ✓                             | ✓            | See [issues][llvm16]  |
|           | v17     | ✓                             | ✓            | See [issues][llvm17]  |
|           | v18     | ✓                             | ✓            | See [issues][llvm18]  |
|           | v19     | ✓                             | ✓            | See [issues][llvm19]  |
|           | v20     | ✓                             | ✓            | See [issues][llvm20]  |
|           | v21     | ✓                             | ✓            | See [issues][llvm21]  |

If you encounter problems with the output of *any* compiler, please file [an
issue](https://github.com/GaloisInc/llvm-pretty-bc-parser/issues).

## Documentation

Developers' documentation: [doc/developing.md](./doc/developing.md)

## GHC Support

llvm-pretty-bc-parser endeavors to support three versions of GHC at a time. See
the developers' documentation for more details and a rationale:
[doc/developing.md](./doc/developing.md). Currently supported:

- GHC 9.6.6
- GHC 9.8.4
- GHC 9.10.1

[fuzz-workflow]: https://github.com/GaloisInc/llvm-pretty-bc-parser/blob/master/.github/workflows/llvm-quick-fuzz.yml
[llvm3.4]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.4
[llvm3.5]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.5
[llvm3.6]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.6
[llvm3.7]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.7
[llvm3.8]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.8
[llvm3.9]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F3.9
[llvm4]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F4.0
[llvm5]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F5.0
[llvm6]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F6.0
[llvm7]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F7.0
[llvm8]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F8.0
[llvm9]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F9.0
[llvm10]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F10.0
[llvm11]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F11.0
[llvm12]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F12.0
[llvm13]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F13.0
[llvm14]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F14.0
[llvm15]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F15.0
[llvm16]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F16.0
[llvm17]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F17.0
[llvm18]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F18.0
[llvm19]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F19.0
[llvm20]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F20.0
[llvm21]: https://github.com/GaloisInc/llvm-pretty-bc-parser/issues?q=is%3Aopen+is%3Aissue+label%3Allvm%2F21.0