llvm / circt

Circuit IR Compilers and Tools
https://circt.org
Other
1.57k stars 277 forks source link

Bumping LLVM causes issue with dialect conversion in LLHDToLLVM #7240

Open youngar opened 6 days ago

youngar commented 6 days ago

If we bump llvm to include https://github.com/llvm/llvm-project/pull/96329 we get a new error:

******************** TEST 'CIRCT :: Conversion/LLHDToLLVM/convert_signals.mlir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 1: /scratch/aryoung/circt/build/bin/circt-opt /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir --convert-llhd-to-llvm --reconcile-unrealized-casts | /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir
+ /scratch/aryoung/circt/build/bin/circt-opt /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir --convert-llhd-to-llvm --reconcile-unrealized-casts
+ /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir:20:45: error: null operand found
llhd.entity @convert_prb(%a: !llhd.sig<i1>, %b: !llhd.sig<!hw.array<3xi5>>) -> () {
                                            ^
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir:20:45: note: see current operation: %2 = "builtin.unrealized_conversion_cast"(<<NULL VALUE>>) : (<<NULL TYPE>>) -> !llvm.ptr
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir:42:45: error: null operand found
llhd.entity @convert_drv(%a: !llhd.sig<i1>, %b: !llhd.sig<!hw.array<3xi5>>) -> () {
                                            ^
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir:42:45: note: see current operation: %2 = "builtin.unrealized_conversion_cast"(<<NULL VALUE>>) : (<<NULL TYPE>>) -> !llvm.ptr
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_signals.mlir

--

********************
FAIL: CIRCT :: Conversion/LLHDToLLVM/convert_wait_halt.mlir (376 of 823)
******************** TEST 'CIRCT :: Conversion/LLHDToLLVM/convert_wait_halt.mlir' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 1: /scratch/aryoung/circt/build/bin/circt-opt /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir --convert-llhd-to-llvm --reconcile-unrealized-casts | /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir
+ /scratch/aryoung/circt/build/bin/circt-opt /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir --convert-llhd-to-llvm --reconcile-unrealized-casts
+ /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir:7:44: error: null operand found
llhd.proc @convert_wait(%a: !llhd.sig<i1>, %b: !llhd.sig<i1>) -> () {
                                           ^
/scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir:7:44: note: see current operation: %2 = "builtin.unrealized_conversion_cast"(<<NULL VALUE>>) : (<<NULL TYPE>>) -> !llvm.ptr
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /scratch/aryoung/circt/build/bin/FileCheck /scratch/aryoung/circt/test/Conversion/LLHDToLLVM/convert_wait_halt.mlir

--

********************
********************
Failed Tests (2):
  CIRCT :: Conversion/LLHDToLLVM/convert_signals.mlir
  CIRCT :: Conversion/LLHDToLLVM/convert_wait_halt.mlir