The new internal representation of operation results now allows for accessing the result types to be more efficient. Changing the API to ArrayRef is more efficient and removes the need to explicitly materialize vectors in several places.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Unit tests: fail. 62150 tests passed, 5 failed and 811 were skipped.
failed: libc++.std/language_support/cmp/cmp_partialord/partialord.pass.cpp failed: libc++.std/language_support/cmp/cmp_strongeq/cmp.strongeq.pass.cpp failed: libc++.std/language_support/cmp/cmp_strongord/strongord.pass.cpp failed: libc++.std/language_support/cmp/cmp_weakeq/cmp.weakeq.pass.cpp failed: libc++.std/language_support/cmp/cmp_weakord/weakord.pass.cpp
clang-tidy: pass.
clang-format: pass.
Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml
Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.
mlir/include/mlir/IR/Operation.h | ||
---|---|---|
266 | Nit: result_type_range -> ArrayRef<Type> result_type_range has only one use. |
mlir/include/mlir/IR/Operation.h | ||
---|---|---|
266 | It is used in other places, e.g. in multi-result operations. I'd rather not remove at it is consistent with the rest of the ranges. | |
mlir/test/lib/TestDialect/TestPatterns.cpp | ||
257 | It is necessary because the methods on Type are non-const and the result type range now returns const Type elements, instead of a Type. |
mlir/test/lib/TestDialect/TestPatterns.cpp | ||
---|---|---|
257 | Wouldn't this then result in us having multiple of these casts now? It seems like we'll end up adding more const casts just to query the types. |
Nit: result_type_range -> ArrayRef<Type>
result_type_range has only one use.