diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-08-21 20:52:03 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-08-21 20:52:03 +0000 |
commit | 6639333f202b57eea7fe59120257a1eca500c267 (patch) | |
tree | e21f1c4a3b66055197614ef84e720be8ca03fc41 /llvm/lib/Bytecode/Reader/ReaderWrappers.cpp | |
parent | 8631bc3aaaeb415b961b3738657db332454fcf03 (diff) | |
download | bcm5719-llvm-6639333f202b57eea7fe59120257a1eca500c267.tar.gz bcm5719-llvm-6639333f202b57eea7fe59120257a1eca500c267.zip |
Two Changes:
- Pass the output stream to the analyzer so it can write its output there
directly instead of buffering it.
- Don't pass a boolean to ParseBytecode because its not needed any more.
llvm-svn: 15983
Diffstat (limited to 'llvm/lib/Bytecode/Reader/ReaderWrappers.cpp')
-rw-r--r-- | llvm/lib/Bytecode/Reader/ReaderWrappers.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/llvm/lib/Bytecode/Reader/ReaderWrappers.cpp b/llvm/lib/Bytecode/Reader/ReaderWrappers.cpp index a6983d057c3..7a37d3966e1 100644 --- a/llvm/lib/Bytecode/Reader/ReaderWrappers.cpp +++ b/llvm/lib/Bytecode/Reader/ReaderWrappers.cpp @@ -58,7 +58,7 @@ BytecodeFileReader::BytecodeFileReader(const std::string &Filename, try { // Parse the bytecode we mmapped in - ParseBytecode(Buffer, Length, Filename, H != 0); + ParseBytecode(Buffer, Length, Filename); } catch (...) { UnmapFileFromAddressSpace(Buffer, Length); throw; @@ -114,7 +114,7 @@ BytecodeBufferReader::BytecodeBufferReader(const unsigned char *Buf, MustDelete = false; } try { - ParseBytecode(ParseBegin, Length, ModuleID, H != 0); + ParseBytecode(ParseBegin, Length, ModuleID); } catch (...) { if (MustDelete) delete [] Buffer; throw; @@ -163,7 +163,7 @@ BytecodeStdinReader::BytecodeStdinReader( BytecodeHandler* H ) throw std::string("Standard Input empty!"); FileBuf = &FileData[0]; - ParseBytecode(FileBuf, FileData.size(), "<stdin>", H != 0 ); + ParseBytecode(FileBuf, FileData.size(), "<stdin>"); } //===----------------------------------------------------------------------===// @@ -292,12 +292,15 @@ Module *llvm::ParseBytecodeFile(const std::string &Filename, } // AnalyzeBytecodeFile - analyze one file -Module* llvm::AnalyzeBytecodeFile(const std::string &Filename, - BytecodeAnalysis& bca, - std::string *ErrorStr) +Module* llvm::AnalyzeBytecodeFile( + const std::string &Filename, ///< File to analyze + BytecodeAnalysis& bca, ///< Statistical output + std::string *ErrorStr, ///< Error output + std::ostream* output ///< Dump output +) { try { - BytecodeHandler* analyzerHandler = createBytecodeAnalyzerHandler(bca); + BytecodeHandler* analyzerHandler = createBytecodeAnalyzerHandler(bca,output); std::auto_ptr<ModuleProvider> AMP( getBytecodeModuleProvider(Filename,analyzerHandler)); return AMP->releaseModule(); @@ -309,15 +312,16 @@ Module* llvm::AnalyzeBytecodeFile(const std::string &Filename, // AnalyzeBytecodeBuffer - analyze a buffer Module* llvm::AnalyzeBytecodeBuffer( - const unsigned char* Buffer, ///< Pointer to start of bytecode buffer - unsigned Length, ///< Size of the bytecode buffer - const std::string& ModuleID, ///< Identifier for the module - BytecodeAnalysis& bca, ///< The results of the analysis - std::string* ErrorStr ///< Errors, if any. - ) + const unsigned char* Buffer, ///< Pointer to start of bytecode buffer + unsigned Length, ///< Size of the bytecode buffer + const std::string& ModuleID, ///< Identifier for the module + BytecodeAnalysis& bca, ///< The results of the analysis + std::string* ErrorStr, ///< Errors, if any. + std::ostream* output ///< Dump output, if any +) { try { - BytecodeHandler* hdlr = createBytecodeAnalyzerHandler(bca); + BytecodeHandler* hdlr = createBytecodeAnalyzerHandler(bca, output); std::auto_ptr<ModuleProvider> AMP(getBytecodeBufferModuleProvider(Buffer, Length, ModuleID, hdlr)); return AMP->releaseModule(); |