@@ -38,10 +38,10 @@ def CommuteCliffordTPPRPass : Pass<"commute_ppr"> {
38
38
let constructor = "catalyst::createCommuteCliffordTPPRPass()";
39
39
}
40
40
41
- def DecompositionMethod : I32EnumAttr<"DecompositionMethod ", "Decomposition method",
41
+ def DecomposeMethod : I32EnumAttr<"DecomposeMethod ", "Decomposition method",
42
42
[
43
43
I32EnumAttrCase<"AutoCorrected", 0, "auto-corrected">,
44
- I32EnumAttrCase<"InjectMagicState ", 1, "inject-magic-state ">
44
+ I32EnumAttrCase<"CliffordCorrected ", 1, "clifford-corrected ">
45
45
]> {
46
46
let cppNamespace = "catalyst::qec";
47
47
let genSpecializedAttr = 0;
@@ -50,29 +50,23 @@ def DecompositionMethod : I32EnumAttr<"DecompositionMethod", "Decomposition meth
50
50
def DecomposeMethodOption : Option<
51
51
/*C++ var name=*/"decomposeMethod",
52
52
/*CLI arg name=*/"decompose-method",
53
- /*type=*/"::catalyst::qec::DecompositionMethod ",
54
- /*default=*/"::catalyst::qec::DecompositionMethod ::AutoCorrected",
53
+ /*type=*/"::catalyst::qec::DecomposeMethod ",
54
+ /*default=*/"::catalyst::qec::DecomposeMethod ::AutoCorrected",
55
55
"Decomposition method to use",
56
56
[{::llvm::cl::values(
57
- clEnumValN(::catalyst::qec::DecompositionMethod ::AutoCorrected,
57
+ clEnumValN(::catalyst::qec::DecomposeMethod ::AutoCorrected,
58
58
"auto-corrected", "Decompose using auto-corrected method."),
59
- clEnumValN(::catalyst::qec::DecompositionMethod::InjectMagicState ,
60
- "inject-magic-state ",
59
+ clEnumValN(::catalyst::qec::DecomposeMethod::CliffordCorrected ,
60
+ "clifford-corrected ",
61
61
"Decompose by injecting magic states method.")
62
62
)}]>;
63
63
64
- def PrepareStateOption : Option<
65
- /*C++ var name=*/"prepareState",
66
- /*CLI arg name=*/"prep-state",
67
- /*type=*/"::catalyst::qec::LogicalInitKind",
68
- /*default=*/"::catalyst::qec::LogicalInitKind::zero",
69
- "Initial state of logical qubit",
70
- [{::llvm::cl::values(
71
- clEnumValN(::catalyst::qec::LogicalInitKind::zero,
72
- "zero", "Initial state is |0⟩."),
73
- clEnumValN(::catalyst::qec::LogicalInitKind::plus_i,
74
- "plus_i", "Initial state is |+i⟩.")
75
- )}]>;
64
+ def AvoidYMeasureOption : Option<
65
+ /*C++ var name=*/"avoidYMeasure",
66
+ /*CLI arg name=*/"avoid-y-measure",
67
+ /*type=*/"bool",
68
+ /*default=*/"false",
69
+ "Avoid Pauli-Y measurements for Clifford rotations. Rather than performing a Pauli-Y measurement for Clifford rotations (sometimes more costly), a Y state is used instead (requires Y state preparation).">;
76
70
77
71
def CommuteCliffordPastPPMPass : Pass<"merge_ppr_ppm"> {
78
72
let summary = "Absorb Clifford operations into Pauli Product Measurement operations.";
@@ -103,7 +97,7 @@ def DecomposeCliffordPPRPass : Pass<"decompose_clifford_ppr"> {
103
97
"catalyst::qec::QECDialect",
104
98
];
105
99
106
- let options = [PrepareStateOption ];
100
+ let options = [AvoidYMeasureOption ];
107
101
108
102
let constructor = "catalyst::createDecomposeCliffordPPRPass()";
109
103
}
0 commit comments