This PR adds a missing canonicalization for empty `vector.mask` ops with
a passthru value.
```
%0 = vector.mask %mask, %passthru { vector.yield %a : vector<8xf32> } :
vector<8xi1> -> vector<8xf32>
becomes:
%0 = arith.select %mask, %a, %passthru : vector<8xf32>
```
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.