+++ /dev/null
-##===- tools/llvm-abcd/Makefile ----------------------------*- Makefile -*-===##
-#
-# The LLVM Compiler Infrastructure
-#
-# This file was developed by Reid Spencer and is distributed under the
-# University of Illinois Open Source License. See LICENSE.TXT for details.
-#
-##===----------------------------------------------------------------------===##
-LEVEL = ../..
-
-TOOLNAME = llvm-abcd
-USEDLIBS = bcreader vmcore support.a
-include $(LEVEL)/Makefile.common
+++ /dev/null
-//===-- llvm-abcd.cpp - Analysis of Byte Code Dumper ----------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This tool may be invoked in the following manner:
-// llvm-abcd [options] - Read LLVM bytecode from stdin
-// llvm-abcd [options] x.bc - Read LLVM bytecode from the x.bc file
-//
-// Options:
-// --help - Output information about command line switches
-// --nodetails - Don't print out detailed informaton about individual
-// blocks and functions
-// --dump - Dump low-level bytecode structure in readable format
-//
-// This tool provides analytical information about a bytecode file. It is
-// intended as an aid to developers of bytecode reading and writing software. It
-// produces on std::out a summary of the bytecode file that shows various
-// statistics about the contents of the file. By default this information is
-// detailed and contains information about individual bytecode blocks and the
-// functions in the module. To avoid this more detailed output, use the
-// -nodetails option to limit the output to just module level information.
-// The tool is also able to print a bytecode file in a straight forward text
-// format that shows the containment and relationships of the information in
-// the bytecode file (-dump option).
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Analysis/Verifier.h"
-#include "llvm/Bytecode/Analyzer.h"
-#include "Support/CommandLine.h"
-#include "llvm/System/Signals.h"
-#include <fstream>
-#include <iostream>
-
-using namespace llvm;
-
-static cl::opt<std::string>
- InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-"));
-
-static cl::opt<bool> NoDetails ("nodetails", cl::desc("Skip detailed output"));
-static cl::opt<bool> Dump ("dump", cl::desc("Dump low level bytecode trace"));
-static cl::opt<bool> Verify ("verify", cl::desc("Progressively verify module"));
-
-int
-main(int argc, char **argv)
-{
- cl::ParseCommandLineOptions(argc, argv,
- " llvm-abcd Analysis of ByteCode Dumper\n");
-
- PrintStackTraceOnErrorSignal();
-
- std::ostream* Out = &std::cout; // Default to printing to stdout...
- std::istream* In = &std::cin; // Default to reading stdin
- std::string ErrorMessage;
- BytecodeAnalysis bca;
-
- /// Determine what to generate
- bca.dumpBytecode = Dump;
- bca.detailedResults = !NoDetails;
- bca.progressiveVerify = Verify;
-
- /// Analyze the bytecode file
- Module* M = AnalyzeBytecodeFile(InputFilename, bca, &ErrorMessage);
-
- // All that abcd does is write the gathered statistics to the output
- PrintBytecodeAnalysis(bca,*Out);
-
- if ( M && Verify ) {
- std::string verificationMsg;
- try {
- verifyModule( *M, ThrowExceptionAction );
- } catch (std::string& errmsg ) {
- verificationMsg = errmsg;
- }
- if ( verificationMsg.length() > 0 )
- std::cerr << "Final Verification Message: " << verificationMsg << "\n";
- }
-
-
- // If there was an error, print it and stop.
- if ( ErrorMessage.size() ) {
- std::cerr << argv[0] << ": " << ErrorMessage << "\n";
- return 1;
- }
-
-
- if (Out != &std::cout) {
- ((std::ofstream*)Out)->close();
- delete Out;
- }
- return 0;
-}
-
-// vim: sw=2
--- /dev/null
+##===- tools/llvm-bcanalyzer/Makefile ----------------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file was developed by Reid Spencer and is distributed under the
+# University of Illinois Open Source License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+LEVEL = ../..
+
+TOOLNAME = llvm-bcanalyzer
+USEDLIBS = bcreader vmcore support.a
+include $(LEVEL)/Makefile.common
--- /dev/null
+//===-- llvm-bcanalyzer.cpp - Byte Code Analyzer --------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by Reid Spencer and is distributed under the
+// University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This tool may be invoked in the following manner:
+// llvm-bcanalyzer [options] - Read LLVM bytecode from stdin
+// llvm-bcanalyzer [options] x.bc - Read LLVM bytecode from the x.bc file
+//
+// Options:
+// --help - Output information about command line switches
+// --nodetails - Don't print out detailed informaton about individual
+// blocks and functions
+// --dump - Dump low-level bytecode structure in readable format
+//
+// This tool provides analytical information about a bytecode file. It is
+// intended as an aid to developers of bytecode reading and writing software. It
+// produces on std::out a summary of the bytecode file that shows various
+// statistics about the contents of the file. By default this information is
+// detailed and contains information about individual bytecode blocks and the
+// functions in the module. To avoid this more detailed output, use the
+// -nodetails option to limit the output to just module level information.
+// The tool is also able to print a bytecode file in a straight forward text
+// format that shows the containment and relationships of the information in
+// the bytecode file (-dump option).
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Analysis/Verifier.h"
+#include "llvm/Bytecode/Analyzer.h"
+#include "Support/CommandLine.h"
+#include "llvm/System/Signals.h"
+#include <fstream>
+#include <iostream>
+
+using namespace llvm;
+
+static cl::opt<std::string>
+ InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-"));
+
+static cl::opt<bool> NoDetails ("nodetails", cl::desc("Skip detailed output"));
+static cl::opt<bool> Dump ("dump", cl::desc("Dump low level bytecode trace"));
+static cl::opt<bool> Verify ("verify", cl::desc("Progressively verify module"));
+
+int
+main(int argc, char **argv)
+{
+ cl::ParseCommandLineOptions(argc, argv,
+ " llvm-bcanalyzer Analysis of ByteCode Dumper\n");
+
+ PrintStackTraceOnErrorSignal();
+
+ std::ostream* Out = &std::cout; // Default to printing to stdout...
+ std::istream* In = &std::cin; // Default to reading stdin
+ std::string ErrorMessage;
+ BytecodeAnalysis bca;
+
+ /// Determine what to generate
+ bca.dumpBytecode = Dump;
+ bca.detailedResults = !NoDetails;
+ bca.progressiveVerify = Verify;
+
+ /// Analyze the bytecode file
+ Module* M = AnalyzeBytecodeFile(InputFilename, bca, &ErrorMessage);
+
+ // All that bcanalyzer does is write the gathered statistics to the output
+ PrintBytecodeAnalysis(bca,*Out);
+
+ if ( M && Verify ) {
+ std::string verificationMsg;
+ try {
+ verifyModule( *M, ThrowExceptionAction );
+ } catch (std::string& errmsg ) {
+ verificationMsg = errmsg;
+ }
+ if ( verificationMsg.length() > 0 )
+ std::cerr << "Final Verification Message: " << verificationMsg << "\n";
+ }
+
+
+ // If there was an error, print it and stop.
+ if ( ErrorMessage.size() ) {
+ std::cerr << argv[0] << ": " << ErrorMessage << "\n";
+ return 1;
+ }
+
+
+ if (Out != &std::cout) {
+ ((std::ofstream*)Out)->close();
+ delete Out;
+ }
+ return 0;
+}
+
+// vim: sw=2