Update readme for removed .ll files (#814)

This commit is contained in:
Stefan J. Wernli 2021-09-10 09:14:45 -07:00 коммит произвёл GitHub
Родитель ef5d4158a1
Коммит b8159a1753
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 20 добавлений и 38 удалений

Просмотреть файл

@ -17,7 +17,7 @@ Same-level entities are independent of each other (unless specified otherwise).
**public\QirTypes.hpp** Defines `QirArray`, `QirString`, `PTuple`, `QirTupleHeader`, `TupleWithControls`, `QirCallable`, `QirRange`.
Depends on the listed earlier ones.
**public\QirRuntime.hpp** Declares `quantum__rt__*()`. Depends on the listed earlier ones.
**public\QirRuntime.hpp** Declares `__quantum__rt__*()`. Depends on the listed earlier ones.
## Level 1
@ -25,17 +25,17 @@ Same-level entities are independent of each other (unless specified otherwise).
**allocationsTracker.hpp** Defines `Microsoft::Quantum::AllocationsTracker` that tracks the allocations and detects the mem leaks.
Does not depend on anything of our code.
**utils.cpp** Implements `quantum__rt__fail()`, `quantum__rt__memory_allocate()`, `quantum__rt__heap_{alloc,free}()`.
`quantum__rt__heap_alloc()` calls **strings.cpp**'s `quantum__rt__string_create()` - cyclical dependency.
**utils.cpp** Implements `__quantum__rt__fail()`, `__quantum__rt__memory_allocate()`, `__quantum__rt__heap_{alloc,free}()`.
`__quantum__rt__heap_alloc()` calls **strings.cpp**'s `__quantum__rt__string_create()` - cyclical dependency.
**strings.cpp** Implements `QirString`, `quantum__rt__string_*()`, `quantum__rt__<type>_to_string()` (except `qubit_to_string` and `result_to_string`).
Depends on **utils.cpp**'s `quantum__rt__fail()` - cyclical dependency.
**strings.cpp** Implements `QirString`, `__quantum__rt__string_*()`, `__quantum__rt__<type>_to_string()` (except `qubit_to_string` and `result_to_string`).
Depends on **utils.cpp**'s `__quantum__rt__fail()` - cyclical dependency.
## Level 2
**allocationsTracker.cpp** Implements the internals of `Microsoft::Quantum::AllocationsTracker`.
Depends on `quantum__rt__fail()`, `quantum__rt__string_create()`
Depends on `__quantum__rt__fail()`, `__quantum__rt__string_create()`
**context.cpp** Implements the internals of `Microsoft::Quantum::QirExecutionContext`,
Depends on **allocationsTracker.hpp**'s `Microsoft::Quantum::AllocationsTracker`.
@ -43,24 +43,17 @@ Same-level entities are independent of each other (unless specified otherwise).
## Level 3
**delegated.cpp** Implements `quantum__rt__result_*()`, `quantum__rt__qubit_{allocate,release,to_string}()`.
**delegated.cpp** Implements `__quantum__rt__result_*()`, `__quantum__rt__qubit_{allocate,release,to_string}()`.
Each API depends on `Microsoft::Quantum::GlobalContext()[->GetDriver()]`,
`quantum__rt__qubit_to_string()` also depends on strings.cpp's `quantum__rt__string_create()`.
`quantum__rt__result_to_string()` also depends on strings.cpp's `quantum__rt__string_create()`.
`__quantum__rt__qubit_to_string()` also depends on strings.cpp's `__quantum__rt__string_create()`.
`__quantum__rt__result_to_string()` also depends on strings.cpp's `__quantum__rt__string_create()`.
**arrays.cpp** Implements {the internals of `QirArray`} and `quantum__rt__*array*`.
Depends on `Microsoft::Quantum::GlobalContext()`, `quantum__rt__fail()`, `quantum__rt__string_create()`,
**delegated.cpp**'s `quantum__rt__qubit_allocate()`
**arrays.cpp** Implements {the internals of `QirArray`} and `__quantum__rt__*array*`.
Depends on `Microsoft::Quantum::GlobalContext()`, `__quantum__rt__fail()`, `__quantum__rt__string_create()`,
**delegated.cpp**'s `__quantum__rt__qubit_allocate()`
## Level 4
**callables.cpp** Defines the {internals of `QirTupleHeader`, `QirCallable`}, `quantum__rt__tuple_*()`, `quantum__rt__callable_*()`
Depends on `QirArray`, `Microsoft::Quantum::GlobalContext()`, `quantum__rt__fail()`, `quantum__rt__string_create()`, `TupleWithControls`,
**callables.cpp** Defines the {internals of `QirTupleHeader`, `QirCallable`}, `__quantum__rt__tuple_*()`, `__quantum__rt__callable_*()`
Depends on `QirArray`, `Microsoft::Quantum::GlobalContext()`, `__quantum__rt__fail()`, `__quantum__rt__string_create()`, `TupleWithControls`,
Consider breaking up into **Tuples.cpp** and **Callables.cpp**.
## Level 5
**bridge-rt.ll** Defines the `@__quantum__rt__*` entry points (to be called by the `.ll` files generated from users' `.qs` files).
The C++ Standard reserves the identifiers starting with double underscores `__`, that is why the definitions of `@__quantum__rt__*`
have been put to `.ll` file rather than `.cpp` file.
Depends on `quantum__rt__*` implementations (in **utils.cpp**, **strings.cpp**, **delegated.cpp**, **arrays.cpp**, **callables.cpp**).

Просмотреть файл

@ -18,16 +18,9 @@ Same-level entities are independent of each other (unless specified otherwise).
## Level 1
**qsharp__core__qis.hpp** Declares `quantum__qis__*()` gate set implementations.
**qsharp__core__qis.hpp** Declares `__quantum__qis__*()` gate set implementations.
Depends on `public\CoreTypes.hpp` (QUBIT, PauliId, RESULT)
Uses `QirArray *` from `public\QirTypes.hpp`.
**intrinsics.cpp** Defines `quantum__qis__*()` gate set implementation.
**intrinsics.cpp** Defines `__quantum__qis__*()` gate set implementation.
Each API depends on `GlobalContext()`, `IQuantumGateSet`.
## Level 2
**qsharp-core-qis.ll** Defines `@__quantum__qis__*()` quantum gate set entry points (to be called by the `.ll` files generated from users' `.qs` files).
The C++ Standard reserves the identifiers starting with double underscores `__`, that is why the definitions of `@__quantum__qis__*`
have been put to `.ll` file rather than `.cpp` file.
Depends on `quantum__qis__*` implementations (in **intrinsics.cpp**).

Просмотреть файл

@ -17,15 +17,15 @@ Same-level entities are independent of each other (unless specified otherwise).
**public\QirTypes.hpp** Defines `QirArray`, `QirString`, `PTuple`, `QirTupleHeader`, `TupleWithControls`, `QirCallable`, `QirRange`.
Depends on the listed earlier ones.
**public\QirRuntime.hpp** Declares `quantum__rt__*()`. Depends on the listed earlier ones.
**public\QirRuntime.hpp** Declares `__quantum__rt__*()`. Depends on the listed earlier ones.
## Level 1
**conditionals.cpp** Defines `quantum__qis__apply*__body()`.
**conditionals.cpp** Defines `__quantum__qis__apply*__body()`.
Depends on QIR's `quantum__rt__result_{equal,get_zero}()`, declared in **public\QirRuntime.hpp**.
**intrinsicsMath.cpp** Defines `quantum__qis__*` math funcs implementations,
**intrinsicsMath.cpp** Defines `__quantum__qis__*` math funcs implementations,
`Quantum::Qis::Internal::{excStrDrawRandomVal,RandomizeSeed,GetLastGeneratedRandomI64,GetLastGeneratedRandomDouble}`.
Depends on `quantum__rt__fail()`, `quantum__rt__string_create()`, declared in **public\QirRuntime.hpp**.
@ -33,9 +33,5 @@ Same-level entities are independent of each other (unless specified otherwise).
## Level 2
**qsharp__foundation__qis.hpp**
Declares `quantum__qis__*()` math funcs and ApplyIf.
Declares `__quantum__qis__*()` math funcs and ApplyIf.
Depends on **public\CoreTypes.hpp**, **public\QirTypes.hpp**.
**qsharp-foundation-qis.ll**
Defines `@__quantum__qis__*()` math funcs and ApplyIf - entry points (to be called by the `.ll` files generated from users' `.qs` files).
Depends on `quantum__qis__*` implementations (in **intrinsicsMath.cpp**, **conditionals.cpp**, ).