forked from OSchip/llvm-project
[mlir][docs] A friendlier improvement for the Toy tutorial chapter 4.
Add notes for discarding private-visible functions in the Toy tutorial chapter 4. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D108026
This commit is contained in:
parent
ba8547775b
commit
2b2c13e672
|
@ -95,6 +95,22 @@ struct ToyInlinerInterface : public DialectInlinerInterface {
|
|||
};
|
||||
```
|
||||
|
||||
Besides, the inliner will only discard private-visible unused function
|
||||
definitions. We also have to set the visibility of functions (except the
|
||||
main function) in the MLIR generator.
|
||||
|
||||
```c++
|
||||
/// Emit a new function and add it to the MLIR module.
|
||||
mlir::FuncOp mlirGen(FunctionAST &funcAST) {
|
||||
...
|
||||
// If this function isn't main, then set the visibility to private.
|
||||
if (funcAST.getProto()->getName() != "main")
|
||||
function.setPrivate();
|
||||
|
||||
return function;
|
||||
}
|
||||
```
|
||||
|
||||
We then register our dialect interface directly on the Toy dialect, similarly to
|
||||
how we did for operations.
|
||||
|
||||
|
|
Loading…
Reference in New Issue