Loading mlir/dialect/include/Quantum/QuantumOps.td +30 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,36 @@ def ArrayConcatOp : QuantumOp<"qarray_concat", []> { let results = (outs ArrayType:$concat_array); } def StartCtrlURegion : QuantumOp<"start_ctrl_u_region", []> { let arguments = (ins); let results = (outs); } def EndCtrlURegion : QuantumOp<"end_ctrl_u_region", []> { let arguments = (ins QubitType:$ctrl_qubit); let results = (outs); } def StartAdjointURegion : QuantumOp<"start_adj_u_region", []> { let arguments = (ins); let results = (outs); } def EndAdjointURegion : QuantumOp<"end_adj_u_region", []> { let arguments = (ins); let results = (outs); } def StartPowURegion : QuantumOp<"start_pow_u_region", []> { let arguments = (ins); let results = (outs); } def EndPowURegion : QuantumOp<"end_pow_u_region", []> { let arguments = (ins AnyI64Attr:$pow); let results = (outs); } 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/antlr/generated/qasm3.interp +1 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes mlir/parsers/qasm3/antlr/generated/qasm3Parser.cpp +8 −8 Original line number Diff line number Diff line Loading @@ -4737,16 +4737,16 @@ qasm3Parser::QuantumGateModifierContext::QuantumGateModifierContext(ParserRuleCo : ParserRuleContext(parent, invokingState) { } tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::LBRACKET() { return getToken(qasm3Parser::LBRACKET, 0); tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::LPAREN() { return getToken(qasm3Parser::LPAREN, 0); } qasm3Parser::ExpressionContext* qasm3Parser::QuantumGateModifierContext::expression() { return getRuleContext<qasm3Parser::ExpressionContext>(0); } tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::RBRACKET() { return getToken(qasm3Parser::RBRACKET, 0); tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::RPAREN() { return getToken(qasm3Parser::RPAREN, 0); } Loading Loading @@ -4800,11 +4800,11 @@ qasm3Parser::QuantumGateModifierContext* qasm3Parser::quantumGateModifier() { setState(537); match(qasm3Parser::T__25); setState(538); match(qasm3Parser::LBRACKET); match(qasm3Parser::LPAREN); setState(539); expression(0); setState(540); match(qasm3Parser::RBRACKET); match(qasm3Parser::RPAREN); break; } Loading Loading @@ -10783,8 +10783,8 @@ qasm3Parser::Initializer::Initializer() { 0x3, 0x2, 0x2, 0x2, 0x217, 0x218, 0x7, 0x1a, 0x2, 0x2, 0x218, 0x219, 0x5, 0x4a, 0x26, 0x2, 0x219, 0x65, 0x3, 0x2, 0x2, 0x2, 0x21a, 0x222, 0x7, 0x1b, 0x2, 0x2, 0x21b, 0x21c, 0x7, 0x1c, 0x2, 0x2, 0x21c, 0x21d, 0x7, 0x61, 0x2, 0x2, 0x21d, 0x21e, 0x5, 0x74, 0x3b, 0x2, 0x21e, 0x21f, 0x7, 0x62, 0x2, 0x2, 0x21f, 0x222, 0x3, 0x2, 0x2, 0x2, 0x220, 0x222, 0x7, 0x65, 0x2, 0x2, 0x21d, 0x21e, 0x5, 0x74, 0x3b, 0x2, 0x21e, 0x21f, 0x7, 0x66, 0x2, 0x2, 0x21f, 0x222, 0x3, 0x2, 0x2, 0x2, 0x220, 0x222, 0x7, 0x1d, 0x2, 0x2, 0x221, 0x21a, 0x3, 0x2, 0x2, 0x2, 0x221, 0x21b, 0x3, 0x2, 0x2, 0x2, 0x221, 0x220, 0x3, 0x2, 0x2, 0x2, 0x222, 0x223, 0x3, 0x2, 0x2, 0x2, 0x223, 0x224, 0x7, 0x1e, 0x2, 0x2, 0x224, 0x67, Loading mlir/parsers/qasm3/antlr/generated/qasm3Parser.h +2 −2 Original line number Diff line number Diff line Loading @@ -1057,9 +1057,9 @@ public: public: QuantumGateModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LBRACKET(); antlr4::tree::TerminalNode *LPAREN(); ExpressionContext *expression(); antlr4::tree::TerminalNode *RBRACKET(); antlr4::tree::TerminalNode *RPAREN(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; Loading mlir/parsers/qasm3/antlr/qasm3.g4 +1 −1 Original line number Diff line number Diff line Loading @@ -247,7 +247,7 @@ quantumBarrier ; quantumGateModifier : ( 'inv' | 'pow' LBRACKET expression RBRACKET | 'ctrl' ) '@' : ( 'inv' | 'pow' LPAREN expression RPAREN | 'ctrl' ) '@' ; quantumGateCall Loading Loading
mlir/dialect/include/Quantum/QuantumOps.td +30 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,36 @@ def ArrayConcatOp : QuantumOp<"qarray_concat", []> { let results = (outs ArrayType:$concat_array); } def StartCtrlURegion : QuantumOp<"start_ctrl_u_region", []> { let arguments = (ins); let results = (outs); } def EndCtrlURegion : QuantumOp<"end_ctrl_u_region", []> { let arguments = (ins QubitType:$ctrl_qubit); let results = (outs); } def StartAdjointURegion : QuantumOp<"start_adj_u_region", []> { let arguments = (ins); let results = (outs); } def EndAdjointURegion : QuantumOp<"end_adj_u_region", []> { let arguments = (ins); let results = (outs); } def StartPowURegion : QuantumOp<"start_pow_u_region", []> { let arguments = (ins); let results = (outs); } def EndPowURegion : QuantumOp<"end_pow_u_region", []> { let arguments = (ins AnyI64Attr:$pow); let results = (outs); } 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/antlr/generated/qasm3.interp +1 −1 File changed.Preview size limit exceeded, changes collapsed. Show changes
mlir/parsers/qasm3/antlr/generated/qasm3Parser.cpp +8 −8 Original line number Diff line number Diff line Loading @@ -4737,16 +4737,16 @@ qasm3Parser::QuantumGateModifierContext::QuantumGateModifierContext(ParserRuleCo : ParserRuleContext(parent, invokingState) { } tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::LBRACKET() { return getToken(qasm3Parser::LBRACKET, 0); tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::LPAREN() { return getToken(qasm3Parser::LPAREN, 0); } qasm3Parser::ExpressionContext* qasm3Parser::QuantumGateModifierContext::expression() { return getRuleContext<qasm3Parser::ExpressionContext>(0); } tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::RBRACKET() { return getToken(qasm3Parser::RBRACKET, 0); tree::TerminalNode* qasm3Parser::QuantumGateModifierContext::RPAREN() { return getToken(qasm3Parser::RPAREN, 0); } Loading Loading @@ -4800,11 +4800,11 @@ qasm3Parser::QuantumGateModifierContext* qasm3Parser::quantumGateModifier() { setState(537); match(qasm3Parser::T__25); setState(538); match(qasm3Parser::LBRACKET); match(qasm3Parser::LPAREN); setState(539); expression(0); setState(540); match(qasm3Parser::RBRACKET); match(qasm3Parser::RPAREN); break; } Loading Loading @@ -10783,8 +10783,8 @@ qasm3Parser::Initializer::Initializer() { 0x3, 0x2, 0x2, 0x2, 0x217, 0x218, 0x7, 0x1a, 0x2, 0x2, 0x218, 0x219, 0x5, 0x4a, 0x26, 0x2, 0x219, 0x65, 0x3, 0x2, 0x2, 0x2, 0x21a, 0x222, 0x7, 0x1b, 0x2, 0x2, 0x21b, 0x21c, 0x7, 0x1c, 0x2, 0x2, 0x21c, 0x21d, 0x7, 0x61, 0x2, 0x2, 0x21d, 0x21e, 0x5, 0x74, 0x3b, 0x2, 0x21e, 0x21f, 0x7, 0x62, 0x2, 0x2, 0x21f, 0x222, 0x3, 0x2, 0x2, 0x2, 0x220, 0x222, 0x7, 0x65, 0x2, 0x2, 0x21d, 0x21e, 0x5, 0x74, 0x3b, 0x2, 0x21e, 0x21f, 0x7, 0x66, 0x2, 0x2, 0x21f, 0x222, 0x3, 0x2, 0x2, 0x2, 0x220, 0x222, 0x7, 0x1d, 0x2, 0x2, 0x221, 0x21a, 0x3, 0x2, 0x2, 0x2, 0x221, 0x21b, 0x3, 0x2, 0x2, 0x2, 0x221, 0x220, 0x3, 0x2, 0x2, 0x2, 0x222, 0x223, 0x3, 0x2, 0x2, 0x2, 0x223, 0x224, 0x7, 0x1e, 0x2, 0x2, 0x224, 0x67, Loading
mlir/parsers/qasm3/antlr/generated/qasm3Parser.h +2 −2 Original line number Diff line number Diff line Loading @@ -1057,9 +1057,9 @@ public: public: QuantumGateModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; antlr4::tree::TerminalNode *LBRACKET(); antlr4::tree::TerminalNode *LPAREN(); ExpressionContext *expression(); antlr4::tree::TerminalNode *RBRACKET(); antlr4::tree::TerminalNode *RPAREN(); virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; Loading
mlir/parsers/qasm3/antlr/qasm3.g4 +1 −1 Original line number Diff line number Diff line Loading @@ -247,7 +247,7 @@ quantumBarrier ; quantumGateModifier : ( 'inv' | 'pow' LBRACKET expression RBRACKET | 'ctrl' ) '@' : ( 'inv' | 'pow' LPAREN expression RPAREN | 'ctrl' ) '@' ; quantumGateCall Loading