clang 24.0.0git
CIRABIClassifier.h File Reference
#include "mlir/ABI/ABIRewriteContext.h"
#include "mlir/ABI/ABITypeMapper.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/Interfaces/DataLayoutInterfaces.h"
#include "mlir/Support/LogicalResult.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"
#include "clang/CIR/Dialect/Passes.h"
#include "llvm/ABI/FunctionInfo.h"
#include "llvm/ABI/TargetInfo.h"
#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/CallingConv.h"
#include <memory>

Go to the source code of this file.

Classes

struct  cir::ABIClassifierOptions
 The target-specific settings a classifier needs beyond what it can read from the module. More...
class  cir::CIRABIClassifier
 Produces the classification CallConvLowering rewrites a signature from. More...
class  cir::CIRABIClassifierCommon
 Classifies through the LLVM ABI Lowering Library. More...

Namespaces

namespace  cir

Functions

std::unique_ptr< CIRABIClassifier > cir::createTestTargetABIClassifier (const mlir::DataLayout &dl)
 The MLIR test ABI target's classifier, whose predictable rules approximate x86_64 SysV.
std::unique_ptr< CIRABIClassifier > cir::createInjectedABIClassifier (const mlir::DataLayout &dl, llvm::StringRef attrName)
 A classifier that reads each function's classification from the DictionaryAttr named attrName.
std::unique_ptr< CIRABIClassifier > cir::createX86_64ABIClassifier (const mlir::DataLayout &dl, mlir::ModuleOp modOp, const ABIClassifierOptions &options)
 The x86_64 System V classifier.
std::unique_ptr< CIRABIClassifier > cir::createAMDGPUABIClassifier (const mlir::DataLayout &dl, mlir::ModuleOp modOp)
 The AMDGPU classifier.
llvm::CallingConv::ID cir::convertCallingConv (cir::CallingConv cc)
 Map a CIR calling convention to the llvm::CallingConv the ABI classifier uses.