aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorIlia Diachkov <iliya.diyachkov@intel.com>2022-07-20 18:48:16 +0300
committerIlia Diachkov <iliya.diyachkov@intel.com>2022-07-22 04:00:48 +0300
commitb8e1544b9df0340b920d1322884e9c5c51885bb1 (patch)
tree0cb96a2bd719158a0e3e931a625d931ad2b8b912 /clang/lib/Frontend/InitPreprocessor.cpp
parent0ccb6da725bad797f576713613f8368f7f52290c (diff)
downloadllvm-b8e1544b9df0340b920d1322884e9c5c51885bb1.zip
llvm-b8e1544b9df0340b920d1322884e9c5c51885bb1.tar.gz
llvm-b8e1544b9df0340b920d1322884e9c5c51885bb1.tar.bz2
[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 <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>
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions