|
MLIR 23.0.0git
|
Classes | |
| class | ABIRewriteContext |
| ABIRewriteContext is the abstract interface that each dialect implements to perform ABI-specific rewrites on its operations. More... | |
| class | ABITypeMapper |
| ABITypeMapper translates mlir::Type values into the llvm::abi::Type hierarchy used by the LLVM ABI Lowering Library. More... | |
| struct | ArgClassification |
| Describes how a single argument or return value is passed after ABI lowering. More... | |
| struct | FunctionClassification |
| Holds the full ABI classification for a function: return type and all arguments. More... | |
Enumerations | |
| enum class | ArgKind : uint8_t { Direct , Extend , Indirect , Ignore , Expand } |
| Classification of how a single argument or return value should be passed at the ABI level. More... | |
|
strong |
Classification of how a single argument or return value should be passed at the ABI level.
This is a dialect-agnostic representation. It mirrors the kinds found in the LLVM ABI library and in CIR's ABIArgInfo, but does not depend on either.
| Enumerator | |
|---|---|
| Direct | Pass directly in registers, possibly coerced to a different type. |
| Extend | Like Direct, but with a sign/zero extension attribute. |
| Indirect | Pass indirectly via a pointer (sret for returns, byval for args). |
| Ignore | Ignore (void return, empty struct). |
| Expand | Expand an aggregate into its constituent scalar fields. |
Definition at line 38 of file ABIRewriteContext.h.