This is an archive of the discontinued LLVM Phabricator instance.

[mlir][ArmSVE] Remove unnecessary ops
AbandonedPublic

Authored by jsetoain on May 18 2022, 12:16 AM.

Details

Summary

Masked arithmetic operations don't need to be explicitly generated from
MLIR, the LLVM back-end will select masked arithmetic instructions when
needed. We can leave only the complex SVE instrinsics that are easy to
generate in MLIR but hard to select in LLVM.

Diff Detail

Event Timeline

jsetoain created this revision.May 18 2022, 12:16 AM
Herald added a reviewer: ftynse. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
jsetoain requested review of this revision.May 18 2022, 12:16 AM

I am not very convinced by the motivation of LLVM backend selecting the appropriate instructions. On other platforms, we have repeatedly seen the selection being fragile and sensitive to factors beyond our control, so I would rather have the possibility to target these directly even if it is not being used by some compilations pipelnes.

I am not very convinced by the motivation of LLVM backend selecting the appropriate instructions. On other platforms, we have repeatedly seen the selection being fragile and sensitive to factors beyond our control, so I would rather have the possibility to target these directly even if it is not being used by some compilations pipelnes.

Fair enough. I was trying to make the dialect as lean, and easy to maintain, as possible but I guess as long as there are issues in the back-end, there's no rush to get rid of these. I'm going to close the patch, and we can revisit in the future. Thanks, Alex.

Matt added a subscriber: Matt.May 25 2022, 2:08 PM
jsetoain abandoned this revision.May 25 2022, 3:47 PM