clang 20.0.0git
Functions
CGPointerAuth.cpp File Reference
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "clang/CodeGen/CodeGenABITypes.h"
#include "clang/CodeGen/ConstantInitBuilder.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/Support/SipHash.h"

Go to the source code of this file.

Functions

static CGPointerAuthInfo getPointerAuthInfoForPointeeType (CodeGenModule &CGM, QualType PointeeType)
 Return the natural pointer authentication for values of the given pointee type.
 
static CGPointerAuthInfo getPointerAuthInfoForType (CodeGenModule &CGM, QualType PointerType)
 Return the natural pointer authentication for values of the given pointer type.
 
static bool isZeroConstant (const llvm::Value *Value)
 
static bool equalAuthPolicies (const CGPointerAuthInfo &Left, const CGPointerAuthInfo &Right)
 
static llvm::ValuegetDiscriminatorOrZero (const CGPointerAuthInfo &Info, CGBuilderTy &Builder)
 

Function Documentation

◆ equalAuthPolicies()

static bool equalAuthPolicies ( const CGPointerAuthInfo Left,
const CGPointerAuthInfo Right 
)
static

Definition at line 175 of file CGPointerAuth.cpp.

◆ getDiscriminatorOrZero()

static llvm::Value * getDiscriminatorOrZero ( const CGPointerAuthInfo Info,
CGBuilderTy Builder 
)
static

◆ getPointerAuthInfoForPointeeType()

static CGPointerAuthInfo getPointerAuthInfoForPointeeType ( CodeGenModule CGM,
QualType  PointeeType 
)
static

Return the natural pointer authentication for values of the given pointee type.

Definition at line 131 of file CGPointerAuth.cpp.

References clang::CodeGen::CodeGenModule::getFunctionPointerAuthInfo(), clang::Type::isFunctionType(), and clang::QualType::isNull().

◆ getPointerAuthInfoForType()

static CGPointerAuthInfo getPointerAuthInfoForType ( CodeGenModule CGM,
QualType  PointerType 
)
static

Return the natural pointer authentication for values of the given pointer type.

Definition at line 149 of file CGPointerAuth.cpp.

References clang::PointerType::getPointeeType(), clang::Type::isBlockPointerType(), and clang::Type::isSignableType().

◆ isZeroConstant()

static bool isZeroConstant ( const llvm::Value Value)
static