|
MLIR 23.0.0git
|
Describes how a single argument or return value is passed after ABI lowering. More...
#include "mlir/ABI/ABIRewriteContext.h"
Static Public Member Functions | |
| static ArgClassification | getDirect (Type coerced=nullptr) |
| static ArgClassification | getIgnore () |
| static ArgClassification | getIndirect (llvm::Align align, bool byVal=true) |
| static ArgClassification | getExtend (Type coerced, bool signExt) |
Public Attributes | |
| ArgKind | kind = ArgKind::Direct |
| Type | coercedType = nullptr |
| The ABI-coerced type, if different from the original. | |
| llvm::Align | indirectAlign = llvm::Align(1) |
| For Indirect: alignment of the pointed-to object. | |
| bool | signExtend = false |
| For Extend: whether to sign-extend (true) or zero-extend (false). | |
| bool | canFlatten = true |
| For Direct: whether a struct coercion can be flattened into individual register-width arguments. | |
| bool | byVal = false |
| For Indirect: whether the callee gets ownership (byval). | |
Describes how a single argument or return value is passed after ABI lowering.
Definition at line 57 of file ABIRewriteContext.h.
|
inlinestatic |
Definition at line 77 of file ABIRewriteContext.h.
References coercedType, mlir::abi::Direct, and kind.
|
inlinestatic |
Definition at line 98 of file ABIRewriteContext.h.
References coercedType, mlir::abi::Extend, kind, and signExtend.
|
inlinestatic |
Definition at line 84 of file ABIRewriteContext.h.
References mlir::abi::Ignore, and kind.
|
inlinestatic |
Definition at line 90 of file ABIRewriteContext.h.
References byVal, mlir::abi::Indirect, indirectAlign, and kind.
For Indirect: whether the callee gets ownership (byval).
Definition at line 75 of file ABIRewriteContext.h.
Referenced by getIndirect().
For Direct: whether a struct coercion can be flattened into individual register-width arguments.
Definition at line 72 of file ABIRewriteContext.h.
The ABI-coerced type, if different from the original.
Null means use the original type.
Definition at line 62 of file ABIRewriteContext.h.
Referenced by getDirect(), and getExtend().
| llvm::Align mlir::abi::ArgClassification::indirectAlign = llvm::Align(1) |
For Indirect: alignment of the pointed-to object.
Definition at line 65 of file ABIRewriteContext.h.
Referenced by getIndirect().
| ArgKind mlir::abi::ArgClassification::kind = ArgKind::Direct |
Definition at line 58 of file ABIRewriteContext.h.
Referenced by getDirect(), getExtend(), getIgnore(), and getIndirect().
For Extend: whether to sign-extend (true) or zero-extend (false).
Definition at line 68 of file ABIRewriteContext.h.
Referenced by getExtend().