Julia: [v1.4] "LLVM ERROR: Symbols not found:" when running AccurateArithmetic tests

Created on 22 Mar 2020  路  6Comments  路  Source: JuliaLang/julia

This is not an MWE but I want to get the ball rolling. Running the test suite of ~AstroBase.jl~ AccurateArithmetic.jl fails with this as the only output:

LLVM ERROR: Symbols not found: { _llvm.experimental.vector.reduce.v2.fadd.f64.v4f64 }

Steps to reproduce

~- Clone AstroBase.jl and switch to branch he/refactor~

  • Run tests of AccurateArithmetic.jl

Additional Info

  • On v1.3 the tests fail because of some UndefVarErrors. That is the expected behavior.

    • Commenting out those offending tests does not help on v1.4

  • The culprit seems to be AccurateArithmetic.jl

CC: @chriselrod, @ffevotte, @JeffreySarnoff

Most helpful comment

That was my mistake. I checked the LLVM 8 language reference, found experimental reduce fadd, and didn't look closely enough to see that it was different from the v2, two-argument, variants present in LLVM 9 and beyond.

Given that AccurateArithmetic has had a few SIMDPirates-related issues before, and SIMDPirates didn't have a test suite, this is its new runtests.jl. A bad solution, but still an improvement.
I normally run LoopVectorization's tests on my own computer after every change, but these take a long time on Travis.

They also allowed this (an LLVM 8-bug) to slip through the cracks.

All 6 comments

I can reproduce this, both on my machine and on travis.

What seems strange to me is that tests pass with julia nightly. See for example the last travis test results:

File a bug report with SIMDPirates.jl (the v2 experimental reductions are only available on LLVM 9 and later).

But how come everything works with 1.3 and nightly, but not 1.4?

Because it is a bug in SIMDPirates.jl... Here, the reason is that different LLVM versions are used in all of those releases.

File a bug report with SIMDPirates.jl (the v2 experimental reductions are only available on LLVM 9 and later).

Done and PR: https://github.com/chriselrod/SIMDPirates.jl/pull/6

That was my mistake. I checked the LLVM 8 language reference, found experimental reduce fadd, and didn't look closely enough to see that it was different from the v2, two-argument, variants present in LLVM 9 and beyond.

Given that AccurateArithmetic has had a few SIMDPirates-related issues before, and SIMDPirates didn't have a test suite, this is its new runtests.jl. A bad solution, but still an improvement.
I normally run LoopVectorization's tests on my own computer after every change, but these take a long time on Travis.

They also allowed this (an LLVM 8-bug) to slip through the cracks.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sbromberger picture sbromberger  路  3Comments

manor picture manor  路  3Comments

iamed2 picture iamed2  路  3Comments

wilburtownsend picture wilburtownsend  路  3Comments

helgee picture helgee  路  3Comments