Lines Matching defs:FilenamePat
70 const char *FilenamePat;
71 /* A flag indicating if FilenamePat's memory is allocated
744 if (lprofCurFilename.FilenamePat && lprofCurFilename.OwnsFilenamePat) {
752 free((void *)lprofCurFilename.FilenamePat);
760 lprofCurFilename.FilenamePat = DefaultProfileName;
764 static unsigned getMergePoolSize(const char *FilenamePat, int *I) {
767 char C = FilenamePat[*I + J];
776 /* If FilenamePat[*I+J] is between '0' and '9', the next byte is guaranteed
789 /* Parses the pattern string \p FilenamePat and stores the result to
791 static int parseFilenamePattern(const char *FilenamePat,
797 int FilenamePatLen = strlen(FilenamePat);
810 if (lprofCurFilename.FilenamePat && lprofCurFilename.OwnsFilenamePat) {
811 free((void *)lprofCurFilename.FilenamePat);
822 lprofCurFilename.FilenamePat = FilenamePat;
824 lprofCurFilename.FilenamePat = strdup(FilenamePat);
828 for (I = 0; checkBounds(I, FilenamePatLen) && FilenamePat[I]; ++I) {
829 if (FilenamePat[I] == '%') {
833 if (FilenamePat[I] == 'p') {
838 FilenamePat);
842 } else if (FilenamePat[I] == 'h') {
847 FilenamePat);
850 } else if (FilenamePat[I] == 't') {
855 FilenamePat);
858 } else if (FilenamePat[I] == 'c') {
861 FilenamePat);
874 unsigned MergePoolSize = getMergePoolSize(FilenamePat, &I);
879 FilenamePat);
893 static void parseAndSetFilename(const char *FilenamePat,
897 const char *OldFilenamePat = lprofCurFilename.FilenamePat;
904 if (!FilenamePat)
905 FilenamePat = DefaultProfileName;
907 if (OldFilenamePat && !strcmp(OldFilenamePat, FilenamePat)) {
913 if (!FilenamePat || parseFilenamePattern(FilenamePat, CopyFilenamePat))
920 lprofCurFilename.FilenamePat, getPNSStr(PNS));
924 OldFilenamePat, getPNSStr(OldPNS), lprofCurFilename.FilenamePat,
939 if (!lprofCurFilename.FilenamePat || !lprofCurFilename.FilenamePat[0])
944 return strlen(lprofCurFilename.FilenamePat);
946 Len = strlen(lprofCurFilename.FilenamePat) +
962 const char *FilenamePat = lprofCurFilename.FilenamePat;
964 if (!lprofCurFilename.FilenamePat || !lprofCurFilename.FilenamePat[0])
971 return lprofCurFilename.FilenamePat;
973 FilenamePatLength = strlen(lprofCurFilename.FilenamePat);
974 memcpy(FilenameBuf, lprofCurFilename.FilenamePat, FilenamePatLength);
983 for (I = 0, J = 0; FilenamePat[I]; ++I)
984 if (FilenamePat[I] == '%') {
985 if (FilenamePat[++I] == 'p') {
988 } else if (FilenamePat[I] == 'h') {
991 } else if (FilenamePat[I] == 't') {
996 if (!getMergePoolSize(FilenamePat, &I))
1010 FilenameBuf[J++] = FilenamePat[I];
1118 void __llvm_profile_set_filename(const char *FilenamePat) {
1121 parseAndSetFilename(FilenamePat, PNS_runtime_api, 1);