From 1fc65a65fe54635d0e564559ba5a7b8a8a42d4d6 Mon Sep 17 00:00:00 2001
From: dim <dim@FreeBSD.org>
Date: Mon, 11 Oct 2010 17:22:16 +0000
Subject: Remove more unneeded files and directories from contrib/llvm.  This
 still allows us to build tblgen and clang, and further reduces the footprint
 in the tree.

Approved by:	rpaulo (mentor)
---
 contrib/llvm/tools/llvm-extract/CMakeLists.txt   |   5 -
 contrib/llvm/tools/llvm-extract/Makefile         |  18 ---
 contrib/llvm/tools/llvm-extract/llvm-extract.cpp | 147 -----------------------
 3 files changed, 170 deletions(-)
 delete mode 100644 contrib/llvm/tools/llvm-extract/CMakeLists.txt
 delete mode 100644 contrib/llvm/tools/llvm-extract/Makefile
 delete mode 100644 contrib/llvm/tools/llvm-extract/llvm-extract.cpp

(limited to 'contrib/llvm/tools/llvm-extract')

diff --git a/contrib/llvm/tools/llvm-extract/CMakeLists.txt b/contrib/llvm/tools/llvm-extract/CMakeLists.txt
deleted file mode 100644
index a4e3266..0000000
--- a/contrib/llvm/tools/llvm-extract/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-set(LLVM_LINK_COMPONENTS asmparser ipo bitreader bitwriter)
-
-add_llvm_tool(llvm-extract
-  llvm-extract.cpp
-  )
diff --git a/contrib/llvm/tools/llvm-extract/Makefile b/contrib/llvm/tools/llvm-extract/Makefile
deleted file mode 100644
index 5672aa3..0000000
--- a/contrib/llvm/tools/llvm-extract/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-##===- tools/llvm-extract/Makefile -------------------------*- Makefile -*-===##
-# 
-#                     The LLVM Compiler Infrastructure
-#
-# This file is distributed under the University of Illinois Open Source
-# License. See LICENSE.TXT for details.
-# 
-##===----------------------------------------------------------------------===##
-
-LEVEL = ../..
-
-TOOLNAME = llvm-extract
-LINK_COMPONENTS := ipo bitreader bitwriter asmparser
-
-# This tool has no plugins, optimize startup time.
-TOOL_NO_EXPORTS = 1
-
-include $(LEVEL)/Makefile.common
diff --git a/contrib/llvm/tools/llvm-extract/llvm-extract.cpp b/contrib/llvm/tools/llvm-extract/llvm-extract.cpp
deleted file mode 100644
index 91a59e5..0000000
--- a/contrib/llvm/tools/llvm-extract/llvm-extract.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//===- llvm-extract.cpp - LLVM function extraction utility ----------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This utility changes the input module to only contain a single function,
-// which is primarily used for debugging transformations.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/LLVMContext.h"
-#include "llvm/Module.h"
-#include "llvm/PassManager.h"
-#include "llvm/Assembly/PrintModulePass.h"
-#include "llvm/Bitcode/ReaderWriter.h"
-#include "llvm/Transforms/IPO.h"
-#include "llvm/Target/TargetData.h"
-#include "llvm/Support/CommandLine.h"
-#include "llvm/Support/IRReader.h"
-#include "llvm/Support/ManagedStatic.h"
-#include "llvm/Support/PrettyStackTrace.h"
-#include "llvm/Support/raw_ostream.h"
-#include "llvm/Support/SystemUtils.h"
-#include "llvm/System/Signals.h"
-#include <memory>
-using namespace llvm;
-
-// InputFilename - The filename to read from.
-static cl::opt<std::string>
-InputFilename(cl::Positional, cl::desc("<input bitcode file>"),
-              cl::init("-"), cl::value_desc("filename"));
-
-static cl::opt<std::string>
-OutputFilename("o", cl::desc("Specify output filename"),
-               cl::value_desc("filename"), cl::init("-"));
-
-static cl::opt<bool>
-Force("f", cl::desc("Enable binary output on terminals"));
-
-static cl::opt<bool>
-DeleteFn("delete", cl::desc("Delete specified Globals from Module"));
-
-// ExtractFuncs - The functions to extract from the module... 
-static cl::list<std::string>
-ExtractFuncs("func", cl::desc("Specify function to extract"),
-             cl::ZeroOrMore, cl::value_desc("function"));
-
-// ExtractGlobals - The globals to extract from the module...
-static cl::list<std::string>
-ExtractGlobals("glob", cl::desc("Specify global to extract"),
-               cl::ZeroOrMore, cl::value_desc("global"));
-
-static cl::opt<bool>
-OutputAssembly("S",
-               cl::desc("Write output as LLVM assembly"), cl::Hidden);
-
-int main(int argc, char **argv) {
-  // Print a stack trace if we signal out.
-  sys::PrintStackTraceOnErrorSignal();
-  PrettyStackTraceProgram X(argc, argv);
-
-  LLVMContext &Context = getGlobalContext();
-  llvm_shutdown_obj Y;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, "llvm extractor\n");
-
-  // Use lazy loading, since we only care about selected global values.
-  SMDiagnostic Err;
-  std::auto_ptr<Module> M;
-  M.reset(getLazyIRFileModule(InputFilename, Err, Context));
-
-  if (M.get() == 0) {
-    Err.Print(argv[0], errs());
-    return 1;
-  }
-
-  std::vector<GlobalValue *> GVs;
-
-  // Figure out which globals we should extract.
-  for (size_t i = 0, e = ExtractGlobals.size(); i != e; ++i) {
-    GlobalValue *GV = M.get()->getNamedGlobal(ExtractGlobals[i]);
-    if (!GV) {
-      errs() << argv[0] << ": program doesn't contain global named '"
-             << ExtractGlobals[i] << "'!\n";
-      return 1;
-    }
-    GVs.push_back(GV);
-  }
-
-  // Figure out which functions we should extract.
-  for (size_t i = 0, e = ExtractFuncs.size(); i != e; ++i) {
-    GlobalValue *GV = M.get()->getFunction(ExtractFuncs[i]);
-    if (!GV) {
-      errs() << argv[0] << ": program doesn't contain function named '"
-             << ExtractFuncs[i] << "'!\n";
-      return 1;
-    }
-    GVs.push_back(GV);
-  }
-
-  // Materialize requisite global values.
-  for (size_t i = 0, e = GVs.size(); i != e; ++i) {
-    GlobalValue *GV = GVs[i];
-    if (GV->isMaterializable()) {
-      std::string ErrInfo;
-      if (GV->Materialize(&ErrInfo)) {
-        errs() << argv[0] << ": error reading input: " << ErrInfo << "\n";
-        return 1;
-      }
-    }
-  }
-
-  // In addition to deleting all other functions, we also want to spiff it
-  // up a little bit.  Do this now.
-  PassManager Passes;
-  Passes.add(new TargetData(M.get())); // Use correct TargetData
-
-  Passes.add(createGVExtractionPass(GVs, DeleteFn));
-  if (!DeleteFn)
-    Passes.add(createGlobalDCEPass());           // Delete unreachable globals
-  Passes.add(createStripDeadDebugInfoPass());    // Remove dead debug info
-  Passes.add(createDeadTypeEliminationPass());   // Remove dead types...
-  Passes.add(createStripDeadPrototypesPass());   // Remove dead func decls
-
-  std::string ErrorInfo;
-  tool_output_file Out(OutputFilename.c_str(), ErrorInfo,
-                       raw_fd_ostream::F_Binary);
-  if (!ErrorInfo.empty()) {
-    errs() << ErrorInfo << '\n';
-    return 1;
-  }
-
-  if (OutputAssembly)
-    Passes.add(createPrintModulePass(&Out.os()));
-  else if (Force || !CheckBitcodeOutputToConsole(Out.os(), true))
-    Passes.add(createBitcodeWriterPass(Out.os()));
-
-  Passes.run(*M.get());
-
-  // Declare success.
-  Out.keep();
-
-  return 0;
-}
-- 
cgit v1.1