|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
b8e1544b |
| 20-Jul-2022 |
Ilia Diachkov <[email protected]> |
[SPIRV] add SPIRVPrepareFunctions pass and update other passes
The patch adds SPIRVPrepareFunctions pass, which modifies function signatures containing aggregate arguments and/or return values befor
[SPIRV] add SPIRVPrepareFunctions pass and update other passes
The patch adds SPIRVPrepareFunctions pass, which modifies function signatures containing aggregate arguments and/or return values before IR translation. Information about the original signatures is stored in metadata. It is used during call lowering to restore correct SPIR-V types of function arguments and return values. This pass also substitutes some llvm intrinsic calls to function calls, generating the necessary functions in the module, as the SPIRV translator does.
The patch also includes changes in other modules, fixing errors and enabling many SPIR-V features that were omitted earlier. And 15 LIT tests are also added to demonstrate the new functionality.
Differential Revision: https://reviews.llvm.org/D129730
Co-authored-by: Aleksandr Bezzubikov <[email protected]> Co-authored-by: Michal Paszkowski <[email protected]> Co-authored-by: Andrey Tretyakov <[email protected]> Co-authored-by: Konrad Trifunovic <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.6 |
|
| #
fa2a7a25 |
| 18-Jun-2022 |
Aleksandr Bezzubikov <[email protected]> |
[SPIR-V] Introduce SPIR-V global entities tracking and deduplication infra.
SPIR-V module typically contains some global entities that were not global before made it to SPIR-V, e.g. types and consta
[SPIR-V] Introduce SPIR-V global entities tracking and deduplication infra.
SPIR-V module typically contains some global entities that were not global before made it to SPIR-V, e.g. types and constants are not usually declared globally in LLVM. By design SPIR-V requires such stuff to be declared once and in the module's global section. Since MIR is not able to represent such things properly they were generated per-function, and then at the very end of the backend's pipeline hoisted into some 'meta' function minding possible duplicates.
New SPIRVDuplicatesTracker keeps mapping of the original LLVM entities such as types, constant, global variables, etc to their MIR counterparts - (MachineFunction, Register). Later SPIRVModuleAnalysis (apart from other thing it's responsible for) performs topological sorting of the tracker's entries to ensure proper ordering before the hoisting, and actually performs the hoisting in a duplicates-free manner by the tracker's nature.
Differential Revision: https://reviews.llvm.org/D128471
show more ...
|
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
0098f2ae |
| 05-May-2022 |
Ilia Diachkov <[email protected]> |
[SPIRV] Add SPIR-V specific intrinsics, two passes and tests
The patch adds SPIR-V specific intrinsics required to keep information critical to SPIR-V consistency (types, constants, etc.) during tra
[SPIRV] Add SPIR-V specific intrinsics, two passes and tests
The patch adds SPIR-V specific intrinsics required to keep information critical to SPIR-V consistency (types, constants, etc.) during translation from IR to MIR.
Two related passes (SPIRVEmitIntrinsics and SPIRVPreLegalizer) and several LIT tests (passed with this change) have also been added.
It also fixes the issue with opaque pointers in SPIRVGlobalRegistry.cpp and the mismatch of the data layout between the SPIR-V backend and clang (Issue #55122).
Differential Revision: https://reviews.llvm.org/D124416
Co-authored-by: Aleksandr Bezzubikov <[email protected]> Co-authored-by: Michal Paszkowski <[email protected]> Co-authored-by: Andrey Tretyakov <[email protected]> Co-authored-by: Konrad Trifunovic <[email protected]>
show more ...
|
|
Revision tags: llvmorg-14.0.3 |
|
| #
8631c115 |
| 26-Apr-2022 |
Chris Bieneman <[email protected]> |
[SPIRV][NFC] Fix warnings for switch cases
Switch statements that cover all cases should not have a `default` case. When a switch covers all cases and includes a `default` case, clang emits a diagno
[SPIRV][NFC] Fix warnings for switch cases
Switch statements that cover all cases should not have a `default` case. When a switch covers all cases and includes a `default` case, clang emits a diagnostic. Omitting the `default` case allows the compiler to instead emit a diagnostic on unhandled enum values.
This change removes default cases from all the places that they shouldn't be, and adds a missing enum case for one switch statement that wasn't covering all values.
show more ...
|
|
Revision tags: llvmorg-14.0.2 |
|
| #
eab7d363 |
| 13-Apr-2022 |
Ilia Diachkov <[email protected]> |
[SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities
The patch adds SPIRVLegalizerInfo, SPIRVInstructionSelector and SPIRV-specific utilities.
Differential Revision: https://reviews.l
[SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities
The patch adds SPIRVLegalizerInfo, SPIRVInstructionSelector and SPIRV-specific utilities.
Differential Revision: https://reviews.llvm.org/D116464
Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov, Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic
Co-authored-by: Aleksandr Bezzubikov <[email protected]> Co-authored-by: Ilia Diachkov <[email protected]> Co-authored-by: Michal Paszkowski <[email protected]> Co-authored-by: Andrey Tretyakov <[email protected]> Co-authored-by: Konrad Trifunovic <[email protected]>
show more ...
|