diff options
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 38 | 
1 files changed, 19 insertions, 19 deletions
| diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index 3ca39a7c8e5..87d42f1552d 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -695,26 +695,26 @@ SDValue SITargetLowering::LowerFormalArguments(        ++PSInputNum;      } -    // Second split vertices into their elements -    if (AMDGPU::isShader(CallConv) && -        Arg.VT.isVector()) { -      ISD::InputArg NewArg = Arg; -      NewArg.Flags.setSplit(); -      NewArg.VT = Arg.VT.getVectorElementType(); - -      // We REALLY want the ORIGINAL number of vertex elements here, e.g. a -      // three or five element vertex only needs three or five registers, -      // NOT four or eight. -      Type *ParamType = FType->getParamType(Arg.getOrigArgIndex()); -      unsigned NumElements = ParamType->getVectorNumElements(); - -      for (unsigned j = 0; j != NumElements; ++j) { -        Splits.push_back(NewArg); -        NewArg.PartOffset += NewArg.VT.getStoreSize(); +    if (AMDGPU::isShader(CallConv)) { +      // Second split vertices into their elements +      if (Arg.VT.isVector()) { +        ISD::InputArg NewArg = Arg; +        NewArg.Flags.setSplit(); +        NewArg.VT = Arg.VT.getVectorElementType(); + +        // We REALLY want the ORIGINAL number of vertex elements here, e.g. a +        // three or five element vertex only needs three or five registers, +        // NOT four or eight. +        Type *ParamType = FType->getParamType(Arg.getOrigArgIndex()); +        unsigned NumElements = ParamType->getVectorNumElements(); + +        for (unsigned j = 0; j != NumElements; ++j) { +          Splits.push_back(NewArg); +          NewArg.PartOffset += NewArg.VT.getStoreSize(); +        } +      } else { +        Splits.push_back(Arg);        } - -    } else if (AMDGPU::isShader(CallConv)) { -      Splits.push_back(Arg);      }    } | 

