From 0faadf2e589b7bbeb740899429a659f576f29683 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 29 Oct 2003 21:51:00 +0000 Subject: [PATCH] Pass unrecognized options into llvmprof git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9596 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/profile.pl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/utils/profile.pl b/utils/profile.pl index c91ac1a8a55..d7c7ef3ddf3 100755 --- a/utils/profile.pl +++ b/utils/profile.pl @@ -10,9 +10,13 @@ # OPTIONS may include one or more of the following: # -block - Enable basic block level profiling # +# Any unrecognized options are passed into the invocation of llvm-prof +# my $ProfilePass = "-insert-function-profiling"; +my $LLVMProfOpts = ""; + # Parse arguments... while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { shift; @@ -21,7 +25,8 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { # List command line options here... if (/^-block$/) { $ProfilePass = "-insert-block-profiling"; next; } - print "Unknown option: $_ : ignoring!\n"; + # Otherwise, pass the option on to llvm-prof + $LLVMProfOpts .= " " . $_; } die "Must specify LLVM bytecode file as first argument!" if (@ARGV == 0); @@ -39,4 +44,4 @@ my $LibProfPath = $LLIPath . "/../../lib/Debug/libprofile_rt.so"; system "opt $ProfilePass < $BytecodeFile | lli -fake-argv0 '$BytecodeFile'" . " -load $LibProfPath - " . (join ' ', @ARGV); -system "llvm-prof $BytecodeFile"; +system "llvm-prof $LLVMProfOpts $BytecodeFile";