24bool GenericSpaceAttr::isValidLoad(
25 Type type, ptr::AtomicOrdering ordering, std::optional<int64_t> alignment,
26 const ::mlir::DataLayout *dataLayout,
31bool GenericSpaceAttr::isValidStore(
32 Type type, ptr::AtomicOrdering ordering, std::optional<int64_t> alignment,
33 const ::mlir::DataLayout *dataLayout,
38bool GenericSpaceAttr::isValidAtomicOp(
39 ptr::AtomicBinOp op,
Type type, ptr::AtomicOrdering ordering,
40 std::optional<int64_t> alignment, const ::mlir::DataLayout *dataLayout,
45bool GenericSpaceAttr::isValidAtomicXchg(
46 Type type, ptr::AtomicOrdering successOrdering,
47 ptr::AtomicOrdering failureOrdering, std::optional<int64_t> alignment,
48 const ::mlir::DataLayout *dataLayout,
53bool GenericSpaceAttr::isValidAddrSpaceCast(
57 assert(
false &&
"unimplemented, see TODO in the source.");
61bool GenericSpaceAttr::isValidPtrIntCast(
65 assert(
false &&
"unimplemented, see TODO in the source.");
74 uint32_t size, uint32_t abi, uint32_t preferred,
77 return emitError() <<
"size entry must be divisible by 8";
79 return emitError() <<
"abi entry must be divisible by 8";
81 return emitError() <<
"preferred entry must be divisible by 8";
83 return emitError() <<
"index entry must be divisible by 8";
85 return emitError() <<
"preferred alignment is expected to be at least "
86 "as large as ABI alignment";
constexpr static const uint64_t kBitsInByte
This class represents a diagnostic that is inflight and set to be reported.
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
Include the generated interface declarations.
InFlightDiagnostic emitError(Location loc)
Utility method to emit an error message using this location.
llvm::function_ref< Fn > function_ref