@@ -263,22 +263,25 @@ class VectorGatherOpConversion
263263 LogicalResult
264264 matchAndRewrite (vector::GatherOp gather, OpAdaptor adaptor,
265265 ConversionPatternRewriter &rewriter) const override {
266+ Location loc = gather->getLoc ();
266267 MemRefType memRefType = dyn_cast<MemRefType>(gather.getBaseType ());
267268 assert (memRefType && " The base should be bufferized" );
268269
269270 if (failed (isMemRefTypeSupported (memRefType, *this ->getTypeConverter ())))
270- return failure ( );
271+ return rewriter. notifyMatchFailure (gather, " memref type not supported " );
271272
272273 VectorType vType = gather.getVectorType ();
273- if (vType.getRank () > 1 )
274- return failure ();
275-
276- Location loc = gather-> getLoc ();
274+ if (vType.getRank () > 1 ) {
275+ return rewriter. notifyMatchFailure (
276+ gather, " only 1-D vectors can be lowered to LLVM " );
277+ }
277278
278279 // Resolve alignment.
279280 unsigned align;
280- if (failed (getMemRefAlignment (*getTypeConverter (), memRefType, align)))
281- return failure ();
281+ if (failed (getMemRefAlignment (*getTypeConverter (), memRefType, align))) {
282+ return rewriter.notifyMatchFailure (gather,
283+ " could not resolve memref alignment" );
284+ }
282285
283286 // Resolve address.
284287 Value ptr = getStridedElementPtr (loc, memRefType, adaptor.getBase (),
@@ -309,16 +312,20 @@ class VectorScatterOpConversion
309312 MemRefType memRefType = scatter.getMemRefType ();
310313
311314 if (failed (isMemRefTypeSupported (memRefType, *this ->getTypeConverter ())))
312- return failure ( );
315+ return rewriter. notifyMatchFailure (scatter, " memref type not supported " );
313316
314317 VectorType vType = scatter.getVectorType ();
315- if (vType.getRank () > 1 )
316- return failure ();
318+ if (vType.getRank () > 1 ) {
319+ return rewriter.notifyMatchFailure (
320+ scatter, " only 1-D vectors can be lowered to LLVM" );
321+ }
317322
318323 // Resolve alignment.
319324 unsigned align;
320- if (failed (getMemRefAlignment (*getTypeConverter (), memRefType, align)))
321- return failure ();
325+ if (failed (getMemRefAlignment (*getTypeConverter (), memRefType, align))) {
326+ return rewriter.notifyMatchFailure (scatter,
327+ " could not resolve memref alignment" );
328+ }
322329
323330 // Resolve address.
324331 Value ptr = getStridedElementPtr (loc, memRefType, adaptor.getBase (),
0 commit comments