Skip to content

Emit spec compliant QIR #2590

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

Emit spec compliant QIR #2590

wants to merge 5 commits into from

Conversation

swernli
Copy link
Collaborator

@swernli swernli commented Jul 11, 2025

This updates the QIR code generation logic to comply with the Base and Adaptive Profile specifications. In particular, it makes the following updates:

  • The entry point function returns i64.
  • Module level flags for computation extensions are updated to be consistent with spec fixes for LLVM flags.
  • QIR now includes global strings in the data section that are used as tags for the output recording calls, with tag values chosen to be consistent with the Azure Quantum service output translation.
  • The __quantum__qis__read_result__body function is renamed to __quantum__rt__read_result.
  • Every program begins with a call to the __quantum__rt__initialize function.

@swernli swernli mentioned this pull request Jul 3, 2025
6 tasks
@swernli
Copy link
Collaborator Author

swernli commented Jul 11, 2025

Of note, in case it is helpful for review, the first five commits correspond (mostly) to the bullet points in the description. Commits after that may cover other integration work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant