[llvm] [NVPTX] Disable v2f32 registers when no operations supported, or via cl::opt (PR #154476)
Princeton Ferro via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 20 11:19:58 PDT 2025
================
@@ -277,97 +282,46 @@ getVectorLoweringShape(EVT VectorEVT, bool CanLowerTo256Bit) {
}
/// ComputePTXValueVTs - For the given Type \p Ty, returns the set of primitive
-/// EVTs that compose it. Unlike ComputeValueVTs, this will break apart vectors
-/// into their primitive components.
+/// legal-ish MVTs that compose it. Unlike ComputeValueVTs, this will legalize
+/// the types as required by the calling convention (with special handling for
+/// i8s).
/// NOTE: This is a band-aid for code that expects ComputeValueVTs to return the
/// same number of types as the Ins/Outs arrays in LowerFormalArguments,
/// LowerCall, and LowerReturn.
static void ComputePTXValueVTs(const TargetLowering &TLI, const DataLayout &DL,
+ LLVMContext &Ctx, CallingConv::ID CallConv,
Type *Ty, SmallVectorImpl<EVT> &ValueVTs,
- SmallVectorImpl<uint64_t> *Offsets = nullptr,
+ SmallVectorImpl<uint64_t> *Offsets,
uint64_t StartingOffset = 0) {
+ assert(Offsets && "Offsets must be non-null");
----------------
Prince781 wrote:
Since `Offsets` is always non-null, can we have this be a reference instead of a pointer?
https://github.com/llvm/llvm-project/pull/154476
More information about the llvm-commits
mailing list