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

Fix #40 by bumping llvm-pretty{,-bc-parser submodules and passing -ffp-contract=off to Clang #41

Merged
merged 5 commits into from
Dec 13, 2023

Commits on Dec 13, 2023

  1. Bump dependencies, require copilot >= 3.17

    This requires some minor code changes to adapt to renamed functions in
    `copilot-3.17`.
    RyanGlScott committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    a42a2eb View commit details
    Browse the repository at this point in the history
  2. Pass -ffp-contract=off to Clang when compiling C code

    Clang 14+ enable `-ffp-contract=on` by default, which cause floating-point
    expressions such as `a + b * c` to be optimized to fused multiply-add LLVM
    intrinsics (e.g., `llvm.fmuladd.*`). This is a problem for `copilot-verifier`,
    which critically relies on preserving the order of additions and
    mulitplications. Thankfully, we can override this option by explicitly passing
    `-ffp-contract=off` to Clang.
    RyanGlScott committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    1ad1246 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8717fa6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e25ebb1 View commit details
    Browse the repository at this point in the history
  5. Don't build llvm-pretty-bc-parser with tests enabled

    See the comments in the `cabal.project` for why this is necessary.
    RyanGlScott committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    fe141bb View commit details
    Browse the repository at this point in the history