This patch transforms: X && *X == Y to: X == Y where X is of std::optional<T>, and Y is of T or similar.
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.
This patch transforms: X && *X == Y to: X == Y where X is of std::optional<T>, and Y is of T or similar.
See https://mlir.llvm.org/ for more information.