Lines Matching +full:function +full:- +full:mask
1 //==- AMDGPUArgumentrUsageInfo.h - Function Arg Usage Info -------*- C++ -*-==//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
18 class Function; variable
35 unsigned Mask; member
41 ArgDescriptor(unsigned Val = 0, unsigned Mask = ~0u, bool IsStack = false,
43 : Reg(Val), Mask(Mask), IsStack(IsStack), IsSet(IsSet) {} in Reg()
45 static ArgDescriptor createRegister(Register Reg, unsigned Mask = ~0u) {
46 return ArgDescriptor(Reg, Mask, false, true);
49 static ArgDescriptor createStack(unsigned Offset, unsigned Mask = ~0u) {
50 return ArgDescriptor(Offset, Mask, true, true);
53 static ArgDescriptor createArg(const ArgDescriptor &Arg, unsigned Mask) { in createArg()
54 return ArgDescriptor(Arg.Reg, Mask, Arg.IsStack, Arg.IsSet); in createArg()
80 return Mask; in getMask()
84 return Mask != ~0u; in isMasked()
101 // clang-format off
125 // clang-format on
130 // XXX - Can these require argument spills?
151 // Input registers for non-HSA ABI
155 // into v0, 10 bits per dimension if packed-tid is set.
171 DenseMap<const Function *, AMDGPUFunctionArgInfo> ArgInfoMap;
190 void setFuncArgInfo(const Function &F, const AMDGPUFunctionArgInfo &ArgInfo) { in setFuncArgInfo()
194 const AMDGPUFunctionArgInfo &lookupFuncArgInfo(const Function &F) const;