lib/IRGen/MetadataLayout.cpp
llvm::Value *irgen::emitArgumentMetadataRef(IRGenFunction &IGF,
                                            NominalTypeDecl *decl,
                                      const GenericTypeRequirements &reqts,
                                            unsigned reqtIndex,
                                            llvm::Value *metadata) {
  assert(reqts.getRequirements()[reqtIndex].Protocol == nullptr);
  return emitLoadOfGenericRequirement(IGF, metadata, decl, reqtIndex,
                                      IGF.IGM.TypeMetadataPtrTy);
}
/// Given a reference to nominal type metadata of the given type,
/// derive a reference to the nth argument metadata.  The type must
/// have generic arguments.
Given a reference to nominal type metadata of the given type,
derive a reference to the nth argument metadata.  The type must
have generic arguments.
Given a reference to nominal type metadata of the given type derive a reference to the nth argument metadata . The type must have generic arguments .
llvm::Value *irgen::emitArgumentMetadataRef(IRGenFunction &IGF,
                                            NominalTypeDecl *decl,
                                      const GenericTypeRequirements &reqts,
                                            unsigned reqtIndex,
                                            llvm::Value *metadata) {
  assert(reqts.getRequirements()[reqtIndex].Protocol == nullptr);
  return emitLoadOfGenericRequirement(IGF, metadata, decl, reqtIndex,
                                      IGF.IGM.TypeMetadataPtrTy);
}
llvm :: Value * irgen :: emitArgumentMetadataRef ( IRGenFunction & IGF , NominalTypeDecl * decl , const GenericTypeRequirements & reqts , unsigned reqtIndex , llvm :: Value * metadata ) { assert ( reqts . getRequirements ( ) [ reqtIndex ] . Protocol == nullptr ) ; return emitLoadOfGenericRequirement ( IGF , metadata , decl , reqtIndex , IGF . IGM . TypeMetadataPtrTy ) ; }
Given a reference to nominal type metadata of the given type,
derive a reference to the nth argument metadata.
Given a reference to nominal type metadata of the given type derive a reference to the nth argument metadata .