| OLD | NEW |
| 1 //===-- llvm-bcanalyzer.cpp - Bitcode Analyzer --------------------------===// | 1 //===-- llvm-bcanalyzer.cpp - Bitcode Analyzer --------------------------===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This tool may be invoked in the following manner: | 10 // This tool may be invoked in the following manner: |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 // Read the input file. | 469 // Read the input file. |
| 470 OwningPtr<MemoryBuffer> MemBuf; | 470 OwningPtr<MemoryBuffer> MemBuf; |
| 471 | 471 |
| 472 if (error_code ec = | 472 if (error_code ec = |
| 473 MemoryBuffer::getFileOrSTDIN(InputFilename.c_str(), MemBuf)) | 473 MemoryBuffer::getFileOrSTDIN(InputFilename.c_str(), MemBuf)) |
| 474 return Error("Error reading '" + InputFilename + "': " + ec.message()); | 474 return Error("Error reading '" + InputFilename + "': " + ec.message()); |
| 475 | 475 |
| 476 if (MemBuf->getBufferSize() & 3) | 476 if (MemBuf->getBufferSize() & 3) |
| 477 return Error("Bitcode stream should be a multiple of 4 bytes in length"); | 477 return Error("Bitcode stream should be a multiple of 4 bytes in length"); |
| 478 | 478 |
| 479 unsigned char *BufPtr = (unsigned char *)MemBuf->getBufferStart(); | 479 const unsigned char *BufPtr = (unsigned char *)MemBuf->getBufferStart(); |
| 480 unsigned char *EndBufPtr = BufPtr+MemBuf->getBufferSize(); | 480 const unsigned char *EndBufPtr = BufPtr+MemBuf->getBufferSize(); |
| 481 | 481 |
| 482 // If we have a wrapper header, parse it and ignore the non-bc file contents. | 482 // If we have a wrapper header, parse it and ignore the non-bc file contents. |
| 483 // The magic number is 0x0B17C0DE stored in little endian. | 483 // The magic number is 0x0B17C0DE stored in little endian. |
| 484 if (isBitcodeWrapper(BufPtr, EndBufPtr)) | 484 if (isBitcodeWrapper(BufPtr, EndBufPtr)) |
| 485 if (SkipBitcodeWrapperHeader(BufPtr, EndBufPtr)) | 485 if (SkipBitcodeWrapperHeader(BufPtr, EndBufPtr, true)) |
| 486 return Error("Invalid bitcode wrapper header"); | 486 return Error("Invalid bitcode wrapper header"); |
| 487 | 487 |
| 488 BitstreamReader StreamFile(BufPtr, EndBufPtr); | 488 BitstreamReader StreamFile(BufPtr, EndBufPtr); |
| 489 BitstreamCursor Stream(StreamFile); | 489 BitstreamCursor Stream(StreamFile); |
| 490 StreamFile.CollectBlockInfoNames(); | 490 StreamFile.CollectBlockInfoNames(); |
| 491 | 491 |
| 492 // Read the stream signature. | 492 // Read the stream signature. |
| 493 char Signature[6]; | 493 char Signature[6]; |
| 494 Signature[0] = Stream.Read(8); | 494 Signature[0] = Stream.Read(8); |
| 495 Signature[1] = Stream.Read(8); | 495 Signature[1] = Stream.Read(8); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 | 611 |
| 612 int main(int argc, char **argv) { | 612 int main(int argc, char **argv) { |
| 613 // Print a stack trace if we signal out. | 613 // Print a stack trace if we signal out. |
| 614 sys::PrintStackTraceOnErrorSignal(); | 614 sys::PrintStackTraceOnErrorSignal(); |
| 615 PrettyStackTraceProgram X(argc, argv); | 615 PrettyStackTraceProgram X(argc, argv); |
| 616 llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. | 616 llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. |
| 617 cl::ParseCommandLineOptions(argc, argv, "llvm-bcanalyzer file analyzer\n"); | 617 cl::ParseCommandLineOptions(argc, argv, "llvm-bcanalyzer file analyzer\n"); |
| 618 | 618 |
| 619 return AnalyzeBitcode(); | 619 return AnalyzeBitcode(); |
| 620 } | 620 } |
| OLD | NEW |