@@ -4,15 +4,15 @@ Compiler passes
44Introduction
55------------
66
7- Files under this directory are ported from the `oneAPI Construction Kit `_. They
8- are used by Native CPU to help create a pipeline for turning a base kernel into
9- something which can be executed across multiple work items, including
10- auto-vectorization.
7+ Files under this directory are integrated from the `oneAPI Construction Kit `_
8+ using ` git-filter-repo `. They are used by Native CPU to help create a pipeline for
9+ turning a base kernel into something which can be executed across multiple work
10+ items, including auto-vectorization.
1111
1212These files are largely from the sub-directories
1313**modules/compiler/compiler_pipeline **, **modules/compiler/vecz ** and
14- **modules/compiler/multi_llvm **. Only files that are used have been copied and
15- the **CMake ** files have been updated to fit in with LLVM components.
14+ **modules/compiler/multi_llvm **. Only files that are used have been integrated
15+ and the **CMake ** files have been updated to fit in with LLVM components.
1616
1717These sub-directories are used as follows:
1818
@@ -26,19 +26,21 @@ These sub-directories are used as follows:
2626
2727* **multi_llvm **. This provides some support for these functions to work across
2828 multiple LLVM versions. Although this is not strictly needed in LLVM, it has
29- been ported across to allow the port to go smoothly, without changing files
29+ been integrated to allow the integration to go smoothly, without changing files
3030 directly. Note this is header only and exists under
3131 **compiler_pipeline/include/multi_llvm **.
3232
3333**compiler_pipeline ** is documented in :doc: `/compiler_pipeline/docs/compiler `
3434and **vecz ** is documented in :doc: `/vecz/vecz `. Note that there are several
3535limitations both in the documentation and in the code that are a result of the
36- initial port. These should be addressed.
36+ initial integration. These should be addressed over time for maintainability reasons,
37+ they are not necessary for correctness or performance reasons.
3738
3839General limitations
3940-------------------
4041
41- There is the following limitations in the current port:
42+ To simplify the integration and reduce risk, most of the files were integrated
43+ with no changes at all. This means there are currently the following limitations:
4244
4345* The documentation makes a lot of references to **oneAPI Construction Kit **
4446constructs such as ComputeMux. It also references files that have not been
@@ -47,19 +49,19 @@ copied across.
4749 multi_llvm is **multi_llvm ** and the namespace in **vecz ** is **vecz **. These should
4850 be updated to reflect being under **LLVM **.
4951* include files should ideally be moved to under **llvm/include ** but remain under
50- these directories after the port .
52+ these directories after the integration .
5153* **vecz ** has a test tool **veczc ** and associated **lit ** tests. This tool if
5254 required should be moved under **llvm/tools ** or **llvm/test **. This is also
5355 requires `NATIVE_CPU_BUILD_VECZ_TEST_TOOLS ` **CMake ** option to build. This can be
5456 run using the target `check-sycl-vecz `.
55- * **compiler_pipeline ** has lit tests for the passes which have not been ported
56- across. This is because they use a tool **muxc **, but these passes should be
57+ * **compiler_pipeline ** has lit tests for the passes which have not been integrated.
58+ This is because they use a tool **muxc **, but these passes should be
5759 able to be tested using **opt **. These lit tests can be found in the
5860 `pipeline pass tests `_.
59- * There are many files that are unlikely to have any code coverage but because
61+ * There are many integrated files that are unlikely to have any code coverage but because
6062 there are referred to in other files which we do need, they exist here. These
6163 should be pruned over time as a better understanding is made of what is
62- required .
64+ essential .
6365
6466.. _oneAPI Construction Kit : https://github.com/uxlfoundation/oneapi-construction-kit
65- .. _pipeline pass tests : https://github.com/uxlfoundation/oneapi-construction-kit/tree/main/modules/compiler/test/lit/passes
67+ .. _pipeline pass tests : https://github.com/uxlfoundation/oneapi-construction-kit/tree/main/modules/compiler/test/lit/passes
0 commit comments