Loading mlir/dialect/include/Quantum/QuantumOps.td +23 −1 Original line number Diff line number Diff line Loading @@ -73,18 +73,24 @@ def EndCtrlURegion : QuantumOp<"end_ctrl_u_region", []> { let arguments = (ins QubitType:$ctrl_qubit); let results = (outs); let printer = [{ auto op = *this; p << "} (ctrl_bit = " << op.ctrl_qubit() << ")"; p << "} (ctrl_bit = " << op.ctrl_qubit() << ") // END CTRL"; }]; } def StartAdjointURegion : QuantumOp<"start_adj_u_region", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "q.adj_region {"; }]; } def EndAdjointURegion : QuantumOp<"end_adj_u_region", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "} // END ADJOINT"; }]; } def StartPowURegion : QuantumOp<"start_pow_u_region", []> { Loading @@ -97,6 +103,22 @@ def EndPowURegion : QuantumOp<"end_pow_u_region", []> { let results = (outs); } def ComputeMarkerOp : QuantumOp<"compute_marker", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "q.mark_compute {"; }]; } def ComputeUnMarkerOp : QuantumOp<"compute_unmarker", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "} // END COMPUTE"; }]; } def InstOp : QuantumOp<"inst", [AttrSizedOperandSegments]> { let arguments = (ins StrAttr:$name, Variadic<QubitType>:$qubits, Variadic<F64>:$params); let results = (outs Optional<ResultType>:$bit); Loading mlir/parsers/qasm3/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ file(GLOB SRC *.cpp antlr/generated/*.cpp utils/*.cpp visitor_handlers/conditional_handler.cpp visitor_handlers/subroutine_handler.cpp visitor_handlers/alias_handler.cpp visitor_handlers/compute_action_handler.cpp ) add_library(${LIBRARY_NAME} SHARED ${SRC}) Loading mlir/parsers/qasm3/antlr/generated/qasm3.interp +6 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes mlir/parsers/qasm3/antlr/generated/qasm3.tokens +135 −131 Original line number Diff line number Diff line Loading @@ -93,136 +93,140 @@ T__91=92 T__92=93 T__93=94 T__94=95 LBRACKET=96 RBRACKET=97 LBRACE=98 RBRACE=99 LPAREN=100 RPAREN=101 COLON=102 SEMICOLON=103 DOT=104 COMMA=105 EQUALS=106 ARROW=107 MINUS=108 EXTERN=109 Constant=110 Whitespace=111 Newline=112 Integer=113 Identifier=114 RealNumber=115 TimingLiteral=116 StringLiteral=117 LineComment=118 BlockComment=119 T__95=96 T__96=97 LBRACKET=98 RBRACKET=99 LBRACE=100 RBRACE=101 LPAREN=102 RPAREN=103 COLON=104 SEMICOLON=105 DOT=106 COMMA=107 EQUALS=108 ARROW=109 MINUS=110 EXTERN=111 Constant=112 Whitespace=113 Newline=114 Integer=115 Identifier=116 RealNumber=117 TimingLiteral=118 StringLiteral=119 LineComment=120 BlockComment=121 'OPENQASM'=1 'include'=2 'QCOR_EXPECT_TRUE'=3 'qubit'=4 'qreg'=5 'bit'=6 'creg'=7 'int'=8 'uint'=9 'float'=10 'angle'=11 'fixed'=12 'bool'=13 'int64_t'=14 'double'=15 'const'=16 'let'=17 '||'=18 'gate'=19 'CX'=20 'U'=21 'gphase'=22 'measure'=23 'barrier'=24 'inv'=25 'pow'=26 'ctrl'=27 '@'=28 'reset'=29 '~'=30 '!'=31 '>'=32 '<'=33 '>='=34 '<='=35 '=='=36 '!='=37 '&&'=38 '|'=39 '^'=40 '&'=41 '<<'=42 '>>'=43 '+'=44 '*'=45 '/'=46 '%'=47 '++'=48 '--'=49 'sin'=50 'cos'=51 'tan'=52 'arctan'=53 'arccos'=54 'arcsin'=55 'exp'=56 'ln'=57 'sqrt'=58 'rotl'=59 'rotr'=60 'popcount'=61 'lengthof'=62 '+='=63 '-='=64 '*='=65 '/='=66 '&='=67 '|='=68 '~='=69 '^='=70 '<<='=71 '>>='=72 'in'=73 'if'=74 'else'=75 'for'=76 'while'=77 'range'=78 'break'=79 'continue'=80 'end'=81 'kernel'=82 'def'=83 'return'=84 '#pragma'=85 'length'=86 'stretch'=87 'boxas'=88 'boxto'=89 'stretchinf'=90 'delay'=91 'rotary'=92 'defcalgrammar'=93 'defcal'=94 '"openpulse"'=95 '['=96 ']'=97 '{'=98 '}'=99 '('=100 ')'=101 ':'=102 ';'=103 '.'=104 ','=105 '='=106 '->'=107 '-'=108 'extern'=109 'compute'=3 'action'=4 'QCOR_EXPECT_TRUE'=5 'qubit'=6 'qreg'=7 'bit'=8 'creg'=9 'int'=10 'uint'=11 'float'=12 'angle'=13 'fixed'=14 'bool'=15 'int64_t'=16 'double'=17 'const'=18 'let'=19 '||'=20 'gate'=21 'CX'=22 'U'=23 'gphase'=24 'measure'=25 'barrier'=26 'inv'=27 'pow'=28 'ctrl'=29 '@'=30 'reset'=31 '~'=32 '!'=33 '>'=34 '<'=35 '>='=36 '<='=37 '=='=38 '!='=39 '&&'=40 '|'=41 '^'=42 '&'=43 '<<'=44 '>>'=45 '+'=46 '*'=47 '/'=48 '%'=49 '++'=50 '--'=51 'sin'=52 'cos'=53 'tan'=54 'arctan'=55 'arccos'=56 'arcsin'=57 'exp'=58 'ln'=59 'sqrt'=60 'rotl'=61 'rotr'=62 'popcount'=63 'lengthof'=64 '+='=65 '-='=66 '*='=67 '/='=68 '&='=69 '|='=70 '~='=71 '^='=72 '<<='=73 '>>='=74 'in'=75 'if'=76 'else'=77 'for'=78 'while'=79 'range'=80 'break'=81 'continue'=82 'end'=83 'kernel'=84 'def'=85 'return'=86 '#pragma'=87 'length'=88 'stretch'=89 'boxas'=90 'boxto'=91 'stretchinf'=92 'delay'=93 'rotary'=94 'defcalgrammar'=95 'defcal'=96 '"openpulse"'=97 '['=98 ']'=99 '{'=100 '}'=101 '('=102 ')'=103 ':'=104 ';'=105 '.'=106 ','=107 '='=108 '->'=109 '-'=110 'extern'=111 mlir/parsers/qasm3/antlr/generated/qasm3BaseListener.h +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ public: virtual void enterStatement(qasm3Parser::StatementContext * /*ctx*/) override { } virtual void exitStatement(qasm3Parser::StatementContext * /*ctx*/) override { } virtual void enterCompute_action_stmt(qasm3Parser::Compute_action_stmtContext * /*ctx*/) override { } virtual void exitCompute_action_stmt(qasm3Parser::Compute_action_stmtContext * /*ctx*/) override { } virtual void enterQcor_test_statement(qasm3Parser::Qcor_test_statementContext * /*ctx*/) override { } virtual void exitQcor_test_statement(qasm3Parser::Qcor_test_statementContext * /*ctx*/) override { } Loading Loading
mlir/dialect/include/Quantum/QuantumOps.td +23 −1 Original line number Diff line number Diff line Loading @@ -73,18 +73,24 @@ def EndCtrlURegion : QuantumOp<"end_ctrl_u_region", []> { let arguments = (ins QubitType:$ctrl_qubit); let results = (outs); let printer = [{ auto op = *this; p << "} (ctrl_bit = " << op.ctrl_qubit() << ")"; p << "} (ctrl_bit = " << op.ctrl_qubit() << ") // END CTRL"; }]; } def StartAdjointURegion : QuantumOp<"start_adj_u_region", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "q.adj_region {"; }]; } def EndAdjointURegion : QuantumOp<"end_adj_u_region", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "} // END ADJOINT"; }]; } def StartPowURegion : QuantumOp<"start_pow_u_region", []> { Loading @@ -97,6 +103,22 @@ def EndPowURegion : QuantumOp<"end_pow_u_region", []> { let results = (outs); } def ComputeMarkerOp : QuantumOp<"compute_marker", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "q.mark_compute {"; }]; } def ComputeUnMarkerOp : QuantumOp<"compute_unmarker", []> { let arguments = (ins); let results = (outs); let printer = [{ p << "} // END COMPUTE"; }]; } def InstOp : QuantumOp<"inst", [AttrSizedOperandSegments]> { let arguments = (ins StrAttr:$name, Variadic<QubitType>:$qubits, Variadic<F64>:$params); let results = (outs Optional<ResultType>:$bit); Loading
mlir/parsers/qasm3/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ file(GLOB SRC *.cpp antlr/generated/*.cpp utils/*.cpp visitor_handlers/conditional_handler.cpp visitor_handlers/subroutine_handler.cpp visitor_handlers/alias_handler.cpp visitor_handlers/compute_action_handler.cpp ) add_library(${LIBRARY_NAME} SHARED ${SRC}) Loading
mlir/parsers/qasm3/antlr/generated/qasm3.interp +6 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes
mlir/parsers/qasm3/antlr/generated/qasm3.tokens +135 −131 Original line number Diff line number Diff line Loading @@ -93,136 +93,140 @@ T__91=92 T__92=93 T__93=94 T__94=95 LBRACKET=96 RBRACKET=97 LBRACE=98 RBRACE=99 LPAREN=100 RPAREN=101 COLON=102 SEMICOLON=103 DOT=104 COMMA=105 EQUALS=106 ARROW=107 MINUS=108 EXTERN=109 Constant=110 Whitespace=111 Newline=112 Integer=113 Identifier=114 RealNumber=115 TimingLiteral=116 StringLiteral=117 LineComment=118 BlockComment=119 T__95=96 T__96=97 LBRACKET=98 RBRACKET=99 LBRACE=100 RBRACE=101 LPAREN=102 RPAREN=103 COLON=104 SEMICOLON=105 DOT=106 COMMA=107 EQUALS=108 ARROW=109 MINUS=110 EXTERN=111 Constant=112 Whitespace=113 Newline=114 Integer=115 Identifier=116 RealNumber=117 TimingLiteral=118 StringLiteral=119 LineComment=120 BlockComment=121 'OPENQASM'=1 'include'=2 'QCOR_EXPECT_TRUE'=3 'qubit'=4 'qreg'=5 'bit'=6 'creg'=7 'int'=8 'uint'=9 'float'=10 'angle'=11 'fixed'=12 'bool'=13 'int64_t'=14 'double'=15 'const'=16 'let'=17 '||'=18 'gate'=19 'CX'=20 'U'=21 'gphase'=22 'measure'=23 'barrier'=24 'inv'=25 'pow'=26 'ctrl'=27 '@'=28 'reset'=29 '~'=30 '!'=31 '>'=32 '<'=33 '>='=34 '<='=35 '=='=36 '!='=37 '&&'=38 '|'=39 '^'=40 '&'=41 '<<'=42 '>>'=43 '+'=44 '*'=45 '/'=46 '%'=47 '++'=48 '--'=49 'sin'=50 'cos'=51 'tan'=52 'arctan'=53 'arccos'=54 'arcsin'=55 'exp'=56 'ln'=57 'sqrt'=58 'rotl'=59 'rotr'=60 'popcount'=61 'lengthof'=62 '+='=63 '-='=64 '*='=65 '/='=66 '&='=67 '|='=68 '~='=69 '^='=70 '<<='=71 '>>='=72 'in'=73 'if'=74 'else'=75 'for'=76 'while'=77 'range'=78 'break'=79 'continue'=80 'end'=81 'kernel'=82 'def'=83 'return'=84 '#pragma'=85 'length'=86 'stretch'=87 'boxas'=88 'boxto'=89 'stretchinf'=90 'delay'=91 'rotary'=92 'defcalgrammar'=93 'defcal'=94 '"openpulse"'=95 '['=96 ']'=97 '{'=98 '}'=99 '('=100 ')'=101 ':'=102 ';'=103 '.'=104 ','=105 '='=106 '->'=107 '-'=108 'extern'=109 'compute'=3 'action'=4 'QCOR_EXPECT_TRUE'=5 'qubit'=6 'qreg'=7 'bit'=8 'creg'=9 'int'=10 'uint'=11 'float'=12 'angle'=13 'fixed'=14 'bool'=15 'int64_t'=16 'double'=17 'const'=18 'let'=19 '||'=20 'gate'=21 'CX'=22 'U'=23 'gphase'=24 'measure'=25 'barrier'=26 'inv'=27 'pow'=28 'ctrl'=29 '@'=30 'reset'=31 '~'=32 '!'=33 '>'=34 '<'=35 '>='=36 '<='=37 '=='=38 '!='=39 '&&'=40 '|'=41 '^'=42 '&'=43 '<<'=44 '>>'=45 '+'=46 '*'=47 '/'=48 '%'=49 '++'=50 '--'=51 'sin'=52 'cos'=53 'tan'=54 'arctan'=55 'arccos'=56 'arcsin'=57 'exp'=58 'ln'=59 'sqrt'=60 'rotl'=61 'rotr'=62 'popcount'=63 'lengthof'=64 '+='=65 '-='=66 '*='=67 '/='=68 '&='=69 '|='=70 '~='=71 '^='=72 '<<='=73 '>>='=74 'in'=75 'if'=76 'else'=77 'for'=78 'while'=79 'range'=80 'break'=81 'continue'=82 'end'=83 'kernel'=84 'def'=85 'return'=86 '#pragma'=87 'length'=88 'stretch'=89 'boxas'=90 'boxto'=91 'stretchinf'=92 'delay'=93 'rotary'=94 'defcalgrammar'=95 'defcal'=96 '"openpulse"'=97 '['=98 ']'=99 '{'=100 '}'=101 '('=102 ')'=103 ':'=104 ';'=105 '.'=106 ','=107 '='=108 '->'=109 '-'=110 'extern'=111
mlir/parsers/qasm3/antlr/generated/qasm3BaseListener.h +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ public: virtual void enterStatement(qasm3Parser::StatementContext * /*ctx*/) override { } virtual void exitStatement(qasm3Parser::StatementContext * /*ctx*/) override { } virtual void enterCompute_action_stmt(qasm3Parser::Compute_action_stmtContext * /*ctx*/) override { } virtual void exitCompute_action_stmt(qasm3Parser::Compute_action_stmtContext * /*ctx*/) override { } virtual void enterQcor_test_statement(qasm3Parser::Qcor_test_statementContext * /*ctx*/) override { } virtual void exitQcor_test_statement(qasm3Parser::Qcor_test_statementContext * /*ctx*/) override { } Loading