[PATCH] D149814: [RISCV] Optimize i32 range checks
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 4 16:25:22 PDT 2023
craig.topper added a comment.
My suggested patch
+ bool shouldTransformSignedTruncationCheck(EVT XVT,
+ unsigned KeptBits) const override {
+ // For vectors, we don't have a preference..
+ if (XVT.isVector())
+ return false;
+
+ auto VTIsOk = [](EVT VT) -> bool {
+ return VT == MVT::i32 || VT == MVT::i64;
+ };
+
+ // We are ok with KeptBitsVT being byte/word/dword, what sext.w supports.
+ // XVT will be larger than KeptBitsVT.
+ // FIXME: Support Zbb?
+ MVT KeptBitsVT = MVT::getIntegerVT(KeptBits);
+ return VTIsOk(XVT) && VTIsOk(KeptBitsVT);
+ }
+
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149814/new/
https://reviews.llvm.org/D149814
More information about the llvm-commits
mailing list