clang 23.0.0git
LowerItaniumCXXABI.cpp File Reference
#include "CIRCXXABI.h"
#include "LowerModule.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "llvm/Support/ErrorHandling.h"

Go to the source code of this file.

Namespaces

namespace  cir

Functions

std::unique_ptr< CIRCXXABIcir::createItaniumCXXABI (LowerModule &lm)
 Creates an Itanium-family ABI.
static cir::IntType cir::getPtrDiffCIRTy (LowerModule &lm)
static mlir::Value cir::lowerDataMemberCast (mlir::Operation *op, mlir::Value loweredSrc, std::int64_t offset, bool isDerivedToBase, mlir::OpBuilder &builder)
static mlir::Value cir::lowerMethodCast (mlir::Operation *op, mlir::Value loweredSrc, std::int64_t offset, bool isDerivedToBase, LowerModule &lowerMod, mlir::OpBuilder &builder)
static void cir::buildBadCastCall (mlir::OpBuilder &builder, mlir::Location loc, mlir::FlatSymbolRefAttr badCastFuncRef)
static mlir::Value cir::buildDynamicCastAfterNullCheck (cir::DynamicCastOp op, mlir::OpBuilder &builder)
static mlir::Value cir::buildDynamicCastToVoidAfterNullCheck (cir::DynamicCastOp op, cir::LowerModule &lm, mlir::OpBuilder &builder)