phate / jlm

GNU Lesser General Public License v2.1
51 stars 13 forks source link

Polybench tests are failing #632

Closed phate closed 3 weeks ago

phate commented 1 month ago

It seems that the polybench tests started to fail all in a sudden. See PR #630 and #631.

phate commented 1 month ago

FYI @haved @sjalander

phate commented 1 month ago

I am able to reproduce it locally. The compiled benchmarks segfault.

phate commented 1 month ago

The segfaults disappear when compiling polybench with jlc and O0 instead of O3.

haved commented 4 weeks ago

Very weird, the last merged PR (#629) really does not look like it should cause this? Is it still the culprit?

phate commented 4 weeks ago

I went back until 4b66762a (HEAD) Change LLVM version in README.md (#592) and the problem persists. Before that, we had LLVM 17 and I would have needed a new setup due to dependencies etc.

I reduced the optimizations that we are running in O3 from here . It seems that the problem occurs after the NodePushOut in line 326. If I also comment out NodePushOut, then the problem seems does not occur.

haved commented 4 weeks ago

How can this have been a problem for that long when polybench runs in the CI? Is there something I do not understand?

phate commented 4 weeks ago

For correlation, covariance, gemver, syr2k, syrk, and trmm (and probably some more), it is enough to reduce the transformation pipeline to only NodePushOut to trigger the problem.

sjalander commented 3 weeks ago

99 of the llvm-test-suite tests fails with -JNodePushOut.

cd usr/llvm-test-suite/jlm/ make llvm-run-psh

Failed Tests (99): test-suite :: MultiSource/Applications/Burg/burg.test test-suite :: MultiSource/Applications/ClamAV/clamscan.test test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test test-suite :: MultiSource/Applications/SIBsim4/SIBsim4.test test-suite :: MultiSource/Applications/SPASS/SPASS.test test-suite :: MultiSource/Applications/aha/aha.test test-suite :: MultiSource/Applications/d/make_dparser.test test-suite :: MultiSource/Applications/lemon/lemon.test test-suite :: MultiSource/Applications/lua/lua.test test-suite :: MultiSource/Applications/oggenc/oggenc.test test-suite :: MultiSource/Applications/sgefa/sgefa.test test-suite :: MultiSource/Applications/siod/siod.test test-suite :: MultiSource/Applications/spiff/spiff.test test-suite :: MultiSource/Applications/sqlite3/sqlite3.test test-suite :: MultiSource/Applications/treecc/treecc.test test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test test-suite :: MultiSource/Benchmarks/BitBench/five11/five11.test test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/Pathfinder/PathFinder.test test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test test-suite :: MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1.test test-suite :: MultiSource/Benchmarks/FreeBench/analyzer/analyzer.test test-suite :: MultiSource/Benchmarks/MallocBench/cfrac/cfrac.test test-suite :: MultiSource/Benchmarks/MallocBench/espresso/espresso.test test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test test-suite :: MultiSource/Benchmarks/McCat/01-qbsort/qbsort.test test-suite :: MultiSource/Benchmarks/McCat/05-eks/eks.test test-suite :: MultiSource/Benchmarks/McCat/15-trie/trie.test test-suite :: MultiSource/Benchmarks/McCat/17-bintr/bintr.test test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test test-suite :: MultiSource/Benchmarks/MiBench/office-ispell/office-ispell.test test-suite :: MultiSource/Benchmarks/Olden/bisort/bisort.test test-suite :: MultiSource/Benchmarks/Olden/em3d/em3d.test test-suite :: MultiSource/Benchmarks/Olden/health/health.test test-suite :: MultiSource/Benchmarks/Olden/mst/mst.test test-suite :: MultiSource/Benchmarks/Olden/perimeter/perimeter.test test-suite :: MultiSource/Benchmarks/Olden/treeadd/treeadd.test test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test test-suite :: MultiSource/Benchmarks/Prolangs-C/archie-client/archie.test test-suite :: MultiSource/Benchmarks/Prolangs-C/bison/mybison.test test-suite :: MultiSource/Benchmarks/Prolangs-C/cdecl/cdecl.test test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail.test test-suite :: MultiSource/Benchmarks/Prolangs-C/unix-tbl/unix-tbl.test test-suite :: MultiSource/Benchmarks/Ptrdist/anagram/anagram.test test-suite :: MultiSource/Benchmarks/Ptrdist/bc/bc.test test-suite :: MultiSource/Benchmarks/Ptrdist/ft/ft.test test-suite :: MultiSource/Benchmarks/Ptrdist/ks/ks.test test-suite :: MultiSource/Benchmarks/Ptrdist/yacr2/yacr2.test test-suite :: MultiSource/Benchmarks/SciMark2-C/scimark2.test test-suite :: MultiSource/Benchmarks/Trimaran/netbench-url/netbench-url.test test-suite :: MultiSource/Benchmarks/llubenchmark/llu.test test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test test-suite :: MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg.test test-suite :: MultiSource/Benchmarks/sim/sim.test test-suite :: SingleSource/Benchmarks/BenchmarkGame/nsieve-bits.test test-suite :: SingleSource/Benchmarks/McGill/chomp.test test-suite :: SingleSource/Benchmarks/Misc/richards_benchmark.test test-suite :: SingleSource/Benchmarks/Shootout/Shootout-hash.test test-suite :: SingleSource/Benchmarks/Shootout/Shootout-heapsort.test test-suite :: SingleSource/Benchmarks/Shootout/Shootout-matrix.test test-suite :: SingleSource/Benchmarks/Stanford/FloatMM.test test-suite :: SingleSource/Benchmarks/Stanford/Treesort.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20000314-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20000412-2.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20000815-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20030928-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20050826-2.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20051215-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20060420-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20090113-2.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20090113-3.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-20180226-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-920501-2.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-960116-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-960209-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-990128-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-arith-rand-ll.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-arith-rand.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-ipa-sra-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-ipa-sra-2.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-loop-14.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr15296.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr33870-1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr33870.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr36343.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr39100.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr43835.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr49886.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr63659.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr79286.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-scal-to-vec1.test test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-stdarg-1.test test-suite :: SingleSource/UnitTests/2003-05-02-DependentPHI.test test-suite :: SingleSource/UnitTests/2008-04-18-LoopBug.test