================ @@ -1580,9 +1580,49 @@ OpFoldResult cir::VecExtractOp::fold(FoldAdaptor adaptor) { } //===----------------------------------------------------------------------===// -// VecShuffle +// VecShuffleOp //===----------------------------------------------------------------------===// +OpFoldResult cir::VecShuffleOp::fold(FoldAdaptor adaptor) { + mlir::Attribute vec1 = adaptor.getVec1(); + mlir::Attribute vec2 = adaptor.getVec2(); + + if (!mlir::isa_and_nonnull<cir::ConstVectorAttr>(vec1) || + !mlir::isa_and_nonnull<cir::ConstVectorAttr>(vec2)) { + return {}; + } + + auto vec1Attr = mlir::cast<cir::ConstVectorAttr>(vec1); + auto vec2Attr = mlir::cast<cir::ConstVectorAttr>(vec2); ---------------- xlauko wrote:
```suggestion auto vec1Attr = mlir::dyn_cast_if_present<cir::ConstVectorAttr>(adaptor.getVec1()); auto vec2Attr = mlir::dyn_cast_if_present<cir::ConstVectorAttr>(adaptor.getVec2())); if (!vec1Attr || !vec2Attr) return {}; ``` https://github.com/llvm/llvm-project/pull/143260 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits