clang 22.0.0git
CXXABILowering.cpp File Reference
#include "PassDetail.h"
#include "TargetLowering/LowerModule.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/Interfaces/DataLayoutInterfaces.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CIR/Dialect/Builder/CIRBaseBuilder.h"
#include "clang/CIR/Dialect/IR/CIRAttrs.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"
#include "clang/CIR/Dialect/IR/CIROpsEnums.h"
#include "clang/CIR/Dialect/Passes.h"
#include "clang/CIR/MissingFeatures.h"
#include "clang/CIR/Dialect/Passes.h.inc"

Go to the source code of this file.

Namespaces

namespace  mlir

Macros

#define GEN_PASS_DEF_CXXABILOWERING
#define CIR_CXXABI_LOWERING_PATTERN(name, operation)

Functions

static void prepareCXXABITypeConverter (mlir::TypeConverter &converter, mlir::DataLayout &dataLayout, cir::LowerModule &lowerModule)
static void populateCXXABIConversionTarget (mlir::ConversionTarget &target, const mlir::TypeConverter &typeConverter)

Macro Definition Documentation

◆ CIR_CXXABI_LOWERING_PATTERN

#define CIR_CXXABI_LOWERING_PATTERN ( name,
operation )
Value:
struct name : CIROpCXXABILoweringPattern<operation> { \
using CIROpCXXABILoweringPattern<operation>::CIROpCXXABILoweringPattern; \
\
mlir::LogicalResult \
matchAndRewrite(operation op, OpAdaptor adaptor, \
mlir::ConversionPatternRewriter &rewriter) const override; \
}

Definition at line 50 of file CXXABILowering.cpp.

◆ GEN_PASS_DEF_CXXABILOWERING

#define GEN_PASS_DEF_CXXABILOWERING

Definition at line 28 of file CXXABILowering.cpp.

Function Documentation

◆ populateCXXABIConversionTarget()

void populateCXXABIConversionTarget ( mlir::ConversionTarget & target,
const mlir::TypeConverter & typeConverter )
static

Definition at line 290 of file CXXABILowering.cpp.

◆ prepareCXXABITypeConverter()

void prepareCXXABITypeConverter ( mlir::TypeConverter & converter,
mlir::DataLayout & dataLayout,
cir::LowerModule & lowerModule )
static