diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-11-11 13:20:40 +0000 | 
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-11-11 13:20:40 +0000 | 
| commit | f554228d82d2fb7082ae34011599ddf70319dbb0 (patch) | |
| tree | f43baac8a79fa267334af83168395aa7e20ec5fc /llvm/lib/MC | |
| parent | 48b5bbffed5c48e4fba10be2f543db708ba2ea6f (diff) | |
| download | bcm5719-llvm-f554228d82d2fb7082ae34011599ddf70319dbb0.tar.gz bcm5719-llvm-f554228d82d2fb7082ae34011599ddf70319dbb0.zip  | |
Clients are responsible for initializing the targets, remove it from the disassembler API.
This will break users of the LLVMCreateDisasm API (not that I know of any). They have to call the 
LLVMInitializeAll* functions from llvm-c/Target.h themselves now. edis' C API in all its horribleness 
should be unaffected.
llvm-svn: 144385
Diffstat (limited to 'llvm/lib/MC')
| -rw-r--r-- | llvm/lib/MC/MCDisassembler/Disassembler.cpp | 7 | ||||
| -rw-r--r-- | llvm/lib/MC/MCDisassembler/EDDisassembler.cpp | 16 | ||||
| -rw-r--r-- | llvm/lib/MC/MCDisassembler/EDDisassembler.h | 5 | ||||
| -rw-r--r-- | llvm/lib/MC/MCDisassembler/LLVMBuild.txt | 5 | 
4 files changed, 1 insertions, 32 deletions
diff --git a/llvm/lib/MC/MCDisassembler/Disassembler.cpp b/llvm/lib/MC/MCDisassembler/Disassembler.cpp index 16e66dc98e7..f156760875c 100644 --- a/llvm/lib/MC/MCDisassembler/Disassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/Disassembler.cpp @@ -18,7 +18,6 @@  #include "llvm/MC/MCRegisterInfo.h"  #include "llvm/Support/MemoryObject.h"  #include "llvm/Support/TargetRegistry.h" -#include "llvm/Support/TargetSelect.h"  namespace llvm {  class Target; @@ -35,12 +34,6 @@ using namespace llvm;  LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,                                        int TagType, LLVMOpInfoCallback GetOpInfo,                                        LLVMSymbolLookupCallback SymbolLookUp) { -  // Initialize targets and assembly printers/parsers. -  llvm::InitializeAllTargetInfos(); -  llvm::InitializeAllTargetMCs(); -  llvm::InitializeAllAsmParsers(); -  llvm::InitializeAllDisassemblers(); -    // Get the target.    std::string Error;    const Target *TheTarget = TargetRegistry::lookupTarget(TripleName, Error); diff --git a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp index 5633cb11e79..3540334344f 100644 --- a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp @@ -34,10 +34,8 @@  #include "llvm/Support/MemoryObject.h"  #include "llvm/Support/SourceMgr.h"  #include "llvm/Support/TargetRegistry.h" -#include "llvm/Support/TargetSelect.h"  using namespace llvm; -bool EDDisassembler::sInitialized = false;  EDDisassembler::DisassemblerMap_t EDDisassembler::sDisassemblers;  struct TripleMap { @@ -98,20 +96,6 @@ static int getLLVMSyntaxVariant(Triple::ArchType arch,    }  } -void EDDisassembler::initialize() { -  if (sInitialized) -    return; -   -  sInitialized = true; -   -  InitializeAllTargetInfos(); -  InitializeAllTargetMCs(); -  InitializeAllAsmParsers(); -  InitializeAllDisassemblers(); -} - -#undef BRINGUP_TARGET -  EDDisassembler *EDDisassembler::getDisassembler(Triple::ArchType arch,                                                  AssemblySyntax syntax) {    CPUKey key; diff --git a/llvm/lib/MC/MCDisassembler/EDDisassembler.h b/llvm/lib/MC/MCDisassembler/EDDisassembler.h index 38c22038c51..97c2d1fd99b 100644 --- a/llvm/lib/MC/MCDisassembler/EDDisassembler.h +++ b/llvm/lib/MC/MCDisassembler/EDDisassembler.h @@ -94,8 +94,6 @@ struct EDDisassembler {    typedef std::map<CPUKey, EDDisassembler*> DisassemblerMap_t; -  /// True if the disassembler registry has been initialized; false if not -  static bool sInitialized;    /// A map from disassembler specifications to disassemblers.  Populated    ///   lazily.    static DisassemblerMap_t sDisassemblers; @@ -116,9 +114,6 @@ struct EDDisassembler {    static EDDisassembler *getDisassembler(llvm::StringRef str,                                           AssemblySyntax syntax); -  /// initialize - Initializes the disassembler registry and the LLVM backend -  static void initialize(); -      ////////////////////////    // Per-object members //    //////////////////////// diff --git a/llvm/lib/MC/MCDisassembler/LLVMBuild.txt b/llvm/lib/MC/MCDisassembler/LLVMBuild.txt index 7b8c7ffc28c..d73c6adcbb4 100644 --- a/llvm/lib/MC/MCDisassembler/LLVMBuild.txt +++ b/llvm/lib/MC/MCDisassembler/LLVMBuild.txt @@ -19,7 +19,4 @@  type = Library  name = MCDisassembler  parent = MC -; FIXME: This is really horrible, MCDisassembler should not in and of its own -; accord depending on every target. -required_libraries = all-targets MC MCParser Support - +required_libraries = MC MCParser Support  | 

