JuliaLabs / MLIR.jl

MIT License
55 stars 8 forks source link

Refactor and unify binding generators #37

Closed mofeing closed 8 months ago

mofeing commented 8 months ago

As suggested by @vchuravy in https://github.com/JuliaLabs/MLIR.jl/pull/27#issuecomment-1890480733, offline generation of default dialects is preferred.

The dialect and API must correspond to the same LLVM version. This PR:

  1. Moves the binding generation from online to offline
  2. Unifies both MLIR API and dialect binding generator scripts

TODO

vchuravy commented 8 months ago

@mofeing

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/bin/mlir-jl-tblgen --generator=jl-op-defs /tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/include/mlir/Dialect/DLTI/DLTI.td -I /tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/include -o /home/vchuravy/src/MLIR/bindings/../src/Dialects/15/DLTI.jl
#0 0x000000000053396f PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000000000053131c SignalHandler(int) Signals.cpp:0:0
#2 0x00007f6abbc37710 (/usr/lib/libc.so.6+0x3e710)
#3 0x000000000045ea9a getDialectName /workspace/srcdir/MLIR.jl/deps/tblgen/jl-generators.cc:121:50
#4 0x000000000045ea9a emitOpTableDefs(llvm::RecordKeeper const&, llvm::raw_ostream&) /workspace/srcdir/MLIR.jl/deps/tblgen/jl-generators.cc:183:39
#5 0x00000000004733ab llvm::TableGenMain(char const*, bool (*)(llvm::raw_ostream&, llvm::RecordKeeper&)) (/tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/bin/mlir-jl-tblgen+0x4733ab)
#6 0x0000000000442cf9 main /workspace/srcdir/MLIR.jl/deps/tblgen/mlir-jl-tblgen.cc:48:104
#7 0x00007f6abbc20cd0 (/usr/lib/libc.so.6+0x27cd0)
#8 0x00007f6abbc20d8a __libc_start_main (/usr/lib/libc.so.6+0x27d8a)
#9 0x0000000000443fae _start /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S:126:0
ERROR: LoadError: failed process: Process(`/tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/bin/mlir-jl-tblgen --generator=jl-op-defs /tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/include/mlir/Dialect/DLTI/DLTI.td -I /tmp/jl_3aV128/x86_64-linux-gnu-libgfortran4-cxx11-libstdcxx29-llvm_version+15-julia_version+1.10.0/destdir/include -o /home/vchuravy/src/MLIR/bindings/../src/Dialects/15/DLTI.jl`, ProcessSignaled(11)) [0]
vchuravy commented 8 months ago

In particular DLTI seems to be the one to blame