r264063 - [Perf-training] Cleanup based on feedback from Sean Silvas

Chris Bieneman via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 22 09:27:35 PDT 2016


Author: cbieneman
Date: Tue Mar 22 11:27:35 2016
New Revision: 264063

URL: http://llvm.org/viewvc/llvm-project?rev=264063&view=rev
Log:
[Perf-training] Cleanup based on feedback from Sean Silvas

Sean provided feedback based on r257934 on cfe-commits. This change addresses that feedback.

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=264063&r1=264062&r2=264063&view=diff
==============================================================================
--- cfe/trunk/utils/perf-training/perf-helper.py (original)
+++ cfe/trunk/utils/perf-training/perf-helper.py Tue Mar 22 11:27:35 2016
@@ -99,9 +99,11 @@ def dtrace(args):
   if sys.platform == "darwin":
     dtrace_args.append('-xmangled')
 
-  f = open("%d.dtrace" % os.getpid(), "w")
   start_time = time.time()
-  subprocess.check_call(dtrace_args, stdout=f, stderr=subprocess.PIPE)
+
+  with open("%d.dtrace" % os.getpid(), "w") as f:
+    subprocess.check_call(dtrace_args, stdout=f, stderr=subprocess.PIPE)
+
   elapsed = time.time() - start_time
   print("... data collection took %.4fs" % elapsed)
 
@@ -111,7 +113,7 @@ def get_cc1_command_for_args(cmd, env):
   # Find the cc1 command used by the compiler. To do this we execute the
   # compiler with '-###' to figure out what it wants to do.
   cmd = cmd + ['-###']
-  cc_output = check_output(cmd, stderr=subprocess.STDOUT, env=env).strip()
+  cc_output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, env=env).strip()
   cc_commands = []
   for ln in cc_output.split('\n'):
       # Filter out known garbage.
@@ -246,13 +248,6 @@ def parse_dtrace_symbol_file(path, all_s
         for s in possible_symbols:
           yield (current_timestamp, s)
 
-def check_output(*popen_args, **popen_kwargs):
-    p = subprocess.Popen(stdout=subprocess.PIPE, *popen_args, **popen_kwargs)
-    stdout,stderr = p.communicate()
-    if p.wait() != 0:
-        raise RuntimeError("process failed")
-    return stdout
-
 def uniq(list):
   seen = set()
   for item in list:
@@ -346,7 +341,7 @@ def genOrderFile(args):
   # If the user gave us a binary, get all the symbols in the binary by
   # snarfing 'nm' output.
   if opts.binary_path is not None:
-     output = check_output(['nm', '-P', opts.binary_path])
+     output = subprocess.check_output(['nm', '-P', opts.binary_path])
      lines = output.split("\n")
      all_symbols = [ln.split(' ',1)[0]
                     for ln in lines




More information about the cfe-commits mailing list