Author: cbieneman Date: Mon Mar 21 21:55:40 2016 New Revision: 264021 URL: http://llvm.org/viewvc/llvm-project?rev=264021&view=rev Log: [Perf-training] Fixing an issue with multi-threading PGO generation
When LIT parallelizes the profraw file generation we need to generate unique temp filenames then clean them up after the driver executes. Modified: cfe/trunk/utils/perf-training/perf-helper.py Modified: cfe/trunk/utils/perf-training/perf-helper.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/perf-training/perf-helper.py?rev=264021&r1=264020&r2=264021&view=diff ============================================================================== --- cfe/trunk/utils/perf-training/perf-helper.py (original) +++ cfe/trunk/utils/perf-training/perf-helper.py Mon Mar 21 21:55:40 2016 @@ -16,6 +16,7 @@ import argparse import time import bisect import shlex +import tempfile test_env = { 'PATH' : os.environ['PATH'] } @@ -149,10 +150,12 @@ def cc1(args): # clear the profile file env, so that we don't generate profdata # when capturing the cc1 command + handle, profraw_file = tempfile.mkstemp() + os.close(handle) cc1_env = test_env - cc1_env["LLVM_PROFILE_FILE"] = "driver.prfraw" + cc1_env["LLVM_PROFILE_FILE"] = profraw_file cc1_cmd = get_cc1_command_for_args(cmd, cc1_env) - os.remove("driver.prfraw") + os.remove(profraw_file) subprocess.check_call(cc1_cmd) return 0; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits