[llvm] [RISCV][GISEL] Add support for scalable vector types in lowerReturnVal (PR #71587)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 7 23:34:30 PST 2023


================
@@ -301,6 +301,27 @@ struct RISCVCallReturnHandler : public RISCVIncomingValueHandler {
 RISCVCallLowering::RISCVCallLowering(const RISCVTargetLowering &TLI)
     : CallLowering(&TLI) {}
 
+/// Return true if scalable vector with ScalarTy is legal for lowering.
+static bool isLegalElementTypeForRVV(Type *EltTy,
----------------
topperc wrote:

The other types aren't listed as legal in SelectionDAG so getRegisterTypeForCallingConv() returns the scalar type or something and I think bad things happened from there. SelectionDAG doesn't fail gracefully either.

https://github.com/llvm/llvm-project/pull/71587


More information about the llvm-commits mailing list