llvm-project/llvm/lib/Target/SPIRV
Ilia Diachkov 698c800142 [SPIRV] support builtin types and ExtInsts selection
The patch adds the support of OpenCL and SPIR-V built-in types. It also
implements ExtInst selection and adds spv_unreachable and spv_alloca
intrinsics which improve the generation of the corresponding SPIR-V code.
Five LIT tests are included to demonstrate the improvement.

Differential Revision: https://reviews.llvm.org/D132648

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-09-01 16:44:54 +03:00
..
MCTargetDesc [SPIRV] support builtin functions 2022-08-25 00:30:33 +03: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] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRV.h [SPIRV] add SPIRVPrepareFunctions pass and update other passes 2022-07-22 04:00:48 +03:00
SPIRV.td [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVAsmPrinter.cpp [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVBuiltins.cpp [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVBuiltins.h [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVBuiltins.td [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVCallLowering.cpp [SPIR-V] Use llvm::Optional for builtin lowering result. 2022-08-30 23:25:49 -07:00
SPIRVCallLowering.h [SPIRV] add SPIRVPrepareFunctions pass and update other passes 2022-07-22 04:00:48 +03:00
SPIRVDuplicatesTracker.cpp [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVDuplicatesTracker.h [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVEmitIntrinsics.cpp [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVFrameLowering.h [SPIR-V](4/6) Add target lowering, TargetMachine and AsmPrinter 2022-04-20 01:10:25 +02:00
SPIRVGlobalRegistry.cpp [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVGlobalRegistry.h [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +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 [SPIRV] support capabilities and extensions 2022-08-12 23:33:15 +03:00
SPIRVInstrInfo.h [SPIRV] support capabilities and extensions 2022-08-12 23:33:15 +03:00
SPIRVInstrInfo.td [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVInstructionSelector.cpp [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVLegalizerInfo.cpp [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVLegalizerInfo.h [SPIR-V](5/6) Add LegalizerInfo, InstructionSelector and utilities 2022-04-20 01:10:25 +02:00
SPIRVMCInstLower.cpp [SPIRV] add SPIRVPrepareFunctions pass and update other passes 2022-07-22 04:00:48 +03:00
SPIRVMCInstLower.h [SPIRV][NFC] Fix warning on class/struct mismatch 2022-04-26 09:51:46 -05:00
SPIRVModuleAnalysis.cpp [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVModuleAnalysis.h [SPIRV] support capabilities and extensions 2022-08-12 23:33:15 +03:00
SPIRVPreLegalizer.cpp [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVPrepareFunctions.cpp [SPIRV] add SPIRVPrepareFunctions pass and update other passes 2022-07-22 04:00:48 +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 [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVSubtarget.h [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVSymbolicOperands.td [SPIRV] support builtin types and ExtInsts selection 2022-09-01 16:44:54 +03:00
SPIRVTargetMachine.cpp [SPIRV] add SPIRVPrepareFunctions pass and update other passes 2022-07-22 04:00:48 +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] support builtin functions 2022-08-25 00:30:33 +03:00
SPIRVUtils.h [SPIRV] support builtin functions 2022-08-25 00:30:33 +03:00