@@ -234,12 +234,12 @@ MDNode *MetadataBuilder::BuildRootConstants(const RootConstants &Constants) {
234
234
235
235
MDNode *MetadataBuilder::BuildRootDescriptor (const RootDescriptor &Descriptor) {
236
236
IRBuilder<> Builder (Ctx);
237
- llvm::SmallString< 7 > Name;
238
- llvm::raw_svector_ostream OS (Name);
239
- OS << " Root " << ClauseType ( llvm::to_underlying (Descriptor. Type ));
240
-
237
+ StringRef TypeName =
238
+ getEnumName ( dxil::ResourceClass ( llvm::to_underlying (Descriptor. Type )),
239
+ ArrayRef (ResourceClassNames ));
240
+ llvm::SmallString< 7 > Name ({ " Root " , TypeName});
241
241
Metadata *Operands[] = {
242
- MDString::get (Ctx, OS. str () ),
242
+ MDString::get (Ctx, Name ),
243
243
ConstantAsMetadata::get (
244
244
Builder.getInt32 (llvm::to_underlying (Descriptor.Visibility ))),
245
245
ConstantAsMetadata::get (Builder.getInt32 (Descriptor.Reg .Number )),
@@ -275,12 +275,12 @@ MDNode *MetadataBuilder::BuildDescriptorTable(const DescriptorTable &Table) {
275
275
MDNode *MetadataBuilder::BuildDescriptorTableClause (
276
276
const DescriptorTableClause &Clause) {
277
277
IRBuilder<> Builder (Ctx);
278
- std::string Name;
279
- llvm::raw_string_ostream OS (Name);
280
- OS << Clause. Type ;
278
+ StringRef Name =
279
+ getEnumName ( dxil::ResourceClass ( llvm::to_underlying (Clause. Type )),
280
+ ArrayRef (ResourceClassNames)) ;
281
281
return MDNode::get (
282
282
Ctx, {
283
- MDString::get (Ctx, OS. str () ),
283
+ MDString::get (Ctx, Name ),
284
284
ConstantAsMetadata::get (Builder.getInt32 (Clause.NumDescriptors )),
285
285
ConstantAsMetadata::get (Builder.getInt32 (Clause.Reg .Number )),
286
286
ConstantAsMetadata::get (Builder.getInt32 (Clause.Space )),
0 commit comments