Pass unrecognized options into llvmprof

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9596 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-10-29 21:51:00 +00:00
parent 750ba3d6eb
commit 0faadf2e58

View File

@ -10,9 +10,13 @@
# OPTIONS may include one or more of the following: # OPTIONS may include one or more of the following:
# -block - Enable basic block level profiling # -block - Enable basic block level profiling
# #
# Any unrecognized options are passed into the invocation of llvm-prof
#
my $ProfilePass = "-insert-function-profiling"; my $ProfilePass = "-insert-function-profiling";
my $LLVMProfOpts = "";
# Parse arguments... # Parse arguments...
while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) { while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
shift; shift;
@ -21,7 +25,8 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
# List command line options here... # List command line options here...
if (/^-block$/) { $ProfilePass = "-insert-block-profiling"; next; } 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); 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'" . system "opt $ProfilePass < $BytecodeFile | lli -fake-argv0 '$BytecodeFile'" .
" -load $LibProfPath - " . (join ' ', @ARGV); " -load $LibProfPath - " . (join ' ', @ARGV);
system "llvm-prof $BytecodeFile"; system "llvm-prof $LLVMProfOpts $BytecodeFile";