-
-
Notifications
You must be signed in to change notification settings - Fork 50
Closed
Labels
MLIRAnything related to MLIRAnything related to MLIRc++Anything related to C++ codeAnything related to C++ coderefactorAnything related to code refactoringAnything related to code refactoringusabilityAnything related to usabilityAnything related to usability
Milestone
Description
Background
Registers make liveness/hoisting/reuse analysis harder and introduce boilerplate (alloc β extract β use β insert β dealloc).
Problem
Analyses must reason through register indirections and partial reuse, increasing complexity and risk of missed optimizations.
Proposal:
- In MQTOpt, allocate individual qubits and deallocate when done; convert from MQTRef register form during lowering to Opt.
- Update passes to operate on individual qubit values.
Acceptance criteria:
- Conversion implemented; passes adjusted; tests show simpler IR and correct behavior.
- Measurement hoisting and qubit reuse analyses become simpler/clearer (tests or before/after diffs).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
MLIRAnything related to MLIRAnything related to MLIRc++Anything related to C++ codeAnything related to C++ coderefactorAnything related to code refactoringAnything related to code refactoringusabilityAnything related to usabilityAnything related to usability