Add option for block profiling, pass in the "correct" argv[0] to the program
authorChris Lattner <sabre@nondot.org>
Tue, 28 Oct 2003 22:52:05 +0000 (22:52 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 28 Oct 2003 22:52:05 +0000 (22:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9566 91177308-0d34-0410-b5e6-96231b3b80d8

utils/profile.pl

index 27bfd7190cdb71ecce8b689ba0bac87fb0b355c6..c91ac1a8a55f5e6e6383966481cb2d6324dfb000 100755 (executable)
@@ -8,10 +8,8 @@
 # Syntax:   profile.pl [OPTIONS] bytecodefile <arguments>
 #
 # OPTIONS may include one or more of the following:
-#     NONE SO FAR
+#     -block - Enable basic block level profiling
 #
-#
-
 
 my $ProfilePass = "-insert-function-profiling";
 
@@ -21,7 +19,7 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
   last if /^--$/;  # Stop processing arguments on --
 
   # List command line options here...
-  #if (/^-enable-foo$/)     { $FOO = 1; next; }
+  if (/^-block$/) { $ProfilePass = "-insert-block-profiling"; next; }
 
   print "Unknown option: $_ : ignoring!\n";
 }
@@ -38,7 +36,7 @@ chomp $LLIPath;
 
 my $LibProfPath = $LLIPath . "/../../lib/Debug/libprofile_rt.so";
 
-system "opt $ProfilePass < $BytecodeFile | lli -load $LibProfPath - " .
-         (join ' ', @ARGV);
+system "opt $ProfilePass < $BytecodeFile | lli -fake-argv0 '$BytecodeFile'" .
+       " -load $LibProfPath - " . (join ' ', @ARGV);
 
 system "llvm-prof $BytecodeFile";