@@ -221,9 +221,9 @@ module @custom_gate {
221221 // CHECK: llvm.func @__catalyst__qis__RX(f64, !llvm.ptr, !llvm.ptr)
222222 // CHECK-LABEL: @test
223223 func.func @test (%q0: !quantum.bit , %p: f64 ) -> () {
224+ // CHECK: [[nullptr:%.+]] = llvm.mlir.zero
224225 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
225226 // CHECK: [[alloca:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(i1, i64, ptr, ptr)>
226- // CHECK: [[nullptr:%.+]] = llvm.mlir.zero
227227 // CHECK: [[true:%.+]] = llvm.mlir.constant(true)
228228 // CHECK: [[off0:%.+]] = llvm.getelementptr inbounds [[alloca]][0, 0]
229229 // CHECK: [[off1:%.+]] = llvm.getelementptr inbounds [[alloca]][0, 1]
@@ -374,16 +374,14 @@ func.func @tensor(%obs : !quantum.obs) {
374374// CHECK: llvm.func @__catalyst__qis__HamiltonianObs(!llvm.ptr, i64, ...) -> i64
375375// CHECK-LABEL: @hamiltonian
376376func.func @hamiltonian (%obs : !quantum.obs , %p1 : memref <1 xf64 >, %p2 : memref <3 xf64 >) {
377- // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
378- // CHECK: [[alloca:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
379- // CHECK: [[memrefvar:%.+]] = llvm.mlir.undef
377+ // CHECK: [[memrefvar:%.+]] = llvm.mlir.poison
380378 // CHECK: [[memrefvar0:%.+]] = llvm.insertvalue %arg1, [[memrefvar]][0]
381379 // CHECK: [[memrefvar1:%.+]] = llvm.insertvalue %arg2, [[memrefvar0]][1]
382380 // CHECK: [[memrefvar2:%.+]] = llvm.insertvalue %arg3, [[memrefvar1]][2]
383381 // CHECK: [[memrefvar3:%.+]] = llvm.insertvalue %arg4, [[memrefvar2]][3, 0]
384382 // CHECK: [[memrefvar4:%.+]] = llvm.insertvalue %arg5, [[memrefvar3]][4, 0]
385- // CHECK: [[cast :%.+]] = builtin.unrealized_conversion_cast [[memrefvar4]]
386- // CHECK: [[memrefvar4 :%.+]] = builtin.unrealized_conversion_cast [[cast]]
383+ // CHECK: [[c1 :%.+]] = llvm.mlir.constant(1 : i64)
384+ // CHECK: [[alloca :%.+]] = llvm.alloca [[c1]] x !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
387385 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
388386 // CHECK: llvm.store [[memrefvar4]], [[alloca]]
389387 // CHECK: llvm.call @__catalyst__qis__HamiltonianObs([[alloca]], [[c1]], %arg0)
@@ -397,16 +395,14 @@ func.func @hamiltonian(%obs : !quantum.obs, %p1 : memref<1xf64>, %p2 : memref<3x
397395
398396// CHECK-LABEL: @hamiltonian
399397func.func @hamiltonian (%obs : !quantum.obs , %p1 : memref <1 xf64 >, %p2 : memref <3 xf64 >) {
400- // CHECK: [[memrefvar:%.+]] = llvm.mlir.undef
398+ // CHECK: [[memrefvar:%.+]] = llvm.mlir.poison
401399 // CHECK: [[memrefvar0:%.+]] = llvm.insertvalue %arg6, [[memrefvar]][0]
402400 // CHECK: [[memrefvar1:%.+]] = llvm.insertvalue %arg7, [[memrefvar0]][1]
403401 // CHECK: [[memrefvar2:%.+]] = llvm.insertvalue %arg8, [[memrefvar1]][2]
404402 // CHECK: [[memrefvar3:%.+]] = llvm.insertvalue %arg9, [[memrefvar2]][3, 0]
405403 // CHECK: [[memrefvar4:%.+]] = llvm.insertvalue %arg10, [[memrefvar3]][4, 0]
406- // CHECK: [[cast:%.+]] = builtin.unrealized_conversion_cast [[memrefvar4]]
407404 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
408405 // CHECK: [[alloca:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
409- // CHECK: [[memrefvar4:%.+]] = builtin.unrealized_conversion_cast [[cast]]
410406 // CHECK: [[c3:%.+]] = llvm.mlir.constant(3 : i64)
411407 // CHECK: llvm.store [[memrefvar4]], [[alloca]]
412408 // CHECK: llvm.call @__catalyst__qis__HamiltonianObs([[alloca]], [[c3]], %arg0, %arg0, %arg0)
@@ -588,7 +584,6 @@ func.func @state(%q : !quantum.bit) {
588584
589585 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
590586 // CHECK: [[ptr:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
591- // CHECK: [[qb:%.+]] = builtin.unrealized_conversion_cast %arg0
592587 // CHECK: [[c0:%.+]] = llvm.mlir.constant(0 : i64)
593588 // CHECK: llvm.call @__catalyst__qis__State([[ptr]], [[c0]])
594589 %alloc1 = memref.alloc () : memref <2 xcomplex <f64 >>
@@ -621,13 +616,13 @@ func.func @controlled_circuit(%1 : !quantum.bit, %2 : !quantum.bit, %3 : !quantu
621616 %cst_0 = llvm.mlir.constant (9.000000e-01 : f64 ) : f64
622617 %cst_1 = llvm.mlir.constant (3.000000e-01 : f64 ) : f64
623618
619+ // CHECK: [[true:%.+]] = llvm.mlir.constant(true)
624620 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
625621 // CHECK: [[alloca0:%.+]] = llvm.alloca [[c1]] x i1
626622 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
627623 // CHECK: [[alloca1:%.+]] = llvm.alloca [[c1]] x !llvm.ptr
628624 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
629625 // CHECK: [[mod:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(i1, i64, ptr, ptr)>
630- // CHECK: [[true:%.+]] = llvm.mlir.constant(true)
631626
632627
633628 // CHECK-DAG: [[cst6:%.+]] = llvm.mlir.constant(6.0
@@ -661,13 +656,13 @@ func.func @controlled_circuit(%1 : !quantum.bit, %2 : !quantum.bit, %3 : !quantu
661656 %cst = llvm.mlir.constant (6.000000e-01 : f64 ) : f64
662657 %true = llvm.mlir.constant (1 : i1 ) :i1
663658
659+ // CHECK: [[cst6:%.+]] = llvm.mlir.constant(6.0
664660 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
665661 // CHECK: [[alloca0:%.+]] = llvm.alloca [[c1]] x i1
666662 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
667663 // CHECK: [[alloca1:%.+]] = llvm.alloca [[c1]] x !llvm.ptr
668664 // CHECK: [[c1:%.+]] = llvm.mlir.constant(1 : i64)
669665 // CHECK: [[mod:%.+]] = llvm.alloca [[c1]] x !llvm.struct<(i1, i64, ptr, ptr)>
670- // CHECK: [[cst6:%.+]] = llvm.mlir.constant(6.0
671666 // CHECK: [[true:%.+]] = llvm.mlir.constant(true)
672667
673668 // CHECK: [[offset0:%.+]] = llvm.getelementptr inbounds [[mod]][0, 0]
0 commit comments