llvm-project
c012e487 - [MLIR][LLVM] Promote noinline/alwaysinline/optnone out of passthrough (#95110)

Commit
1 year ago
[MLIR][LLVM] Promote noinline/alwaysinline/optnone out of passthrough (#95110) The `noinline`, `alwaysinline`, and `optnone` function attributes are already being used in MLIR code for the LLVM inlining interface and in some SPIR-V lowering, despite residing in the passthrough dictionary, which is intended as exactly that -- a pass through MLIR -- and not to model any actual semantics being handled in MLIR itself. Promote the `noinline`, `alwaysinline`, and `optnone` attributes out of the passthrough dictionary on `llvm.func` into first class unit attributes, updating the import and export accordingly. Add a verifier to `llvm.func` that checks that these attributes are not set in an incompatible way according to the LLVM specification. Update the LLVM dialect inlining interface to use the first class attributes to check whether inlining is possible.
Author
Parents
Loading