clang 22.0.0git
LoweringPrepareCXXABI.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file provides the LoweringPrepareCXXABI class, which is the base class
10// for ABI specific functionalities that are required during LLVM lowering
11// prepare.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef CIR_DIALECT_TRANSFORMS__LOWERINGPREPARECXXABI_H
16#define CIR_DIALECT_TRANSFORMS__LOWERINGPREPARECXXABI_H
17
18#include "mlir/IR/Value.h"
22
23namespace cir {
24
26public:
28
30
31 virtual mlir::Value lowerDynamicCast(CIRBaseBuilderTy &builder,
32 clang::ASTContext &astCtx,
33 cir::DynamicCastOp op) = 0;
34};
35
36} // namespace cir
37
38#endif // CIR_DIALECT_TRANSFORMS__LOWERINGPREPARECXXABI_H
Defines the clang::ASTContext interface.
virtual mlir::Value lowerDynamicCast(CIRBaseBuilderTy &builder, clang::ASTContext &astCtx, cir::DynamicCastOp op)=0
static LoweringPrepareCXXABI * createItaniumABI()
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition ASTContext.h:220