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

Parse atomic operations introduced in LLVM 9+ #274

Merged
merged 1 commit into from
Jul 25, 2024

Conversation

RyanGlScott
Copy link
Contributor

This adapts llvm-pretty-bc-parser to new atomic operations introduced in LLVM 9 and later:

@RyanGlScott RyanGlScott requested a review from kquick July 25, 2024 11:51
Copy link
Member

@kquick kquick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good once the tests pass.

@RyanGlScott RyanGlScott force-pushed the new-atomic-operations branch from 84821be to 7058d27 Compare July 25, 2024 12:05
This adapts `llvm-pretty-bc-parser` to new atomic operations introduced in LLVM
9 and later:

* This bumps the `llvm-pretty` submodule to incorporate the changes from
  GaloisInc/llvm-pretty#138 and
  GaloisInc/llvm-pretty#140.
* This updates the parsing code in `Data.LLVM.BitCode.IR.Function` to account
  for atomic `fadd`, `fsub`, `fmax`, `fmin`, `uinc_wrap`, and `udec_wrap`
  operations.
* This ensures that all atomic operations have a corresponding `disasm-test`
  test case.
@RyanGlScott RyanGlScott force-pushed the new-atomic-operations branch from 7058d27 to 4f85bba Compare July 25, 2024 12:15
@RyanGlScott RyanGlScott merged commit 0f789a1 into master Jul 25, 2024
8 checks passed
@RyanGlScott RyanGlScott deleted the new-atomic-operations branch July 25, 2024 12:40
RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Jul 25, 2024
This adapts `crucible-llvm` to new atomic operations introduced in LLVM 9 and later:

* This bumps the `llvm-pretty` submodule to incorporate the changes from
  GaloisInc/llvm-pretty#138 and
  GaloisInc/llvm-pretty#140.
* This bumps the `llvm-pretty-bc-parser` submodule to incorporate changes from
  GaloisInc/llvm-pretty-bc-parser#274.
* This updates `crucible-llvm`'s semantics for the `atomicrmw` instruction to
  account for atomic `fadd`, `fsub`, `fmax`, `fmin`, `uinc_wrap`, and `udec_wrap` operations.
* This ensures that all atomic operations have a corresponding `crux-llvm` test case.
RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Jul 26, 2024
This adapts `crucible-llvm` to new atomic operations introduced in LLVM 9 and later:

* This bumps the `llvm-pretty` submodule to incorporate the changes from
  GaloisInc/llvm-pretty#138 and
  GaloisInc/llvm-pretty#140.
* This bumps the `llvm-pretty-bc-parser` submodule to incorporate changes from
  GaloisInc/llvm-pretty-bc-parser#274.
* This updates `crucible-llvm`'s semantics for the `atomicrmw` instruction to
  account for atomic `fadd`, `fsub`, `fmax`, `fmin`, `uinc_wrap`, and `udec_wrap` operations.
* This ensures that all atomic operations have a corresponding `crux-llvm` test case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants