path: root/tools/llvm-profdata
diff options
authorJustin Bogner <>2014-04-18 21:48:40 +0000
committerJustin Bogner <>2014-04-18 21:48:40 +0000
commite153fb33e49bd6d44189d3659287338c410bc0ce (patch)
tree28b8eb8580f22648394e4d4e629d97cd0d72e4c9 /tools/llvm-profdata
parent4c464def6ae721b09ebb7cf202e04339267f761a (diff)
ProfileData: Add support for the indexed instrprof format
This adds support for an indexed instrumentation based profiling format, which is just a small header and an on disk hash table. This format will be used by clang's -fprofile-instr-use= for PGO. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-profdata')
1 files changed, 4 insertions, 5 deletions
diff --git a/tools/llvm-profdata/llvm-profdata.cpp b/tools/llvm-profdata/llvm-profdata.cpp
index 397b5239692..0bd8e834f45 100644
--- a/tools/llvm-profdata/llvm-profdata.cpp
+++ b/tools/llvm-profdata/llvm-profdata.cpp
@@ -39,16 +39,15 @@ int merge_main(int argc, const char *argv[]) {
cl::opt<std::string> OutputFilename("output", cl::value_desc("output"),
cl::desc("Output file"));
- cl::alias OutputFilenameA("o", cl::desc("Alias for --output"),
- cl::aliasopt(OutputFilename));
+ cl::alias OutputFilenameA("o", cl::desc("Alias for --output"), cl::Required,
+ cl::aliasopt(OutputFilename));
cl::ParseCommandLineOptions(argc, argv, "LLVM profile data merger\n");
- if (OutputFilename.empty())
- OutputFilename = "-";
+ if ("-") == 0)
+ exitWithError("Cannot write indexed profdata format to stdout.");
std::string ErrorInfo;
- // FIXME: F_Text would be available if line_iterator could accept CRLF.
raw_fd_ostream Output(, ErrorInfo, sys::fs::F_None);
if (!ErrorInfo.empty())
exitWithError(ErrorInfo, OutputFilename);