Open
Description
#1144 puts each qnode into its own module. We can integrate the transform dialect into this abstraction by letting each qnode module carry its own transform_named_sequence
, instead of having one overall sequence look for target qnode functions by function name.
In addition, there are some passes intended to be run on qnodes (e.g. --split-multiple-tapes
) that early exit if the visited function does not carry a qnode unit attribute . This happens to still work because the qnode attribute for quantum functions is not removed, but we should think about using the new abstraction for the purpose of an isQuantumFunction()
method.