xls
xls copied to clipboard
[fuzzer 2024-09-26_ac56] Different results between IR and IR-opt
crasher_2024-09-26_ac56.x reports a different result when evaluated before and after optimization
args: bits[21]:0x8_1001; bits[5]:0x1f; bits[37]:0x1f_ffff_ffff
evaluated opt IR (JIT), evaluated opt IR (interpreter), evaluated unopt IR (interpreter), interpreted DSLX, simulated =
(bits[49]:0xffff_ffff_ffff, bits[1]:0x1, bits[1]:0x1, (bits[1]:0x1, bits[19]:0x5_959f))
evaluated unopt IR (JIT) =
(bits[49]:0xffff_ffff_ffff, bits[1]:0x1, bits[1]:0x1, (bits[1]:0x1, bits[19]:0x3_2b3e))
To reproduce: Create a directory to collect all artifacts
mkdir /tmp/fuzzout
bazel build -c opt xls/fuzzer:run_crasher
bazel-bin/xls/fuzzer/run_crasher --run_dir=/tmp/fuzzout xls/fuzzer/crashers/crasher_2024-09-26_ac56.x
adding 'optimizer' label for now as this might be an optimizer issue.
Looks more likely to be an LLVM or JIT problem? Seems like a case where the optimizations are hiding a difference between the interpreter and the JIT, since unopt JIT != unopt interpreter == opt interpreter == opt JIT