aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMarkus Böck <markus.boeck02@gmail.com>2023-02-21 15:29:32 +0100
committerMarkus Böck <markus.boeck02@gmail.com>2023-02-21 20:46:33 +0100
commitafcceec744097a22037da3f426d1088b360ba164 (patch)
tree9a7c3e215b76006695ac35ce2616869fe5e5f608 /flang/lib/Frontend/CompilerInvocation.cpp
parentdad3741e3bdc6e126c5b3adec9242d7b2d926282 (diff)
downloadllvm-afcceec744097a22037da3f426d1088b360ba164.zip
llvm-afcceec744097a22037da3f426d1088b360ba164.tar.gz
llvm-afcceec744097a22037da3f426d1088b360ba164.tar.bz2
[mlir][LLVM] Don't make `LLVM_IntPtrBase` a `BuildableType` to allow the use of opaque pointers
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
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions