Skip to content

🐛 Preserve static-qubit isolation during cleanup - #2291

Merged
simon1hofmann merged 1 commit into
mainfrom
codex/2255-qc-static-isolation
Aug 31, 2026
Merged

🐛 Preserve static-qubit isolation during cleanup#2291
simon1hofmann merged 1 commit into
mainfrom
codex/2255-qc-static-isolation

Conversation

@simon1hofmann

@simon1hofmann simon1hofmann commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🤖 AI text below 🤖

Description

Prevents the HoistStaticQubit cleanup pattern from moving qc.static across
an IsolatedFromAbove boundary.

A zero-operand static root nested inside an isolated operation previously could
be moved to the surrounding function entry block, leaving its nested users with
an invalid capture from above. The pattern now hoists only when the function is
the operation's nearest isolation scope.

This is one focused replacement for draft PR #2287 and addresses part of #2255.

Validation

  • mqt-core-mlir-unittest-qc-ir --gtest_brief=1 — 339/339 passed
  • uvx nox -s lint — passed
  • git diff --check origin/main...HEAD — passed

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • Any agent that created, edited, or submitted GitHub content was explicitly authorized for that scope, as required by our AI Usage Guidelines.
  • Every agent-authored or agent-edited public text body begins with the visible disclosure 🤖 *AI text below* 🤖 (titles are exempt).
  • I have disclosed AI assistance in the PR description.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

AI assistance disclosure: Codex extracted this focused change from the
authorized #2255 audit, validated it, and drafted this description.

Keep qc.static operations inside their nearest IsolatedFromAbove scope so cleanup does not create invalid captures.

Assisted-by: GPT-5.6 Sol via Codex
@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@simon1hofmann simon1hofmann self-assigned this Aug 31, 2026
@simon1hofmann simon1hofmann added c++ Anything related to C++ code code quality Code quality improvements fix Fix for something that isn't working MLIR Anything related to MLIR skip-changelog Changes that do not need to show up in the changelog labels Aug 31, 2026
@burgholzer burgholzer added this to the MLIR Support milestone Aug 31, 2026

@burgholzer burgholzer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍🏼

@simon1hofmann
simon1hofmann enabled auto-merge (squash) August 31, 2026 18:26
@simon1hofmann
simon1hofmann merged commit d14d6b2 into main Aug 31, 2026
69 of 83 checks passed
@simon1hofmann
simon1hofmann deleted the codex/2255-qc-static-isolation branch August 31, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Anything related to C++ code code quality Code quality improvements fix Fix for something that isn't working MLIR Anything related to MLIR skip-changelog Changes that do not need to show up in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants