mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-11 17:08:42 +00:00
afcceec744
Making the constraint a buildable type makes them incompatible with opaque pointers, at least while we still support typed pointers, since Ops making use of the constraint will then automatically create a typed pointer on parse. This patch therefore fixes that issue by removing the `BuildableType` mixin. This has a bit of a cascading effect however, as all users of the constraint now need operands of that type to be added to the assembly format, hence a lot of adjustments to the syntax of a lot of (mostly intrinsic) ops. Few things of note: The syntax as is, is only required while we're supporting both typed and opaque pointers. Once we drop support for typed pointers, we can make it a `BuildableType` again. As a drive by I also fixed the address space not being verified in the constraint. Finally, I added some roundtripping tests, most importantly for ops with `type($specific_operand)` occurences. These are printed incorrectly with typed pointers if not wrapped within a `qualified`. Differential Revision: https://reviews.llvm.org/D144479 |
||
---|---|---|
.. | ||
X86Vector | ||
async-error.mlir | ||
async-func.mlir | ||
async-group.mlir | ||
async-value.mlir | ||
async.mlir | ||
bare-ptr-call-conv.mlir | ||
copy.mlir | ||
global-memref.mlir | ||
invalid.mlir | ||
lit.local.cfg | ||
math-polynomial-approx.mlir | ||
memref-reinterpret-cast.mlir | ||
memref-reshape.mlir | ||
print.mlir | ||
sgemm-naive-codegen.mlir | ||
simple.mlir | ||
unranked-memref.mlir | ||
utils.mlir | ||
x86-varargs.mlir |