Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support metadata fields added in LLVM 14 #109

Merged
merged 3 commits into from
Apr 10, 2023
Merged

Support metadata fields added in LLVM 14 #109

merged 3 commits into from
Apr 10, 2023

Conversation

RyanGlScott
Copy link
Collaborator

The primary goal of this PR is to add support for btf_tag annotations on LLVM's metadata nodes, which are necessary to load essentially any bitcode file compiled with clang-14 -g. See GaloisInc/llvm-pretty-bc-parser#188.

This also adds support for DWARF address spaces in DIDerivedType (see GaloisInc/llvm-pretty-bc-parser#85) and alignment in DILocalVariable (see GaloisInc/llvm-pretty-bc-parser#217), both of which appear immediately before btf_tag annotations in their respective metadata nodes. These do not occur as often as btf_tag annotations do, but I added them for the sake of completeness.

src/Text/LLVM/AST.hs Show resolved Hide resolved
@RyanGlScott RyanGlScott merged commit d099d5d into master Apr 10, 2023
@RyanGlScott RyanGlScott deleted the llvm-14 branch April 10, 2023 11:03
RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Apr 20, 2023
This adds support for LLVM versions up to 14 by:

* Bumping the `llvm-pretty` submodule to bring in the changes from
  GaloisInc/llvm-pretty#109.
* Bumping the `llvm-pretty-bc-parser` submodule to bring in the changes from
  GaloisInc/llvm-pretty-bc-parser#219.
* Updating the test output in `crux-llvm` and `uc-crux-llvm`'s test suites
  accordingly.
RyanGlScott added a commit to GaloisInc/saw-script that referenced this pull request Apr 20, 2023
This adds support for LLVM versions up to 14 by:

* Bumping the `llvm-pretty` submodule to bring in the changes from
  GaloisInc/llvm-pretty#109.
* Bumping the `llvm-pretty-bc-parser` submodule to bring in the changes from
  GaloisInc/llvm-pretty-bc-parser#219.
* Bumping the `crucible` submodule to bring in the changes from
  GaloisInc/crucible#1083.
* Updating the surrounding documentation accordingly.
RyanGlScott added a commit to GaloisInc/saw-script that referenced this pull request May 26, 2023
This adds support for LLVM versions up to 14 by:

* Bumping the `llvm-pretty` submodule to bring in the changes from
  GaloisInc/llvm-pretty#109.
* Bumping the `llvm-pretty-bc-parser` submodule to bring in the changes from
  GaloisInc/llvm-pretty-bc-parser#219.
* Bumping the `crucible` submodule to bring in the changes from
  GaloisInc/crucible#1083.
* Updating the surrounding documentation accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants