clang 22.0.0git
cir::CIRCXXABI Class Referenceabstract

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h"

Public Member Functions

virtual ~CIRCXXABI ()
virtual mlir::Type lowerDataMemberType (cir::DataMemberType type, const mlir::TypeConverter &typeConverter) const =0
 Lower the given data member pointer type to its ABI type.
virtual mlir::TypedAttr lowerDataMemberConstant (cir::DataMemberAttr attr, const mlir::DataLayout &layout, const mlir::TypeConverter &typeConverter) const =0
 Lower the given data member pointer constant to a constant of the ABI type.
virtual mlir::Operation * lowerGetRuntimeMember (cir::GetRuntimeMemberOp op, mlir::Type loweredResultTy, mlir::Value loweredAddr, mlir::Value loweredMember, mlir::OpBuilder &builder) const =0
 Lower the given cir.get_runtime_member op to a sequence of more "primitive" CIR operations that act on the ABI types.

Protected Member Functions

 CIRCXXABI (LowerModule &lm)

Protected Attributes

LowerModulelm

Friends

class LowerModule

Detailed Description

Definition at line 26 of file CIRCXXABI.h.

Constructor & Destructor Documentation

◆ CIRCXXABI()

cir::CIRCXXABI::CIRCXXABI ( LowerModule & lm)
inlineprotected

Definition at line 32 of file CIRCXXABI.h.

References lm, and LowerModule.

◆ ~CIRCXXABI()

cir::CIRCXXABI::~CIRCXXABI ( )
virtual

Definition at line 18 of file CIRCXXABI.cpp.

Member Function Documentation

◆ lowerDataMemberConstant()

virtual mlir::TypedAttr cir::CIRCXXABI::lowerDataMemberConstant ( cir::DataMemberAttr attr,
const mlir::DataLayout & layout,
const mlir::TypeConverter & typeConverter ) const
pure virtual

Lower the given data member pointer constant to a constant of the ABI type.

The returned constant is represented as an attribute as well.

◆ lowerDataMemberType()

virtual mlir::Type cir::CIRCXXABI::lowerDataMemberType ( cir::DataMemberType type,
const mlir::TypeConverter & typeConverter ) const
pure virtual

Lower the given data member pointer type to its ABI type.

The returned type is also a CIR type.

Referenced by cir::direct::prepareTypeConverter().

◆ lowerGetRuntimeMember()

virtual mlir::Operation * cir::CIRCXXABI::lowerGetRuntimeMember ( cir::GetRuntimeMemberOp op,
mlir::Type loweredResultTy,
mlir::Value loweredAddr,
mlir::Value loweredMember,
mlir::OpBuilder & builder ) const
pure virtual

Lower the given cir.get_runtime_member op to a sequence of more "primitive" CIR operations that act on the ABI types.

◆ LowerModule

friend class LowerModule
friend

Definition at line 27 of file CIRCXXABI.h.

References LowerModule.

Referenced by CIRCXXABI(), and LowerModule.

Member Data Documentation

◆ lm

LowerModule& cir::CIRCXXABI::lm
protected

Definition at line 30 of file CIRCXXABI.h.

Referenced by CIRCXXABI().


The documentation for this class was generated from the following files: