mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-13 19:24:21 +00:00
34a35a8b24
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 |
||
---|---|---|
.. | ||
Bindings | ||
DefiningDialects | ||
Dialects | ||
includes/img | ||
Rationale | ||
Tools | ||
Traits | ||
Tutorials | ||
ActionTracing.md | ||
BufferDeallocationInternals.md | ||
Bufferization.md | ||
BytecodeFormat.md | ||
Canonicalization.md | ||
CAPI.md | ||
CMakeLists.txt | ||
DataLayout.md | ||
DeclarativeRewrites.md | ||
Diagnostics.md | ||
DialectConversion.md | ||
doxygen-mainpage.dox | ||
doxygen.cfg.in | ||
Interfaces.md | ||
LangRef.md | ||
Passes.md | ||
PassManagement.md | ||
PatternRewriter.md | ||
PDLL.md | ||
Quantization.md | ||
README.txt | ||
ReleaseNotes.md | ||
ShapeInference.md | ||
SPIRVToLLVMDialectConversion.md | ||
SymbolsAndSymbolTables.md | ||
TargetLLVMIR.md |
MLIR documentation ================== Please note mlir.llvm.org is where MLIR's rendered documentation is displayed. The viewing experience on GitHub or elsewhere may not match those of the website. For any changes please verify instead that they work on the main website first. See https://github.com/llvm/mlir-www for the website generation information.