CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
221 lines
11 KiB
C++
221 lines
11 KiB
C++
//===- TableGenBackends.h - Declarations for Clang TableGen Backends ------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains the declarations for all of the Clang TableGen
|
|
// backends. A "TableGen backend" is just a function. See
|
|
// "$LLVM_ROOT/utils/TableGen/TableGenBackends.h" for more info.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H
|
|
#define LLVM_CLANG_UTILS_TABLEGEN_TABLEGENBACKENDS_H
|
|
|
|
#include <string>
|
|
|
|
namespace llvm {
|
|
class raw_ostream;
|
|
class RecordKeeper;
|
|
} // namespace llvm
|
|
|
|
namespace clang {
|
|
|
|
void EmitCIRLowering(const llvm::RecordKeeper &RK, llvm::raw_ostream &OS);
|
|
void EmitClangDeclContext(const llvm::RecordKeeper &RK, llvm::raw_ostream &OS);
|
|
/**
|
|
@param PriorizeIfSubclassOf These classes should be prioritized in the output.
|
|
This is useful to force enum generation/jump tables/lookup tables to be more
|
|
compact in both size and surrounding code in hot functions. An example use is
|
|
in Decl for classes that inherit from DeclContext, for functions like
|
|
castFromDeclContext.
|
|
*/
|
|
void EmitClangASTNodes(const llvm::RecordKeeper &RK, llvm::raw_ostream &OS,
|
|
const std::string &N, const std::string &S,
|
|
std::string_view PriorizeIfSubclassOf = "");
|
|
void EmitClangBasicReader(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangBasicWriter(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangTypeNodes(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangTypeReader(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangTypeWriter(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrParserStringSwitches(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrSubjectMatchRulesParserStringSwitches(
|
|
const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitCXX11AttributeInfo(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitAttributeSpellingList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrClass(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrImpl(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrSubjectMatchRuleList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrPCHRead(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrPCHWrite(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangRegularKeywordAttributeInfo(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrHasAttrImpl(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrSpellingListIndex(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrASTVisitor(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrTemplateInstantiate(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrParsedAttrList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrParsedAttrImpl(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrParsedAttrKinds(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrIsTypeDependent(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrTextNodeDump(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrNodeTraverse(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangAttrDocTable(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitClangBuiltins(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangBuiltinDocs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangBuiltinTemplates(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitClangDiagsCompatIDs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS,
|
|
const std::string &Component);
|
|
void EmitClangDiagsDefs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS, const std::string &Component);
|
|
void EmitClangDiagsEnums(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS, const std::string &Component);
|
|
void EmitClangDiagGroups(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangDiagsIndexName(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangDiagsStableIDs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangDiagsInterface(llvm::raw_ostream &OS,
|
|
const std::string &Component);
|
|
|
|
void EmitClangSACheckers(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitClangCommentHTMLTags(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangCommentHTMLTagsProperties(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangCommentHTMLNamedCharacterReferences(
|
|
const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
|
|
void EmitClangCommentCommandInfo(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangCommentCommandList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangOpcodes(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
|
|
void EmitClangSyntaxNodeList(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangSyntaxNodeClasses(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitNeon(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitFP16(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitBF16(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitNeonSema(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitVectorTypes(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitNeonTest(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
|
|
void EmitImmCheckTypes(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSveHeader(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSveBuiltins(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSveBuiltinsJSON(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSveBuiltinCG(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSveTypeFlags(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSveRangeChecks(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSveStreamingAttrs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitSmeHeader(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSmeBuiltins(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSmeBuiltinsJSON(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSmeBuiltinCG(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitSmeRangeChecks(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSmeStreamingAttrs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitSmeBuiltinZAState(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitMveHeader(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitMveBuiltinDef(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitMveBuiltinSema(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitMveBuiltinCG(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitMveBuiltinAliases(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitRVVHeader(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitRVVBuiltins(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitRVVBuiltinCG(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitRVVBuiltinSema(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitCdeHeader(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitCdeBuiltinDef(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitCdeBuiltinSema(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitCdeBuiltinCG(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
void EmitCdeBuiltinAliases(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitHLSLAliasIntrinsics(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitHLSLInlineIntrinsics(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitClangAttrDocs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangDiagDocs(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangOptDocs(const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
|
|
void EmitClangOpenCLBuiltins(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangOpenCLBuiltinHeader(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
void EmitClangOpenCLBuiltinTests(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitClangDataCollectors(const llvm::RecordKeeper &Records,
|
|
llvm::raw_ostream &OS);
|
|
|
|
void EmitTestPragmaAttributeSupportedAttributes(
|
|
const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
|
|
|
|
} // end namespace clang
|
|
|
|
#endif
|