Demonstrate how to generate vadd/vfadd intrinsic functions 1. add -gen-riscv-vector-builtins for clang builtins. 2. add -gen-riscv-vector-builtin-codegen for clang codegen. 3. add -gen-riscv-vector-header for riscv_vector.h. It also generates ifdef directives with extension checking, base on D94403. 4. add -gen-riscv-vector-generic-header for riscv_vector_generic.h. Generate overloading version Header for generic api. https://github.com/riscv/rvv-intrinsic-doc/blob/master/rvv-intrinsic-rfc.md#c11-generic-interface 5. update tblgen doc for riscv related options. riscv_vector.td also defines some unused type transformers for vadd, because I think it could demonstrate how tranfer type work and we need them for the whole intrinsic functions implementation in the future. Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by: Zakk Chen <zakk.chen@sifive.com> Reviewed By: jrtc27, craig.topper, HsiangKai, Jim, Paul-C-Anagnostopoulos Differential Revision: https://reviews.llvm.org/D95016
26 lines
688 B
CMake
26 lines
688 B
CMake
set(LLVM_LINK_COMPONENTS Support)
|
|
|
|
add_tablegen(clang-tblgen CLANG
|
|
ASTTableGen.cpp
|
|
ClangASTNodesEmitter.cpp
|
|
ClangASTPropertiesEmitter.cpp
|
|
ClangAttrEmitter.cpp
|
|
ClangCommentCommandInfoEmitter.cpp
|
|
ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
|
|
ClangCommentHTMLTagsEmitter.cpp
|
|
ClangDataCollectorsEmitter.cpp
|
|
ClangDiagnosticsEmitter.cpp
|
|
ClangOpcodesEmitter.cpp
|
|
ClangOpenCLBuiltinEmitter.cpp
|
|
ClangOptionDocEmitter.cpp
|
|
ClangSACheckersEmitter.cpp
|
|
ClangSyntaxEmitter.cpp
|
|
ClangTypeNodesEmitter.cpp
|
|
MveEmitter.cpp
|
|
NeonEmitter.cpp
|
|
RISCVVEmitter.cpp
|
|
SveEmitter.cpp
|
|
TableGen.cpp
|
|
)
|
|
set_target_properties(clang-tblgen PROPERTIES FOLDER "Clang tablegenning")
|