diff options
author | Martin Erhart <merhart@google.com> | 2023-08-31 11:17:16 +0000 |
---|---|---|
committer | Martin Erhart <merhart@google.com> | 2023-08-31 11:28:23 +0000 |
commit | 34a35a8b244243f5a4ad5d531007bccfeaa0b02e (patch) | |
tree | 0838d6aafc1b55478d56e20cf9ec89b68330ea16 /clang/lib/CodeGen/CodeGenModule.h | |
parent | 22044f0bde015f4bf53fca24831d030ff96efc51 (diff) | |
download | llvm-34a35a8b244243f5a4ad5d531007bccfeaa0b02e.zip llvm-34a35a8b244243f5a4ad5d531007bccfeaa0b02e.tar.gz llvm-34a35a8b244243f5a4ad5d531007bccfeaa0b02e.tar.bz2 |
[mlir] Move FunctionInterfaces to Interfaces directory and inherit from CallableOpInterface
Functions are always callable operations and thus every operation
implementing the `FunctionOpInterface` also implements the
`CallableOpInterface`. The only exception was the FuncOp in the toy
example. To make implementation of the `FunctionOpInterface` easier,
this commit lets `FunctionOpInterface` inherit from
`CallableOpInterface` and merges some of their methods. More precisely,
the `CallableOpInterface` has methods to get the argument and result
attributes and a method to get the result types of the callable region.
These methods are always implemented the same way as their analogues in
`FunctionOpInterface` and thus this commit moves all the argument and
result attribute handling methods to the callable interface as well as
the methods to get the argument and result types. The
`FuntionOpInterface` then does not have to declare them as well, but
just inherits them from the `CallableOpInterface`.
Adding the inheritance relation also required to move the
`FunctionOpInterface` from the IR directory to the Interfaces directory
since IR should not depend on Interfaces.
Reviewed By: jpienaar, springerm
Differential Revision: https://reviews.llvm.org/D157988
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions