LLVM 24.0.0git
DefaultTargetInfo.h
Go to the documentation of this file.
1//===----- DefaultTargetInfo.h - Default ABI classification ------- C++ -*-===//
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/// \file
10/// Default ABI classification shared by targets without special rules. This is
11/// the llvm::abi analogue of clang::CodeGen::DefaultABIInfo: targets delegate
12/// to it for the cases they do not handle themselves.
13///
14//===----------------------------------------------------------------------===//
15
16#ifndef LLVM_ABI_DEFAULTTARGETINFO_H
17#define LLVM_ABI_DEFAULTTARGETINFO_H
18
19#include "llvm/ABI/TargetInfo.h"
20
21namespace llvm {
22namespace abi {
23
24/// Self-consistent classification that conforms to no particular ABI.
26public:
28
29 ArgInfo classifyArgumentType(const Type *Ty) const;
30 ArgInfo classifyReturnType(const Type *RetTy) const;
31
32 void computeInfo(FunctionInfo &FI) const override;
33};
34
35} // namespace abi
36} // namespace llvm
37
38#endif // LLVM_ABI_DEFAULTTARGETINFO_H
#define LLVM_ABI
Definition Compiler.h:215
Target-specific ABI information and factory functions.
Helper class to encapsulate information about how a specific type should be passed to or returned fro...
Self-consistent classification that conforms to no particular ABI.
TargetInfo(TypeBuilder &Builder)
Definition TargetInfo.h:70
ArgInfo classifyArgumentType(const Type *Ty) const
void computeInfo(FunctionInfo &FI) const override
Populate FI with the target's ABI-lowering decisions for each argument and return value.
ArgInfo classifyReturnType(const Type *RetTy) const
TargetInfo(TypeBuilder &Builder)
Definition TargetInfo.h:70
Represents the ABI-specific view of a type in LLVM.
Definition Types.h:46
This is an optimization pass for GlobalISel generic memory operations.