r264021 - [Perf-training] Fixing an issue with multi-threading PGO generation

Vedant Kumar via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 22 09:26:21 PDT 2016


I think setting `cc1_env["LLVM_PROFILE_FILE"] = os.devnull` would be simpler.

vedant

> On Mar 21, 2016, at 7:55 PM, Chris Bieneman via cfe-commits <cfe-commits at lists.llvm.org> wrote:
> 
> 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list