Skip to content
Snippets Groups Projects
Commit 62da3c4b authored by Chris Bieneman's avatar Chris Bieneman
Browse files

[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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@264021 91177308-0d34-0410-b5e6-96231b3b80d8
parent ca2d0f94
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment