llvm-project/llvm/lib/Target/SPIRV
Ilia Diachkov 0098f2aebb [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 <zuban32s@gmail.com>
Co-authored-by: Michal Paszkowski <michal.paszkowski@outlook.com>
Co-authored-by: Andrey Tretyakov <andrey1.tretyakov@intel.com>
Co-authored-by: Konrad Trifunovic <konrad.trifunovic@intel.com>
2022-05-06 03:02:00 +03:00
..
MCTargetDesc [SPIRV][NFC] Fix warnings for switch cases 2022-04-26 09:57:18 -05:00
TargetInfo [SPIR-V](3/6) Add MC layer, object file support, and InstPrinter 2022-04-20 01:10:25 +02:00
CMakeLists.txt [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRV.h [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRV.td
SPIRVAsmPrinter.cpp [SPIR-V](6/6) Add the module analysis pass and the simplest tests 2022-04-20 01:10:25 +02:00
SPIRVCallLowering.cpp [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVCallLowering.h [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVEmitIntrinsics.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVEnums.td
SPIRVFrameLowering.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVGlobalRegistry.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVGlobalRegistry.h [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVISelLowering.cpp [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVISelLowering.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVInstrFormats.td
SPIRVInstrInfo.cpp [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVInstrInfo.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVInstrInfo.td
SPIRVInstructionSelector.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVLegalizerInfo.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVLegalizerInfo.h [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVMCInstLower.cpp [SPIR-V](6/6) Add the module analysis pass and the simplest tests 2022-04-20 01:10:25 +02:00
SPIRVMCInstLower.h [SPIRV][NFC] Fix warning on class/struct mismatch 2022-04-26 09:51:46 -05:00
SPIRVModuleAnalysis.cpp [SPIR-V](6/6) Add the module analysis pass and the simplest tests 2022-04-20 01:10:25 +02:00
SPIRVModuleAnalysis.h [SPIR-V](6/6) Add the module analysis pass and the simplest tests 2022-04-20 01:10:25 +02:00
SPIRVPreLegalizer.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVRegisterBankInfo.cpp [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVRegisterBankInfo.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVRegisterBanks.td
SPIRVRegisterInfo.cpp [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVRegisterInfo.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVRegisterInfo.td
SPIRVSubtarget.cpp [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVSubtarget.h [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVTargetMachine.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVTargetMachine.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVTargetObjectFile.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVTargetTransformInfo.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVUtils.cpp [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00
SPIRVUtils.h [SPIRV] Add SPIR-V specific intrinsics, two passes and tests 2022-05-06 03:02:00 +03:00