clang 22.0.0git
SemaRISCV.cpp File Reference
#include "clang/Sema/SemaRISCV.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/Attrs.inc"
#include "clang/AST/Decl.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Sema/Attr.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Lookup.h"
#include "clang/Sema/ParsedAttr.h"
#include "clang/Sema/RISCVIntrinsicManager.h"
#include "clang/Sema/Sema.h"
#include "clang/Support/RISCVVIntrinsicUtils.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/TargetParser/RISCVISAInfo.h"
#include "llvm/TargetParser/RISCVTargetParser.h"
#include <optional>
#include <string>
#include <vector>
#include "clang/Basic/riscv_vector_builtin_sema.inc"
#include "clang/Basic/riscv_sifive_vector_builtin_sema.inc"
#include "clang/Basic/riscv_andes_vector_builtin_sema.inc"

Go to the source code of this file.

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Macros

#define DECL_SIGNATURE_TABLE
#define DECL_SIGNATURE_TABLE
#define DECL_SIGNATURE_TABLE
#define DECL_INTRINSIC_RECORDS
#define DECL_INTRINSIC_RECORDS
#define DECL_INTRINSIC_RECORDS

Typedefs

using IntrinsicKind = sema::RISCVIntrinsicManager::IntrinsicKind

Functions

static ArrayRef< PrototypeDescriptorProtoSeq2ArrayRef (IntrinsicKind K, uint16_t Index, uint8_t Length)
static QualType RVVType2Qual (ASTContext &Context, const RVVType *Type)
std::unique_ptr< sema::RISCVIntrinsicManagerclang::CreateRISCVIntrinsicManager (Sema &S)
static bool clang::CheckInvalidVLENandLMUL (const TargetInfo &TI, llvm::StringMap< bool > &FunctionFeatureMap, CallExpr *TheCall, Sema &S, QualType Type, int EGW)

Variables

static const PrototypeDescriptor RVVSignatureTable []
static const PrototypeDescriptor RVSiFiveVectorSignatureTable []
static const PrototypeDescriptor RVAndesVectorSignatureTable []
static const RVVIntrinsicRecord RVVIntrinsicRecords []
static const RVVIntrinsicRecord RVSiFiveVectorIntrinsicRecords []
static const RVVIntrinsicRecord RVAndesVectorIntrinsicRecords []

Macro Definition Documentation

◆ DECL_INTRINSIC_RECORDS [1/3]

#define DECL_INTRINSIC_RECORDS

◆ DECL_INTRINSIC_RECORDS [2/3]

#define DECL_INTRINSIC_RECORDS

◆ DECL_INTRINSIC_RECORDS [3/3]

#define DECL_INTRINSIC_RECORDS

◆ DECL_SIGNATURE_TABLE [1/3]

#define DECL_SIGNATURE_TABLE

◆ DECL_SIGNATURE_TABLE [2/3]

#define DECL_SIGNATURE_TABLE

◆ DECL_SIGNATURE_TABLE [3/3]

#define DECL_SIGNATURE_TABLE

Typedef Documentation

◆ IntrinsicKind

Function Documentation

◆ ProtoSeq2ArrayRef()

ArrayRef< PrototypeDescriptor > ProtoSeq2ArrayRef ( IntrinsicKind K,
uint16_t Index,
uint8_t Length )
static

◆ RVVType2Qual()

Variable Documentation

◆ RVAndesVectorIntrinsicRecords

const RVVIntrinsicRecord RVAndesVectorIntrinsicRecords[]
static
Initial value:
= {
#define DECL_INTRINSIC_RECORDS
}

Definition at line 93 of file SemaRISCV.cpp.

◆ RVAndesVectorSignatureTable

const PrototypeDescriptor RVAndesVectorSignatureTable[]
static
Initial value:
= {
#define DECL_SIGNATURE_TABLE
}

Definition at line 75 of file SemaRISCV.cpp.

Referenced by ProtoSeq2ArrayRef().

◆ RVSiFiveVectorIntrinsicRecords

const RVVIntrinsicRecord RVSiFiveVectorIntrinsicRecords[]
static
Initial value:
= {
#define DECL_INTRINSIC_RECORDS
}

Definition at line 87 of file SemaRISCV.cpp.

◆ RVSiFiveVectorSignatureTable

const PrototypeDescriptor RVSiFiveVectorSignatureTable[]
static
Initial value:
= {
#define DECL_SIGNATURE_TABLE
}

Definition at line 69 of file SemaRISCV.cpp.

Referenced by ProtoSeq2ArrayRef().

◆ RVVIntrinsicRecords

const RVVIntrinsicRecord RVVIntrinsicRecords[]
static
Initial value:
= {
#define DECL_INTRINSIC_RECORDS
}

Definition at line 81 of file SemaRISCV.cpp.

◆ RVVSignatureTable

const PrototypeDescriptor RVVSignatureTable[]
static
Initial value:
= {
#define DECL_SIGNATURE_TABLE
}

Definition at line 63 of file SemaRISCV.cpp.

Referenced by ProtoSeq2ArrayRef().