Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Conversation

@bettinaheim
Copy link
Contributor

@bettinaheim bettinaheim commented Aug 25, 2021

This merely updates the feature branch with the latest changes from main.

dime10 and others added 11 commits July 27, 2021 16:44
)

* Added section on how to compile and execute QIR

Contains:
- getting library and header files
- adding a C++ driver
- compiling the program

* Add missing parameter explanation

* Add instructions to get 'Running QIR` section working on Linux

- configure runtime library search path
- change dll filename to lib<...>.so
- explicitly link Quantum.Simulator.Runtime library

* Fix Q# template function name in driver & readme
* Removing extra guidance for Linux lib rename

Since the fix for the simulator dll name was merged with the cloud simulator feature branch, the guidance on renaming the simulator dll for Linux is no longer needed. See #1093 (comment) for context.

* Update version number in readme and in csproj
* Add a sanity test before formatting Q# code

Implement issue 867, i.e., unparse the syntax tree and compare to the
original code before applying format rules.

* Change NewLine to preserve original newlines

NewLine is changed from unit to string.
The formatted code will have the same newlines as the original source.

* Modify a test case to show newlines are preserved

* Add a Mixed-newlines test in FixedPoints.fs

Improve code comments.
* Generate arguments in the correct order.
* Edit comment.
* Fix type range used when resolving type parameters

* the -> an
Not Reshaping creates empty `else` blocks with inherited known symbols and locations.
* Prevent classical conditions from being lifted.

* Added tests for nesting with mutables

* fantomas

* Add tests mixing classical and quantum conditions

* Test for invalid nested lifting.

* updated for known issue

* typo

* Added some test cases that mix in else and elif blocks.

* fantomas

* using Single instead

Co-authored-by: Stefan J. Wernli <[email protected]>
The `GenerationContext` constructor included a call to Register the current plaform as the target for LLVM, which it turns out is unnecessary for generating target agnostic IR like we do. Further, this reduces the surface are of APIs that we utilize from LLVM, making it easy to identify the required libraries for QIR generation.
@bettinaheim bettinaheim requested a review from troels-im August 25, 2021 02:49
@bettinaheim bettinaheim enabled auto-merge August 25, 2021 02:50
@troels-im
Copy link
Contributor

Overall looks good to me. Let's get #1122 in first as that PR fixes the OS X build.

@bettinaheim bettinaheim merged commit 78141eb into features/llvm-passes Aug 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants