clang 23.0.0git
CXXABILowering.cpp File Reference
#include <deque>
#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/CIR/Dialect/Builder/CIRBaseBuilder.h"
#include "clang/CIR/Dialect/IR/CIRAttrs.h"
#include "clang/CIR/Dialect/IR/CIRDataLayout.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"
#include "clang/CIR/Dialect/IR/CIRLowering.inc"

Go to the source code of this file.

Classes

class  CIRABITypeConverter

Namespaces

namespace  mlir

Macros

#define GEN_PASS_DEF_CXXABILOWERING
#define GET_ABI_LOWERING_PATTERNS
#define GET_ABI_LOWERING_PATTERNS_LIST

Functions

static mlir::TypedAttr lowerInitialValue (const LowerModule *lowerModule, const mlir::DataLayout &layout, const mlir::TypeConverter &tc, mlir::Type ty, mlir::Attribute initVal)
static void populateCXXABIConversionTarget (mlir::ConversionTarget &target, const mlir::TypeConverter &typeConverter)
static void collectUnreachable (mlir::Operation *parent, llvm::SmallVector< mlir::Operation * > &ops)

Macro Definition Documentation

◆ GEN_PASS_DEF_CXXABILOWERING

#define GEN_PASS_DEF_CXXABILOWERING

Definition at line 30 of file CXXABILowering.cpp.

◆ GET_ABI_LOWERING_PATTERNS

#define GET_ABI_LOWERING_PATTERNS

Definition at line 36 of file CXXABILowering.cpp.

◆ GET_ABI_LOWERING_PATTERNS_LIST

#define GET_ABI_LOWERING_PATTERNS_LIST

Function Documentation

◆ collectUnreachable()

void collectUnreachable ( mlir::Operation * parent,
llvm::SmallVector< mlir::Operation * > & ops )
static

Definition at line 567 of file CXXABILowering.cpp.

◆ lowerInitialValue()

mlir::TypedAttr lowerInitialValue ( const LowerModule * lowerModule,
const mlir::DataLayout & layout,
const mlir::TypeConverter & tc,
mlir::Type ty,
mlir::Attribute initVal )
static

◆ populateCXXABIConversionTarget()

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

Definition at line 500 of file CXXABILowering.cpp.