@@ -143,23 +143,23 @@ class AllocLikeOp<string mnemonic,
143
143
//===----------------------------------------------------------------------===//
144
144
145
145
def AssumeAlignmentOp : MemRef_Op<"assume_alignment", [
146
+ DeclareOpInterfaceMethods<OpAsmOpInterface, ["getAsmResultNames"]>,
146
147
Pure,
147
148
ViewLikeOpInterface,
148
149
SameOperandsAndResultType
149
150
]> {
150
151
let summary =
151
152
"assertion that gives alignment information to the input memref";
152
153
let description = [{
153
- The `assume_alignment` operation takes a memref and an integer alignment
154
+ The `assume_alignment` operation takes a memref and an integer of alignment
154
155
value. It returns a new SSA value of the same memref type, but associated
155
156
with the assertion that the underlying buffer is aligned to the given
156
157
alignment.
157
158
158
- If the buffer isn't actually aligned to the given alignment, this operation
159
+ If the buffer isn't aligned to the given alignment, this operation
159
160
itself does not cause undefined behavior. However, subsequent operations
160
161
that consume the resulting memref and rely on this asserted alignment for
161
- correctness (e.g., to avoid hardware traps or to meet ISA requirements for
162
- specific instructions) will produce a poison value if the assertion is false.
162
+ correctness will produce a poison value if the assertion is false.
163
163
164
164
This operation doesn't affect the semantics of a program where the
165
165
alignment assertion holds true. It is intended for optimization purposes,
0 commit comments