clang 22.0.0git
ExprConstShared.h File Reference
#include "clang/Basic/TypeTraits.h"
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Enumerations

enum class  GCCTypeClass {
  None = -1 , Void = 0 , Integer = 1 , Enum = 3 ,
  Bool = 4 , Pointer = 5 , PointerToDataMember = 7 , RealFloat = 8 ,
  Complex = 9 , PointerToMemberFunction = 12 , ClassOrStruct = 12 , Union = 13 ,
  BitInt = 18 , Vector = 19
}
 Values returned by __builtin_classify_type, chosen to match the values produced by GCC's builtin. More...

Functions

GCCTypeClass EvaluateBuiltinClassifyType (QualType T, const LangOptions &LangOpts)
 EvaluateBuiltinClassifyType - Evaluate __builtin_classify_type the same way as GCC.
void HandleComplexComplexMul (llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, llvm::APFloat D, llvm::APFloat &ResR, llvm::APFloat &ResI)
void HandleComplexComplexDiv (llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, llvm::APFloat D, llvm::APFloat &ResR, llvm::APFloat &ResI)
CharUnits GetAlignOfExpr (const ASTContext &Ctx, const Expr *E, UnaryExprOrTypeTrait ExprKind)
uint8_t GFNIMultiplicativeInverse (uint8_t Byte)
uint8_t GFNIMul (uint8_t AByte, uint8_t BByte)
uint8_t GFNIAffine (uint8_t XByte, const llvm::APInt &AQword, const llvm::APSInt &Imm, bool Inverse=false)

Enumeration Type Documentation

◆ GCCTypeClass

enum class GCCTypeClass
strong

Values returned by __builtin_classify_type, chosen to match the values produced by GCC's builtin.

Enumerator
None 
Void 
Integer 
Enum 
Bool 
Pointer 
PointerToDataMember 
RealFloat 
Complex 
PointerToMemberFunction 
ClassOrStruct 
Union 
BitInt 
Vector 

Definition at line 35 of file ExprConstShared.h.

Function Documentation

◆ EvaluateBuiltinClassifyType()

◆ GetAlignOfExpr()

◆ GFNIAffine()

uint8_t GFNIAffine ( uint8_t XByte,
const llvm::APInt & AQword,
const llvm::APSInt & Imm,
bool Inverse = false )

◆ GFNIMul()

uint8_t GFNIMul ( uint8_t AByte,
uint8_t BByte )

Definition at line 19622 of file ExprConstant.cpp.

Referenced by clang::interp::interp__builtin_ia32_gfni_mul().

◆ GFNIMultiplicativeInverse()

uint8_t GFNIMultiplicativeInverse ( uint8_t Byte)

Definition at line 19564 of file ExprConstant.cpp.

Referenced by GFNIAffine().

◆ HandleComplexComplexDiv()

void HandleComplexComplexDiv ( llvm::APFloat A,
llvm::APFloat B,
llvm::APFloat C,
llvm::APFloat D,
llvm::APFloat & ResR,
llvm::APFloat & ResI )

References clang::C.

◆ HandleComplexComplexMul()

void HandleComplexComplexMul ( llvm::APFloat A,
llvm::APFloat B,
llvm::APFloat C,
llvm::APFloat D,
llvm::APFloat & ResR,
llvm::APFloat & ResI )

References clang::C.