From e3fc4d0fdda3762fc0e88bb426274d8fc946e480 Mon Sep 17 00:00:00 2001 From: Xinliang David Li Date: Thu, 21 Jul 2016 03:38:07 +0000 Subject: [PATCH] [Profile] bug fix: profile dir not recursively created llvm-svn: 276234 --- compiler-rt/lib/profile/InstrProfilingFile.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler-rt/lib/profile/InstrProfilingFile.c b/compiler-rt/lib/profile/InstrProfilingFile.c index 76d81d0..1b49d6f 100644 --- a/compiler-rt/lib/profile/InstrProfilingFile.c +++ b/compiler-rt/lib/profile/InstrProfilingFile.c @@ -236,6 +236,11 @@ static void truncateCurrentFile(void) { __llvm_profile_recursive_mkdir(Copy); } + /* By pass file truncation to allow online raw profile + * merging. */ + if (lprofCurFilename.MergePoolSize) + return; + /* Truncate the file. Later we'll reopen and append. */ File = fopen(Filename, "w"); if (!File) @@ -350,8 +355,7 @@ static void parseAndSetFilename(const char *FilenamePat, getPNSStr(PNS)); } - if (!lprofCurFilename.MergePoolSize) - truncateCurrentFile(); + truncateCurrentFile(); } /* Return buffer length that is required to store the current profile -- 2.7.4