Ran
|
Files
855
|
Run time
26s
|
Badge
Embed ▾
README BADGES
|
push
github
Fix short circuit detection for basis translator (#12899) (#12921) The BasisTranslator transpiler pass has a check at the very start that is designed to return fast if there is nothing to translate; in other words if the instructions in the circuit are already a subset of instructions supported by the target. This avoid doing a lot of unecessary work to determine this later during the operation of the pass. However, this check was not correctly constructed because of a type mismatch and would only ever get triggered if the input circuit was empty. The source basis is collected as a `Set[Tuple[str, int]]` where each tuple is the name and num of qubits for each operation in the circuit. While the target basis is just a `Set[str]` for the names supported on the target. This mismatch caused the subset check to never return True unless it was empty thereby bypassing the intent of the short circuit path. This commit fixes the logic by constructing a temporary set of just the source names to evaluate whether we should return early or not. (cherry picked from commit fa5510c3a) Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
66736 of 74192 relevant lines covered (89.95%)
232810.03 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
---|