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

Work around LLVM's reltable lookup optimization #1214

Merged
merged 1 commit into from
Jun 11, 2024

Commits on Jun 8, 2024

  1. Work around LLVM's reltable lookup optimization

    Clang 14.0.0+ introduce a relative lookup table optimization that produces code
    that subtracts two pointers from different allocation regions, which is
    something that `crucible-llvm` is ill equipped to reason about. For lack of a
    viable alternative, we work around this issue by "undoing" this optimization
    before translating the code to Crucible. For the full details, see the new
    `Note [Undoing LLVM's relative table lookup conversion pass]` in
    `Lang.Crucible.LLVM.Globals`.
    
    Fixes #1174.
    RyanGlScott committed Jun 8, 2024
    Configuration menu
    Copy the full SHA
    6f70319 View commit details
    Browse the repository at this point in the history