Open schweitzpgi opened 1 year ago
We still need a plan for opaque pointers and QIR. Remaining stuck at an arbitrary LLVM commit will continue to add technical debt the farther we fall behind.
Workstream definition for the QIR spec: https://github.com/qir-alliance/.github/pull/42
Currently, we are working on a prototype for using target extension types to confirm the feasibility for the spec update.
Overview
The QIR specification has opaque (typed) pointers such a
%Qubit *
. These typed pointer may be in use in target backends and their translators.As of LLVM 17, typed pointers are no longer supported. All pointers must be "opaque", that is they will no longer carry any type annotation as to what the pointed-to object's type is or may be.
CUDA Quantum will need some resolution on this situation in order to remain current with the tip of LLVM/Clang/MLIR development.