@@ -85,7 +85,7 @@ std::string_view SPVFuncInfo::Arg::getKindAsString() const {
8585}
8686
8787// / Client side kernel argument visitor.
88- void SPVFuncInfo::visitClientArgsImpl (const std::vector< void *> & ClientArgList,
88+ void SPVFuncInfo::visitClientArgsImpl (void ** ClientArgList,
8989 ClientArgVisitor Visitor) const {
9090
9191 unsigned ArgListIndex = 0 ;
@@ -113,12 +113,10 @@ void SPVFuncInfo::visitClientArgsImpl(const std::vector<void *> &ClientArgList,
113113 // Image argument replaced hipTextureObject_t argument.
114114 ArgKind = SPVTypeKind::Pointer;
115115
116- auto *ArgData =
117- ClientArgList.empty () ? nullptr : ClientArgList[ArgListIndex];
116+ auto *ArgData = !ClientArgList ? nullptr : ClientArgList[ArgListIndex];
118117
119118 // Clang generated argument list should not have nullptrs in it.
120- assert ((ClientArgList.empty () || ArgData) &&
121- " nullptr in the argument list" );
119+ assert ((!ClientArgList || ArgData) && " nullptr in the argument list" );
122120
123121 ClientArg CArg{
124122 {{ArgKind, ArgTI.StorageClass , ArgSize}, ArgListIndex, ArgData}};
@@ -128,19 +126,18 @@ void SPVFuncInfo::visitClientArgsImpl(const std::vector<void *> &ClientArgList,
128126}
129127
130128// / Visit client-visible kernel arguments
131- void SPVFuncInfo::visitClientArgs (const std::vector< void *> & ClientArgList,
129+ void SPVFuncInfo::visitClientArgs (void ** ClientArgList,
132130 ClientArgVisitor Visitor) const {
133- assert (ClientArgList.size () == getNumClientArgs ());
134131 visitClientArgsImpl (ClientArgList, Visitor);
135132}
136133
137134// / Visit client-visible kernel arguments without the argument value
138135// / (Arg::Data will be nullptr).
139136void SPVFuncInfo::visitClientArgs (ClientArgVisitor Visitor) const {
140- visitClientArgsImpl (std::vector< void *>() , Visitor);
137+ visitClientArgsImpl (nullptr , Visitor);
141138}
142139
143- void SPVFuncInfo::visitKernelArgsImpl (const std::vector< void *> & ClientArgList,
140+ void SPVFuncInfo::visitKernelArgsImpl (void ** ClientArgList,
144141 KernelArgVisitor Visitor) const {
145142 unsigned ArgIndex = 0 ;
146143 unsigned ArgListIndex = 0 ;
@@ -156,7 +153,7 @@ void SPVFuncInfo::visitKernelArgsImpl(const std::vector<void *> &ClientArgList,
156153 ArgListIndex--;
157154
158155 const void *ArgData = nullptr ;
159- if (! ClientArgList. empty () && !ArgTI.isWorkgroupPtr ()) {
156+ if (ClientArgList && !ArgTI.isWorkgroupPtr ()) {
160157 ArgData = ClientArgList[ArgListIndex];
161158
162159 // Clang geerated argument list should not have nullptrs in it.
@@ -172,15 +169,14 @@ void SPVFuncInfo::visitKernelArgsImpl(const std::vector<void *> &ClientArgList,
172169}
173170
174171// Visit kernel arguments
175- void SPVFuncInfo::visitKernelArgs (const std::vector< void *> & ClientArgList,
172+ void SPVFuncInfo::visitKernelArgs (void ** ClientArgList,
176173 KernelArgVisitor Visitor) const {
177- assert (ClientArgList.size () == getNumClientArgs ());
178174 visitKernelArgsImpl (ClientArgList, Visitor);
179175}
180176
181177// / Visit kernel arguments without argument list (Arg::Data will be nullptr)
182178void SPVFuncInfo::visitKernelArgs (KernelArgVisitor Visitor) const {
183- visitKernelArgsImpl (std::vector< void *>() , Visitor);
179+ visitKernelArgsImpl (nullptr , Visitor);
184180}
185181
186182// / Return HIP user visible kernel argument count.
0 commit comments