FYI, this broke CMake, but I'm working on a patch to update it... will commit ASAP. If someone else was already on it and beats me to it, all the better. =D<br><br><div class="gmail_quote">On Thu, Jul 14, 2011 at 4:50 PM, Evan Cheng <span dir="ltr"><<a href="mailto:evan.cheng@apple.com">evan.cheng@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Author: evancheng<br>
Date: Thu Jul 14 18:50:31 2011<br>
New Revision: 135219<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=135219&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=135219&view=rev</a><br>
Log:<br>
Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes.<br>
<br>
Added:<br>
    llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h<br>
    llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h<br>
    llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h<br>
    llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h<br>
    llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h<br>
    llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h<br>
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h<br>
    llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h<br>
    llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/X86/X86MCAsmInfo.h<br>
    llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.cpp<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCAsmInfo.h<br>
      - copied unchanged from r135183, llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h<br>
Removed:<br>
    llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h<br>
    llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h<br>
    llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h<br>
    llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h<br>
    llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h<br>
    llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h<br>
    llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h<br>
    llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h<br>
    llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h<br>
    llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/X86/X86MCAsmInfo.h<br>
    llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp<br>
    llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h<br>
Modified:<br>
    llvm/trunk/autoconf/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
    llvm/trunk/cmake/config-ix.cmake<br>
    llvm/trunk/configure<br>
    llvm/trunk/include/llvm-c/Target.h<br>
    llvm/trunk/include/llvm/Config/config.h.cmake<br>
    llvm/trunk/include/llvm/Config/<a href="http://config.h.in" target="_blank">config.h.in</a><br>
    llvm/trunk/include/llvm/Config/llvm-config.h.cmake<br>
    llvm/trunk/include/llvm/Config/<a href="http://llvm-config.h.in" target="_blank">llvm-config.h.in</a><br>
    llvm/trunk/include/llvm/Target/TargetRegistry.h<br>
    llvm/trunk/include/llvm/Target/TargetSelect.h<br>
    llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp<br>
    llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp<br>
    llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp<br>
    llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp<br>
    llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp<br>
    llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp<br>
    llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/CBackend/CBackend.cpp<br>
    llvm/trunk/lib/Target/CellSPU/CMakeLists.txt<br>
    llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp<br>
    llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp<br>
    llvm/trunk/lib/Target/MBlaze/CMakeLists.txt<br>
    llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp<br>
    llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/MSP430/CMakeLists.txt<br>
    llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp<br>
    llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp<br>
    llvm/trunk/lib/Target/Mips/CMakeLists.txt<br>
    llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp<br>
    llvm/trunk/lib/Target/PTX/CMakeLists.txt<br>
    llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp<br>
    llvm/trunk/lib/Target/PowerPC/CMakeLists.txt<br>
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp<br>
    llvm/trunk/lib/Target/Sparc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt<br>
    llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp<br>
    llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp<br>
    llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/X86/X86MCInstLower.cpp<br>
    llvm/trunk/lib/Target/X86/X86TargetMachine.cpp<br>
    llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp<br>
    llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp<br>
    llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp<br>
    llvm/trunk/tools/llc/llc.cpp<br>
    llvm/trunk/tools/llvm-mc/Disassembler.cpp<br>
    llvm/trunk/tools/llvm-mc/llvm-mc.cpp<br>
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp<br>
    llvm/trunk/tools/lto/LTOCodeGenerator.cpp<br>
    llvm/trunk/tools/lto/LTOModule.cpp<br>
<br>
Modified: llvm/trunk/autoconf/<a href="http://configure.ac" target="_blank">configure.ac</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/autoconf/<a href="http://configure.ac" target="_blank">configure.ac</a> (original)<br>
+++ llvm/trunk/autoconf/<a href="http://configure.ac" target="_blank">configure.ac</a> Thu Jul 14 18:50:31 2011<br>
@@ -658,6 +658,7 @@<br>
       [LLVM architecture name for the native architecture, if available])<br>
     LLVM_NATIVE_TARGET="LLVMInitialize${LLVM_NATIVE_ARCH}Target"<br>
     LLVM_NATIVE_TARGETINFO="LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo"<br>
+    LLVM_NATIVE_MCASMINFO="LLVMInitialize${LLVM_NATIVE_ARCH}MCAsmInfo"<br>
     LLVM_NATIVE_ASMPRINTER="LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter"<br>
     if test -f ${srcdir}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/Makefile ; then<br>
       LLVM_NATIVE_ASMPARSER="LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser"<br>
@@ -666,6 +667,8 @@<br>
       [LLVM name for the native Target init function, if available])<br>
     AC_DEFINE_UNQUOTED(LLVM_NATIVE_TARGETINFO, $LLVM_NATIVE_TARGETINFO,<br>
       [LLVM name for the native TargetInfo init function, if available])<br>
+    AC_DEFINE_UNQUOTED(LLVM_NATIVE_MCASMINFO, $LLVM_NATIVE_MCASMINFO,<br>
+      [LLVM name for the native MCAsmInfo init function, if available])<br>
     AC_DEFINE_UNQUOTED(LLVM_NATIVE_ASMPRINTER, $LLVM_NATIVE_ASMPRINTER,<br>
       [LLVM name for the native AsmPrinter init function, if available])<br>
     if test -f ${srcdir}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/Makefile ; then<br>
<br>
Modified: llvm/trunk/cmake/config-ix.cmake<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/config-ix.cmake?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/config-ix.cmake?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/cmake/config-ix.cmake (original)<br>
+++ llvm/trunk/cmake/config-ix.cmake Thu Jul 14 18:50:31 2011<br>
@@ -336,6 +336,7 @@<br>
   message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")<br>
   set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)<br>
   set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)<br>
+  set(LLVM_NATIVE_MCASMINFO LLVMInitialize${LLVM_NATIVE_ARCH}MCAsmInfo)<br>
   set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)<br>
 endif ()<br>
<br>
<br>
Modified: llvm/trunk/configure<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/configure?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/configure?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/configure (original)<br>
+++ llvm/trunk/configure Thu Jul 14 18:50:31 2011<br>
@@ -5120,6 +5120,7 @@<br>
<br>
     LLVM_NATIVE_TARGET="LLVMInitialize${LLVM_NATIVE_ARCH}Target"<br>
     LLVM_NATIVE_TARGETINFO="LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo"<br>
+    LLVM_NATIVE_MCASMINFO="LLVMInitialize${LLVM_NATIVE_ARCH}MCAsmInfo"<br>
     LLVM_NATIVE_ASMPRINTER="LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter"<br>
     if test -f ${srcdir}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/Makefile ; then<br>
       LLVM_NATIVE_ASMPARSER="LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser"<br>
@@ -5136,6 +5137,11 @@<br>
<br>
<br>
 cat >>confdefs.h <<_ACEOF<br>
+#define LLVM_NATIVE_MCASMINFO $LLVM_NATIVE_MCASMINFO<br>
+_ACEOF<br>
+<br>
+<br>
+cat >>confdefs.h <<_ACEOF<br>
 #define LLVM_NATIVE_ASMPRINTER $LLVM_NATIVE_ASMPRINTER<br>
 _ACEOF<br>
<br>
<br>
Modified: llvm/trunk/include/llvm-c/Target.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Target.h?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Target.h?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm-c/Target.h (original)<br>
+++ llvm/trunk/include/llvm-c/Target.h Thu Jul 14 18:50:31 2011<br>
@@ -41,6 +41,11 @@<br>
 #include "llvm/Config/Targets.def"<br>
 #undef LLVM_TARGET  /* Explicit undef to make SWIG happier */<br>
<br>
+#define LLVM_TARGET(TargetName) \<br>
+  void LLVMInitialize##TargetName##MCAsmInfo(void);<br>
+#include "llvm/Config/Targets.def"<br>
+#undef LLVM_TARGET  /* Explicit undef to make SWIG happier */<br>
+<br>
 /** LLVMInitializeAllTargetInfos - The main program should call this function if<br>
     it wants access to all available targets that LLVM is configured to<br>
     support. */<br>
@@ -67,6 +72,7 @@<br>
 #ifdef LLVM_NATIVE_TARGET<br>
   LLVM_NATIVE_TARGETINFO();<br>
   LLVM_NATIVE_TARGET();<br>
+  LLVM_NATIVE_MCASMINFO();<br>
   return 0;<br>
 #else<br>
   return 1;<br>
<br>
Modified: llvm/trunk/include/llvm/Config/config.h.cmake<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.cmake?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.cmake?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Config/config.h.cmake (original)<br>
+++ llvm/trunk/include/llvm/Config/config.h.cmake Thu Jul 14 18:50:31 2011<br>
@@ -557,6 +557,9 @@<br>
 /* LLVM name for the native TargetInfo init function, if available */<br>
 #cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo<br>
<br>
+/* LLVM name for the native MCAsmInfo init function, if available */<br>
+#cmakedefine LLVM_NATIVE_MCASMINFO LLVMInitialize${LLVM_NATIVE_ARCH}MCAsmInfo<br>
+<br>
 /* Define if this is Unixish platform */<br>
 #cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/Config/<a href="http://config.h.in" target="_blank">config.h.in</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.in?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.in?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Config/<a href="http://config.h.in" target="_blank">config.h.in</a> (original)<br>
+++ llvm/trunk/include/llvm/Config/<a href="http://config.h.in" target="_blank">config.h.in</a> Thu Jul 14 18:50:31 2011<br>
@@ -573,6 +573,9 @@<br>
 /* LLVM name for the native AsmPrinter init function, if available */<br>
 #undef LLVM_NATIVE_ASMPRINTER<br>
<br>
+/* LLVM name for the native MCAsmInfo init function, if available */<br>
+#undef LLVM_NATIVE_MCASMINFO<br>
+<br>
 /* LLVM name for the native Target init function, if available */<br>
 #undef LLVM_NATIVE_TARGET<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/Config/llvm-config.h.cmake<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/llvm-config.h.cmake?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/llvm-config.h.cmake?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Config/llvm-config.h.cmake (original)<br>
+++ llvm/trunk/include/llvm/Config/llvm-config.h.cmake Thu Jul 14 18:50:31 2011<br>
@@ -58,6 +58,9 @@<br>
 /* LLVM name for the native TargetInfo init function, if available */<br>
 #cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo<br>
<br>
+/* LLVM name for the native MCAsmInfo init function, if available */<br>
+#cmakedefine LLVM_NATIVE_MCASMINFO LLVMInitialize${LLVM_NATIVE_ARCH}MCAsmInfo<br>
+<br>
 /* LLVM name for the native AsmPrinter init function, if available */<br>
 #cmakedefine LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/Config/<a href="http://llvm-config.h.in" target="_blank">llvm-config.h.in</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/llvm-config.h.in?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/llvm-config.h.in?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Config/<a href="http://llvm-config.h.in" target="_blank">llvm-config.h.in</a> (original)<br>
+++ llvm/trunk/include/llvm/Config/<a href="http://llvm-config.h.in" target="_blank">llvm-config.h.in</a> Thu Jul 14 18:50:31 2011<br>
@@ -58,6 +58,9 @@<br>
 /* LLVM name for the native TargetInfo init function, if available */<br>
 #undef LLVM_NATIVE_TARGETINFO<br>
<br>
+/* LLVM name for the native MCAsmInfo init function, if available */<br>
+#undef LLVM_NATIVE_MCASMINFO<br>
+<br>
 /* LLVM name for the native AsmPrinter init function, if available */<br>
 #undef LLVM_NATIVE_ASMPRINTER<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/Target/TargetRegistry.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegistry.h?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegistry.h?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Target/TargetRegistry.h (original)<br>
+++ llvm/trunk/include/llvm/Target/TargetRegistry.h Thu Jul 14 18:50:31 2011<br>
@@ -66,8 +66,8 @@<br>
<br>
     typedef unsigned (*TripleMatchQualityFnTy)(const std::string &TT);<br>
<br>
-    typedef MCAsmInfo *(*AsmInfoCtorFnTy)(const Target &T,<br>
-                                          StringRef TT);<br>
+    typedef MCAsmInfo *(*MCAsmInfoCtorFnTy)(const Target &T,<br>
+                                            StringRef TT);<br>
     typedef MCInstrInfo *(*MCInstrInfoCtorFnTy)(void);<br>
     typedef MCRegisterInfo *(*MCRegInfoCtorFnTy)(void);<br>
     typedef MCSubtargetInfo *(*MCSubtargetInfoCtorFnTy)(StringRef TT,<br>
@@ -128,9 +128,9 @@<br>
     /// HasJIT - Whether this target supports the JIT.<br>
     bool HasJIT;<br>
<br>
-    /// AsmInfoCtorFn - Constructor function for this target's MCAsmInfo, if<br>
+    /// MCAsmInfoCtorFn - Constructor function for this target's MCAsmInfo, if<br>
     /// registered.<br>
-    AsmInfoCtorFnTy AsmInfoCtorFn;<br>
+    MCAsmInfoCtorFnTy MCAsmInfoCtorFn;<br>
<br>
     /// MCInstrInfoCtorFn - Constructor function for this target's MCInstrInfo,<br>
     /// if registered.<br>
@@ -240,17 +240,17 @@<br>
     /// @name Feature Constructors<br>
     /// @{<br>
<br>
-    /// createAsmInfo - Create a MCAsmInfo implementation for the specified<br>
+    /// createMCAsmInfo - Create a MCAsmInfo implementation for the specified<br>
     /// target triple.<br>
     ///<br>
     /// \arg Triple - This argument is used to determine the target machine<br>
     /// feature set; it should always be provided. Generally this should be<br>
     /// either the target triple from the module, or the target triple of the<br>
     /// host if that does not exist.<br>
-    MCAsmInfo *createAsmInfo(StringRef Triple) const {<br>
-      if (!AsmInfoCtorFn)<br>
+    MCAsmInfo *createMCAsmInfo(StringRef Triple) const {<br>
+      if (!MCAsmInfoCtorFn)<br>
         return 0;<br>
-      return AsmInfoCtorFn(*this, Triple);<br>
+      return MCAsmInfoCtorFn(*this, Triple);<br>
     }<br>
<br>
     /// createMCInstrInfo - Create a MCInstrInfo implementation.<br>
@@ -485,7 +485,7 @@<br>
                                Target::TripleMatchQualityFnTy TQualityFn,<br>
                                bool HasJIT = false);<br>
<br>
-    /// RegisterAsmInfo - Register a MCAsmInfo implementation for the<br>
+    /// RegisterMCAsmInfo - Register a MCAsmInfo implementation for the<br>
     /// given target.<br>
     ///<br>
     /// Clients are responsible for ensuring that registration doesn't occur<br>
@@ -494,10 +494,10 @@<br>
     ///<br>
     /// @param T - The target being registered.<br>
     /// @param Fn - A function to construct a MCAsmInfo for the target.<br>
-    static void RegisterAsmInfo(Target &T, Target::AsmInfoCtorFnTy Fn) {<br>
+    static void RegisterMCAsmInfo(Target &T, Target::MCAsmInfoCtorFnTy Fn) {<br>
       // Ignore duplicate registration.<br>
-      if (!T.AsmInfoCtorFn)<br>
-        T.AsmInfoCtorFn = Fn;<br>
+      if (!T.MCAsmInfoCtorFn)<br>
+        T.MCAsmInfoCtorFn = Fn;<br>
     }<br>
<br>
     /// RegisterMCInstrInfo - Register a MCInstrInfo implementation for the<br>
@@ -722,18 +722,18 @@<br>
     }<br>
   };<br>
<br>
-  /// RegisterAsmInfo - Helper template for registering a target assembly info<br>
+  /// RegisterMCAsmInfo - Helper template for registering a target assembly info<br>
   /// implementation.  This invokes the static "Create" method on the class to<br>
   /// actually do the construction.  Usage:<br>
   ///<br>
   /// extern "C" void LLVMInitializeFooTarget() {<br>
   ///   extern Target TheFooTarget;<br>
-  ///   RegisterAsmInfo<FooMCAsmInfo> X(TheFooTarget);<br>
+  ///   RegisterMCAsmInfo<FooMCAsmInfo> X(TheFooTarget);<br>
   /// }<br>
   template<class MCAsmInfoImpl><br>
-  struct RegisterAsmInfo {<br>
-    RegisterAsmInfo(Target &T) {<br>
-      TargetRegistry::RegisterAsmInfo(T, &Allocator);<br>
+  struct RegisterMCAsmInfo {<br>
+    RegisterMCAsmInfo(Target &T) {<br>
+      TargetRegistry::RegisterMCAsmInfo(T, &Allocator);<br>
     }<br>
   private:<br>
     static MCAsmInfo *Allocator(const Target &T, StringRef TT) {<br>
@@ -742,17 +742,17 @@<br>
<br>
   };<br>
<br>
-  /// RegisterAsmInfoFn - Helper template for registering a target assembly info<br>
+  /// RegisterMCAsmInfoFn - Helper template for registering a target assembly info<br>
   /// implementation.  This invokes the specified function to do the<br>
   /// construction.  Usage:<br>
   ///<br>
   /// extern "C" void LLVMInitializeFooTarget() {<br>
   ///   extern Target TheFooTarget;<br>
-  ///   RegisterAsmInfoFn X(TheFooTarget, TheFunction);<br>
+  ///   RegisterMCAsmInfoFn X(TheFooTarget, TheFunction);<br>
   /// }<br>
-  struct RegisterAsmInfoFn {<br>
-    RegisterAsmInfoFn(Target &T, Target::AsmInfoCtorFnTy Fn) {<br>
-      TargetRegistry::RegisterAsmInfo(T, Fn);<br>
+  struct RegisterMCAsmInfoFn {<br>
+    RegisterMCAsmInfoFn(Target &T, Target::MCAsmInfoCtorFnTy Fn) {<br>
+      TargetRegistry::RegisterMCAsmInfo(T, Fn);<br>
     }<br>
   };<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/Target/TargetSelect.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetSelect.h?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetSelect.h?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/include/llvm/Target/TargetSelect.h (original)<br>
+++ llvm/trunk/include/llvm/Target/TargetSelect.h Thu Jul 14 18:50:31 2011<br>
@@ -27,6 +27,10 @@<br>
 #include "llvm/Config/Targets.def"<br>
<br>
 #define LLVM_TARGET(TargetName) \<br>
+  void LLVMInitialize##TargetName##MCAsmInfo();<br>
+#include "llvm/Config/Targets.def"<br>
+<br>
+#define LLVM_TARGET(TargetName) \<br>
   void LLVMInitialize##TargetName##MCInstrInfo();<br>
 #include "llvm/Config/Targets.def"<br>
<br>
@@ -72,6 +76,17 @@<br>
 #include "llvm/Config/Targets.def"<br>
   }<br>
<br>
+  /// InitializeAllMCAsmInfos - The main program should call this function<br>
+  /// if it wants access to all available assembly infos for targets that<br>
+  /// LLVM is configured to support, to make them available via the<br>
+  /// TargetRegistry.<br>
+  ///<br>
+  /// It is legal for a client to make multiple calls to this function.<br>
+  inline void InitializeAllMCAsmInfos() {<br>
+#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##MCAsmInfo();<br>
+#include "llvm/Config/Targets.def"<br>
+  }<br>
+<br>
   /// InitializeAllMCInstrInfos - The main program should call this function<br>
   /// if it wants access to all available instruction infos for targets that<br>
   /// LLVM is configured to support, to make them available via the<br>
@@ -133,6 +148,7 @@<br>
 #ifdef LLVM_NATIVE_TARGET<br>
     LLVM_NATIVE_TARGETINFO();<br>
     LLVM_NATIVE_TARGET();<br>
+    LLVM_NATIVE_MCASMINFO();<br>
     return false;<br>
 #else<br>
     return true;<br>
<br>
Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -105,7 +105,7 @@<br>
 LLVMTargetMachine::LLVMTargetMachine(const Target &T, StringRef Triple,<br>
                                      StringRef CPU, StringRef FS)<br>
   : TargetMachine(T, Triple, CPU, FS) {<br>
-  AsmInfo = T.createAsmInfo(Triple);<br>
+  AsmInfo = T.createMCAsmInfo(Triple);<br>
 }<br>
<br>
 // Set the default code model for the JIT for a generic target.<br>
<br>
Modified: llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCDisassembler/Disassembler.cpp Thu Jul 14 18:50:31 2011<br>
@@ -40,6 +40,7 @@<br>
   llvm::InitializeAllTargetInfos();<br>
   // FIXME: We shouldn't need to initialize the Target(Machine)s.<br>
   llvm::InitializeAllTargets();<br>
+  llvm::InitializeAllMCAsmInfos();<br>
   llvm::InitializeAllAsmPrinters();<br>
   llvm::InitializeAllAsmParsers();<br>
   llvm::InitializeAllDisassemblers();<br>
@@ -50,7 +51,7 @@<br>
   assert(TheTarget && "Unable to create target!");<br>
<br>
   // Get the assembler info needed to setup the MCContext.<br>
-  const MCAsmInfo *MAI = TheTarget->createAsmInfo(TripleName);<br>
+  const MCAsmInfo *MAI = TheTarget->createMCAsmInfo(TripleName);<br>
   assert(MAI && "Unable to create target asm info!");<br>
<br>
   // Package up features to be passed to target/subtarget<br>
<br>
Modified: llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCDisassembler/EDDisassembler.cpp Thu Jul 14 18:50:31 2011<br>
@@ -107,6 +107,7 @@<br>
<br>
   InitializeAllTargetInfos();<br>
   InitializeAllTargets();<br>
+  InitializeAllMCAsmInfos();<br>
   InitializeAllAsmPrinters();<br>
   InitializeAllAsmParsers();<br>
   InitializeAllDisassemblers();<br>
@@ -180,7 +181,7 @@<br>
<br>
   initMaps(*registerInfo);<br>
<br>
-  AsmInfo.reset(Tgt->createAsmInfo(tripleString));<br>
+  AsmInfo.reset(Tgt->createMCAsmInfo(tripleString));<br>
<br>
   if (!AsmInfo)<br>
     return;<br>
<br>
Removed: llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.cpp (removed)<br>
@@ -1,78 +0,0 @@<br>
-//===-- ARMMCAsmInfo.cpp - ARM asm properties -------------------*- C++ -*-===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the ARMMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "ARMMCAsmInfo.h"<br>
-#include "llvm/Support/CommandLine.h"<br>
-<br>
-using namespace llvm;<br>
-<br>
-cl::opt<bool><br>
-EnableARMEHABI("arm-enable-ehabi", cl::Hidden,<br>
-  cl::desc("Generate ARM EHABI tables"),<br>
-  cl::init(false));<br>
-<br>
-<br>
-static const char *const arm_asm_table[] = {<br>
-  "{r0}", "r0",<br>
-  "{r1}", "r1",<br>
-  "{r2}", "r2",<br>
-  "{r3}", "r3",<br>
-  "{r4}", "r4",<br>
-  "{r5}", "r5",<br>
-  "{r6}", "r6",<br>
-  "{r7}", "r7",<br>
-  "{r8}", "r8",<br>
-  "{r9}", "r9",<br>
-  "{r10}", "r10",<br>
-  "{r11}", "r11",<br>
-  "{r12}", "r12",<br>
-  "{r13}", "r13",<br>
-  "{r14}", "r14",<br>
-  "{lr}", "lr",<br>
-  "{sp}", "sp",<br>
-  "{ip}", "ip",<br>
-  "{fp}", "fp",<br>
-  "{sl}", "sl",<br>
-  "{memory}", "memory",<br>
-  "{cc}", "cc",<br>
-  0,0<br>
-};<br>
-<br>
-ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {<br>
-  AsmTransCBE = arm_asm_table;<br>
-  Data64bitsDirective = 0;<br>
-  CommentString = "@";<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  // Exceptions handling<br>
-  ExceptionsType = ExceptionHandling::SjLj;<br>
-}<br>
-<br>
-ARMELFMCAsmInfo::ARMELFMCAsmInfo() {<br>
-  // ".comm align is in bytes but .align is pow-2."<br>
-  AlignmentIsInBytes = false;<br>
-<br>
-  Data64bitsDirective = 0;<br>
-  CommentString = "@";<br>
-<br>
-  HasLEB128 = true;<br>
-  PrivateGlobalPrefix = ".L";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-  HasLCOMMDirective = true;<br>
-<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  // Exceptions handling<br>
-  if (EnableARMEHABI)<br>
-    ExceptionsType = ExceptionHandling::ARM;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMMCAsmInfo.h (removed)<br>
@@ -1,31 +0,0 @@<br>
-//=====-- ARMMCAsmInfo.h - ARM asm properties -------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the ARMMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef LLVM_ARMTARGETASMINFO_H<br>
-#define LLVM_ARMTARGETASMINFO_H<br>
-<br>
-#include "llvm/MC/MCAsmInfoDarwin.h"<br>
-<br>
-namespace llvm {<br>
-<br>
-  struct ARMMCAsmInfoDarwin : public MCAsmInfoDarwin {<br>
-    explicit ARMMCAsmInfoDarwin();<br>
-  };<br>
-<br>
-  struct ARMELFMCAsmInfo : public MCAsmInfo {<br>
-    explicit ARMELFMCAsmInfo();<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -11,7 +11,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "ARMTargetMachine.h"<br>
-#include "ARMMCAsmInfo.h"<br>
 #include "ARMFrameLowering.h"<br>
 #include "ARM.h"<br>
 #include "llvm/PassManager.h"<br>
@@ -22,15 +21,6 @@<br>
 #include "llvm/Target/TargetRegistry.h"<br>
 using namespace llvm;<br>
<br>
-static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
-  Triple TheTriple(TT);<br>
-<br>
-  if (TheTriple.isOSDarwin())<br>
-    return new ARMMCAsmInfoDarwin();<br>
-<br>
-  return new ARMELFMCAsmInfo();<br>
-}<br>
-<br>
 // This is duplicated code. Refactor this.<br>
 static MCStreamer *createMCStreamer(const Target &T, const std::string &TT,<br>
                                     MCContext &Ctx, TargetAsmBackend &TAB,<br>
@@ -56,10 +46,6 @@<br>
   RegisterTargetMachine<ARMTargetMachine> X(TheARMTarget);<br>
   RegisterTargetMachine<ThumbTargetMachine> Y(TheThumbTarget);<br>
<br>
-  // Register the target asm info.<br>
-  RegisterAsmInfoFn A(TheARMTarget, createMCAsmInfo);<br>
-  RegisterAsmInfoFn B(TheThumbTarget, createMCAsmInfo);<br>
-<br>
   // Register the MC Code Emitter<br>
   TargetRegistry::RegisterCodeEmitter(TheARMTarget, createARMMCCodeEmitter);<br>
   TargetRegistry::RegisterCodeEmitter(TheThumbTarget, createARMMCCodeEmitter);<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "ARMMCTargetDesc.h"<br>
+#include "ARMMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -97,32 +98,47 @@<br>
   return X;<br>
 }<br>
<br>
-MCInstrInfo *createARMMCInstrInfo() {<br>
-  MCInstrInfo *X = new MCInstrInfo();<br>
-  InitARMMCInstrInfo(X);<br>
-  return X;<br>
+// Force static initialization.<br>
+extern "C" void LLVMInitializeARMMCSubtargetInfo() {<br>
+  TargetRegistry::RegisterMCSubtargetInfo(TheARMTarget,<br>
+                                          ARM_MC::createARMMCSubtargetInfo);<br>
+  TargetRegistry::RegisterMCSubtargetInfo(TheThumbTarget,<br>
+                                          ARM_MC::createARMMCSubtargetInfo);<br>
 }<br>
<br>
-MCRegisterInfo *createARMMCRegisterInfo() {<br>
-  MCRegisterInfo *X = new MCRegisterInfo();<br>
-  InitARMMCRegisterInfo(X);<br>
+static MCInstrInfo *createARMMCInstrInfo() {<br>
+  MCInstrInfo *X = new MCInstrInfo();<br>
+  InitARMMCInstrInfo(X);<br>
   return X;<br>
 }<br>
<br>
-// Force static initialization.<br>
 extern "C" void LLVMInitializeARMMCInstrInfo() {<br>
   TargetRegistry::RegisterMCInstrInfo(TheARMTarget, createARMMCInstrInfo);<br>
   TargetRegistry::RegisterMCInstrInfo(TheThumbTarget, createARMMCInstrInfo);<br>
 }<br>
<br>
+static MCRegisterInfo *createARMMCRegisterInfo() {<br>
+  MCRegisterInfo *X = new MCRegisterInfo();<br>
+  InitARMMCRegisterInfo(X);<br>
+  return X;<br>
+}<br>
+<br>
 extern "C" void LLVMInitializeARMMCRegInfo() {<br>
   TargetRegistry::RegisterMCRegInfo(TheARMTarget, createARMMCRegisterInfo);<br>
   TargetRegistry::RegisterMCRegInfo(TheThumbTarget, createARMMCRegisterInfo);<br>
 }<br>
<br>
-extern "C" void LLVMInitializeARMMCSubtargetInfo() {<br>
-  TargetRegistry::RegisterMCSubtargetInfo(TheARMTarget,<br>
-                                          ARM_MC::createARMMCSubtargetInfo);<br>
-  TargetRegistry::RegisterMCSubtargetInfo(TheThumbTarget,<br>
-                                          ARM_MC::createARMMCSubtargetInfo);<br>
+static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
+  Triple TheTriple(TT);<br>
+<br>
+  if (TheTriple.isOSDarwin())<br>
+    return new ARMMCAsmInfoDarwin();<br>
+<br>
+  return new ARMELFMCAsmInfo();<br>
+}<br>
+<br>
+extern "C" void LLVMInitializeARMMCAsmInfo() {<br>
+  // Register the target asm info.<br>
+  RegisterMCAsmInfoFn A(TheARMTarget, createMCAsmInfo);<br>
+  RegisterMCAsmInfoFn B(TheThumbTarget, createMCAsmInfo);<br>
 }<br>
<br>
Removed: llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.cpp (removed)<br>
@@ -1,23 +0,0 @@<br>
-//===-- AlphaMCAsmInfo.cpp - Alpha asm properties ---------------*- C++ -*-===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the AlphaMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "AlphaMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, StringRef TT) {<br>
-  AlignmentIsInBytes = false;<br>
-  PrivateGlobalPrefix = "$";<br>
-  GPRel32Directive = ".gprel32";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-  HasSetDirective = false;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/Alpha/AlphaMCAsmInfo.h (removed)<br>
@@ -1,29 +0,0 @@<br>
-//=====-- AlphaMCAsmInfo.h - Alpha asm properties -------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the AlphaMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef ALPHATARGETASMINFO_H<br>
-#define ALPHATARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  struct AlphaMCAsmInfo : public MCAsmInfo {<br>
-    explicit AlphaMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/Alpha/AlphaTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -11,7 +11,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "Alpha.h"<br>
-#include "AlphaMCAsmInfo.h"<br>
 #include "AlphaTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/Support/FormattedStream.h"<br>
@@ -21,7 +20,6 @@<br>
 extern "C" void LLVMInitializeAlphaTarget() {<br>
   // Register the target.<br>
   RegisterTargetMachine<AlphaTargetMachine> X(TheAlphaTarget);<br>
-  RegisterAsmInfo<AlphaMCAsmInfo> Y(TheAlphaTarget);<br>
 }<br>
<br>
 AlphaTargetMachine::AlphaTargetMachine(const Target &T, const std::string &TT,<br>
<br>
Modified: llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/Alpha/MCTargetDesc/AlphaMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "AlphaMCTargetDesc.h"<br>
+#include "AlphaMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -29,7 +30,7 @@<br>
 using namespace llvm;<br>
<br>
<br>
-MCInstrInfo *createAlphaMCInstrInfo() {<br>
+static MCInstrInfo *createAlphaMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitAlphaMCInstrInfo(X);<br>
   return X;<br>
@@ -39,9 +40,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(TheAlphaTarget, createAlphaMCInstrInfo);<br>
 }<br>
<br>
-<br>
-MCSubtargetInfo *createAlphaMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                            StringRef FS) {<br>
+static MCSubtargetInfo *createAlphaMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                   StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitAlphaMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -51,3 +51,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheAlphaTarget,<br>
                                           createAlphaMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeAlphaMCAsmInfo() {<br>
+  RegisterMCAsmInfo<AlphaMCAsmInfo> X(TheAlphaTarget);<br>
+}<br>
<br>
Modified: llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Alpha/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMAlphaDesc AlphaMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMAlphaDesc<br>
+  AlphaMCTargetDesc.cpp<br>
+  AlphaMCAsmInfo.cpp<br>
+  )<br>
<br>
Removed: llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp (removed)<br>
@@ -1,22 +0,0 @@<br>
-//===-- BlackfinMCAsmInfo.cpp - Blackfin asm properties -------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the BlackfinMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "BlackfinMCAsmInfo.h"<br>
-<br>
-using namespace llvm;<br>
-<br>
-BlackfinMCAsmInfo::BlackfinMCAsmInfo(const Target &T, StringRef TT) {<br>
-  GlobalPrefix = "_";<br>
-  CommentString = "//";<br>
-  HasSetDirective = false;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/Blackfin/BlackfinMCAsmInfo.h (removed)<br>
@@ -1,29 +0,0 @@<br>
-//===-- BlackfinMCAsmInfo.h - Blackfin asm properties ---------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the BlackfinMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef BLACKFINTARGETASMINFO_H<br>
-#define BLACKFINTARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  struct BlackfinMCAsmInfo : public MCAsmInfo {<br>
-    explicit BlackfinMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/Blackfin/BlackfinTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
<br>
 #include "BlackfinTargetMachine.h"<br>
 #include "Blackfin.h"<br>
-#include "BlackfinMCAsmInfo.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/Target/TargetRegistry.h"<br>
<br>
@@ -20,8 +19,6 @@<br>
<br>
 extern "C" void LLVMInitializeBlackfinTarget() {<br>
   RegisterTargetMachine<BlackfinTargetMachine> X(TheBlackfinTarget);<br>
-  RegisterAsmInfo<BlackfinMCAsmInfo> Y(TheBlackfinTarget);<br>
-<br>
 }<br>
<br>
 BlackfinTargetMachine::BlackfinTargetMachine(const Target &T,<br>
<br>
Modified: llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/Blackfin/MCTargetDesc/BlackfinMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "BlackfinMCTargetDesc.h"<br>
+#include "BlackfinMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -29,7 +30,7 @@<br>
 using namespace llvm;<br>
<br>
<br>
-MCInstrInfo *createBlackfinMCInstrInfo() {<br>
+static MCInstrInfo *createBlackfinMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitBlackfinMCInstrInfo(X);<br>
   return X;<br>
@@ -41,8 +42,9 @@<br>
 }<br>
<br>
<br>
-MCSubtargetInfo *createBlackfinMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                               StringRef FS) {<br>
+static MCSubtargetInfo *createBlackfinMCSubtargetInfo(StringRef TT,<br>
+                                                      StringRef CPU,<br>
+                                                      StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitBlackfinMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -52,3 +54,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheBlackfinTarget,<br>
                                           createBlackfinMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeBlackfinMCAsmInfo() {<br>
+  RegisterMCAsmInfo<BlackfinMCAsmInfo> X(TheBlackfinTarget);<br>
+}<br>
<br>
Modified: llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Blackfin/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMBlackfinDesc BlackfinMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMBlackfinDesc<br>
+  BlackfinMCTargetDesc.cpp<br>
+  BlackfinMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/CBackend/CBackend.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CBackend/CBackend.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CBackend/CBackend.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CBackend/CBackend.cpp (original)<br>
+++ llvm/trunk/lib/Target/CBackend/CBackend.cpp Thu Jul 14 18:50:31 2011<br>
@@ -62,13 +62,11 @@<br>
   RegisterTargetMachine<CTargetMachine> X(TheCBackendTarget);<br>
 }<br>
<br>
-extern "C" void LLVMInitializeCBackendMCInstrInfo() {<br>
-  RegisterMCInstrInfo<MCInstrInfo> X(TheCBackendTarget);<br>
-}<br>
+extern "C" void LLVMInitializeCBackendMCAsmInfo() {}<br>
<br>
-extern "C" void LLVMInitializeCBackendMCSubtargetInfo() {<br>
-  RegisterMCSubtargetInfo<MCSubtargetInfo> X(TheCBackendTarget);<br>
-}<br>
+extern "C" void LLVMInitializeCBackendMCInstrInfo() {}<br>
+<br>
+extern "C" void LLVMInitializeCBackendMCSubtargetInfo() {}<br>
<br>
 namespace {<br>
   class CBEMCAsmInfo : public MCAsmInfo {<br>
@@ -1664,7 +1662,7 @@<br>
<br>
   std::string E;<br>
   if (const Target *Match = TargetRegistry::lookupTarget(Triple, E))<br>
-    TAsm = Match->createAsmInfo(Triple);<br>
+    TAsm = Match->createMCAsmInfo(Triple);<br>
 #endif<br>
   TAsm = new CBEMCAsmInfo();<br>
   TCtx = new MCContext(*TAsm, NULL);<br>
@@ -3167,7 +3165,7 @@<br>
<br>
   std::string E;<br>
   if (const Target *Match = TargetRegistry::lookupTarget(Triple, E))<br>
-    TargetAsm = Match->createAsmInfo(Triple);<br>
+    TargetAsm = Match->createMCAsmInfo(Triple);<br>
   else<br>
     return c.Codes[0];<br>
<br>
<br>
Modified: llvm/trunk/lib/Target/CellSPU/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -15,7 +15,6 @@<br>
   SPUISelDAGToDAG.cpp<br>
   SPUISelLowering.cpp<br>
   SPUFrameLowering.cpp<br>
-  SPUMCAsmInfo.cpp<br>
   SPURegisterInfo.cpp<br>
   SPUSubtarget.cpp<br>
   SPUTargetMachine.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMCellSPUDesc SPUMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMCellSPUDesc<br>
+  SPUMCTargetDesc.cpp<br>
+  SPUMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "SPUMCTargetDesc.h"<br>
+#include "SPUMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createSPUMCInstrInfo() {<br>
+static MCInstrInfo *createSPUMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitSPUMCInstrInfo(X);<br>
   return X;<br>
@@ -38,8 +39,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(TheCellSPUTarget, createSPUMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createSPUMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                          StringRef FS) {<br>
+static MCSubtargetInfo *createSPUMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                 StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitSPUMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -49,3 +50,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheCellSPUTarget,<br>
                                           createSPUMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeCellSPUMCAsmInfo() {<br>
+  RegisterMCAsmInfo<SPULinuxMCAsmInfo> X(TheCellSPUTarget);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp (removed)<br>
@@ -1,39 +0,0 @@<br>
-//===-- SPUMCAsmInfo.cpp - Cell SPU asm properties ------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the SPUMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "SPUMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, StringRef TT) {<br>
-  ZeroDirective = "\t.space\t";<br>
-  Data64bitsDirective = "\t.quad\t";<br>
-  AlignmentIsInBytes = false;<br>
-<br>
-  PCSymbol = ".";<br>
-  CommentString = "#";<br>
-  GlobalPrefix = "";<br>
-  PrivateGlobalPrefix = ".L";<br>
-<br>
-  // Has leb128<br>
-  HasLEB128 = true;<br>
-<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  // Exception handling is not supported on CellSPU (think about it: you only<br>
-  // have 256K for code+data. Would you support exception handling?)<br>
-  ExceptionsType = ExceptionHandling::None;<br>
-<br>
-  // SPU assembly requires ".section" before ".bss"<br>
-  UsesELFSectionDirectiveForBSS = true;<br>
-}<br>
-<br>
<br>
Removed: llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.h (removed)<br>
@@ -1,28 +0,0 @@<br>
-//===-- SPUMCAsmInfo.h - Cell SPU asm properties ---------------*- C++ -*--===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the SPUMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef SPUTARGETASMINFO_H<br>
-#define SPUTARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  struct SPULinuxMCAsmInfo : public MCAsmInfo {<br>
-    explicit SPULinuxMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-} // namespace llvm<br>
-<br>
-#endif /* SPUTARGETASMINFO_H */<br>
<br>
Modified: llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/CellSPU/SPUTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "SPU.h"<br>
-#include "SPUMCAsmInfo.h"<br>
 #include "SPUTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/CodeGen/RegAllocRegistry.h"<br>
@@ -24,7 +23,6 @@<br>
 extern "C" void LLVMInitializeCellSPUTarget() {<br>
   // Register the target.<br>
   RegisterTargetMachine<SPUTargetMachine> X(TheCellSPUTarget);<br>
-  RegisterAsmInfo<SPULinuxMCAsmInfo> Y(TheCellSPUTarget);<br>
 }<br>
<br>
 const std::pair<unsigned, int> *<br>
<br>
Modified: llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp (original)<br>
+++ llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp Thu Jul 14 18:50:31 2011<br>
@@ -22,6 +22,7 @@<br>
 #include "llvm/Module.h"<br>
 #include "llvm/Pass.h"<br>
 #include "llvm/PassManager.h"<br>
+#include "llvm/MC/MCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
 #include "llvm/ADT/SmallPtrSet.h"<br>
@@ -76,6 +77,8 @@<br>
   RegisterTargetMachine<CPPTargetMachine> X(TheCppBackendTarget);<br>
 }<br>
<br>
+extern "C" void LLVMInitializeCppBackendMCAsmInfo() {}<br>
+<br>
 extern "C" void LLVMInitializeCppBackendMCInstrInfo() {<br>
   RegisterMCInstrInfo<MCInstrInfo> X(TheCppBackendTarget);<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/MBlaze/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -17,7 +17,6 @@<br>
   MBlazeISelDAGToDAG.cpp<br>
   MBlazeISelLowering.cpp<br>
   MBlazeFrameLowering.cpp<br>
-  MBlazeMCAsmInfo.cpp<br>
   MBlazeRegisterInfo.cpp<br>
   MBlazeSubtarget.cpp<br>
   MBlazeTargetMachine.cpp<br>
<br>
Removed: llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp (removed)<br>
@@ -1,22 +0,0 @@<br>
-//===-- MBlazeMCAsmInfo.cpp - MBlaze asm properties -----------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the MBlazeMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "MBlazeMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-MBlazeMCAsmInfo::MBlazeMCAsmInfo() {<br>
-  SupportsDebugInformation    = true;<br>
-  AlignmentIsInBytes          = false;<br>
-  PrivateGlobalPrefix         = "$";<br>
-  GPRel32Directive            = "\t.gpword\t";<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/MBlazeMCAsmInfo.h (removed)<br>
@@ -1,30 +0,0 @@<br>
-//=====-- MBlazeMCAsmInfo.h - MBlaze asm properties -----------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the MBlazeMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef MBLAZETARGETASMINFO_H<br>
-#define MBLAZETARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  class MBlazeMCAsmInfo : public MCAsmInfo {<br>
-  public:<br>
-    explicit MBlazeMCAsmInfo();<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/MBlazeTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "MBlaze.h"<br>
-#include "MBlazeMCAsmInfo.h"<br>
 #include "MBlazeTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/CodeGen/Passes.h"<br>
@@ -21,14 +20,6 @@<br>
 #include "llvm/Target/TargetRegistry.h"<br>
 using namespace llvm;<br>
<br>
-static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
-  Triple TheTriple(TT);<br>
-  switch (TheTriple.getOS()) {<br>
-  default:<br>
-    return new MBlazeMCAsmInfo();<br>
-  }<br>
-}<br>
-<br>
 static MCStreamer *createMCStreamer(const Target &T, const std::string &TT,<br>
                                     MCContext &Ctx, TargetAsmBackend &TAB,<br>
                                     raw_ostream &_OS,<br>
@@ -55,9 +46,6 @@<br>
   // Register the target.<br>
   RegisterTargetMachine<MBlazeTargetMachine> X(TheMBlazeTarget);<br>
<br>
-  // Register the target asm info.<br>
-  RegisterAsmInfoFn A(TheMBlazeTarget, createMCAsmInfo);<br>
-<br>
   // Register the MC code emitter<br>
   TargetRegistry::RegisterCodeEmitter(TheMBlazeTarget,<br>
                                       llvm::createMBlazeMCCodeEmitter);<br>
<br>
Modified: llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMMBlazeDesc MBlazeMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMMBlazeDesc<br>
+  MBlazeMCTargetDesc.cpp<br>
+  MBlazeMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/MBlaze/MCTargetDesc/MBlazeMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "MBlazeMCTargetDesc.h"<br>
+#include "MBlazeMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -29,7 +30,7 @@<br>
 using namespace llvm;<br>
<br>
<br>
-MCInstrInfo *createMBlazeMCInstrInfo() {<br>
+static MCInstrInfo *createMBlazeMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitMBlazeMCInstrInfo(X);<br>
   return X;<br>
@@ -39,8 +40,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(TheMBlazeTarget, createMBlazeMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createMBlazeMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                            StringRef FS) {<br>
+static MCSubtargetInfo *createMBlazeMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                    StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitMBlazeMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -50,3 +51,15 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheMBlazeTarget,<br>
                                           createMBlazeMCSubtargetInfo);<br>
 }<br>
+<br>
+static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
+  Triple TheTriple(TT);<br>
+  switch (TheTriple.getOS()) {<br>
+  default:<br>
+    return new MBlazeMCAsmInfo();<br>
+  }<br>
+}<br>
+<br>
+extern "C" void LLVMInitializeMBlazeMCAsmInfo() {<br>
+  RegisterMCAsmInfoFn X(TheMBlazeTarget, createMCAsmInfo);<br>
+}<br>
<br>
Modified: llvm/trunk/lib/Target/MSP430/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/MSP430/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -13,7 +13,6 @@<br>
   MSP430ISelLowering.cpp<br>
   MSP430InstrInfo.cpp<br>
   MSP430FrameLowering.cpp<br>
-  MSP430MCAsmInfo.cpp<br>
   MSP430RegisterInfo.cpp<br>
   MSP430Subtarget.cpp<br>
   MSP430TargetMachine.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMMSP430Desc MSP430MCTargetDesc.cpp)<br>
+add_llvm_library(LLVMMSP430Desc<br>
+  MSP430MCTargetDesc.cpp<br>
+  MSP430MCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "MSP430MCTargetDesc.h"<br>
+#include "MSP430MCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -29,7 +30,7 @@<br>
 using namespace llvm;<br>
<br>
<br>
-MCInstrInfo *createMSP430MCInstrInfo() {<br>
+static MCInstrInfo *createMSP430MCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitMSP430MCInstrInfo(X);<br>
   return X;<br>
@@ -40,8 +41,8 @@<br>
 }<br>
<br>
<br>
-MCSubtargetInfo *createMSP430MCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                             StringRef FS) {<br>
+static MCSubtargetInfo *createMSP430MCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                    StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitMSP430MCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -51,3 +52,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheMSP430Target,<br>
                                           createMSP430MCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeMSP430MCAsmInfo() {<br>
+  RegisterMCAsmInfo<MSP430MCAsmInfo> X(TheMSP430Target);<br>
+}<br>
<br>
Modified: llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MSP430AsmPrinter.cpp Thu Jul 14 18:50:31 2011<br>
@@ -15,7 +15,6 @@<br>
 #define DEBUG_TYPE "asm-printer"<br>
 #include "MSP430.h"<br>
 #include "MSP430InstrInfo.h"<br>
-#include "MSP430MCAsmInfo.h"<br>
 #include "MSP430MCInstLower.h"<br>
 #include "MSP430TargetMachine.h"<br>
 #include "InstPrinter/MSP430InstPrinter.h"<br>
@@ -28,6 +27,7 @@<br>
 #include "llvm/CodeGen/MachineFunctionPass.h"<br>
 #include "llvm/CodeGen/MachineConstantPool.h"<br>
 #include "llvm/CodeGen/MachineInstr.h"<br>
+#include "llvm/MC/MCAsmInfo.h"<br>
 #include "llvm/MC/MCInst.h"<br>
 #include "llvm/MC/MCStreamer.h"<br>
 #include "llvm/MC/MCSymbol.h"<br>
<br>
Removed: llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.cpp (removed)<br>
@@ -1,26 +0,0 @@<br>
-//===-- MSP430MCAsmInfo.cpp - MSP430 asm properties -----------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the MSP430MCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "MSP430MCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, StringRef TT) {<br>
-  PrivateGlobalPrefix = ".L";<br>
-  WeakRefDirective ="\t.weak\t";<br>
-  PCSymbol=".";<br>
-  CommentString = ";";<br>
-<br>
-  AlignmentIsInBytes = false;<br>
-  AllowNameToStartWithDigit = true;<br>
-  UsesELFSectionDirectiveForBSS = true;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MSP430MCAsmInfo.h (removed)<br>
@@ -1,29 +0,0 @@<br>
-//=====-- MSP430MCAsmInfo.h - MSP430 asm properties -----------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the MSP430MCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef MSP430TARGETASMINFO_H<br>
-#define MSP430TARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  struct MSP430MCAsmInfo : public MCAsmInfo {<br>
-    explicit MSP430MCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/MSP430/MSP430TargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "MSP430.h"<br>
-#include "MSP430MCAsmInfo.h"<br>
 #include "MSP430TargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/CodeGen/Passes.h"<br>
@@ -23,7 +22,6 @@<br>
 extern "C" void LLVMInitializeMSP430Target() {<br>
   // Register the target.<br>
   RegisterTargetMachine<MSP430TargetMachine> X(TheMSP430Target);<br>
-  RegisterAsmInfo<MSP430MCAsmInfo> Z(TheMSP430Target);<br>
 }<br>
<br>
 MSP430TargetMachine::MSP430TargetMachine(const Target &T,<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Mips/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -16,7 +16,6 @@<br>
   MipsISelDAGToDAG.cpp<br>
   MipsISelLowering.cpp<br>
   MipsFrameLowering.cpp<br>
-  MipsMCAsmInfo.cpp<br>
   MipsMCInstLower.cpp<br>
   MipsMCSymbolRefExpr.cpp<br>
   MipsRegisterInfo.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMMipsDesc MipsMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMMipsDesc<br>
+  MipsMCTargetDesc.cpp<br>
+  MipsMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "MipsMCTargetDesc.h"<br>
+#include "MipsMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createMipsMCInstrInfo() {<br>
+static MCInstrInfo *createMipsMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitMipsMCInstrInfo(X);<br>
   return X;<br>
@@ -39,8 +40,8 @@<br>
 }<br>
<br>
<br>
-MCSubtargetInfo *createMipsMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                           StringRef FS) {<br>
+static MCSubtargetInfo *createMipsMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                  StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitMipsMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -50,3 +51,8 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheMipsTarget,<br>
                                           createMipsMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeMipsMCAsmInfo() {<br>
+  RegisterMCAsmInfo<MipsMCAsmInfo> X(TheMipsTarget);<br>
+  RegisterMCAsmInfo<MipsMCAsmInfo> Y(TheMipselTarget);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.cpp (removed)<br>
@@ -1,32 +0,0 @@<br>
-//===-- MipsMCAsmInfo.cpp - Mips asm properties ---------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the MipsMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "MipsMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, StringRef TT) {<br>
-  AlignmentIsInBytes          = false;<br>
-  Data16bitsDirective         = "\t.2byte\t";<br>
-  Data32bitsDirective         = "\t.4byte\t";<br>
-  Data64bitsDirective         = 0;<br>
-  PrivateGlobalPrefix         = "$";<br>
-  CommentString               = "#";<br>
-  ZeroDirective               = "\t.space\t";<br>
-  GPRel32Directive            = "\t.gpword\t";<br>
-  WeakRefDirective            = "\t.weak\t";<br>
-<br>
-  SupportsDebugInformation = true;<br>
-  ExceptionsType = ExceptionHandling::DwarfCFI;<br>
-  HasLEB128 = true;<br>
-  DwarfRegNumForCFI = true;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/Mips/MipsMCAsmInfo.h (removed)<br>
@@ -1,30 +0,0 @@<br>
-//=====-- MipsMCAsmInfo.h - Mips asm properties ---------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the MipsMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef MIPSTARGETASMINFO_H<br>
-#define MIPSTARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  class MipsMCAsmInfo : public MCAsmInfo {<br>
-  public:<br>
-    explicit MipsMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "Mips.h"<br>
-#include "MipsMCAsmInfo.h"<br>
 #include "MipsTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/Target/TargetRegistry.h"<br>
@@ -22,8 +21,6 @@<br>
   // Register the target.<br>
   RegisterTargetMachine<MipsTargetMachine> X(TheMipsTarget);<br>
   RegisterTargetMachine<MipselTargetMachine> Y(TheMipselTarget);<br>
-  RegisterAsmInfo<MipsMCAsmInfo> A(TheMipsTarget);<br>
-  RegisterAsmInfo<MipsMCAsmInfo> B(TheMipselTarget);<br>
 }<br>
<br>
 // DataLayout --> Big-endian, 32-bit pointer/ABI/alignment<br>
<br>
Modified: llvm/trunk/lib/Target/PTX/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/PTX/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -13,7 +13,6 @@<br>
   PTXISelLowering.cpp<br>
   PTXInstrInfo.cpp<br>
   PTXFrameLowering.cpp<br>
-  PTXMCAsmInfo.cpp<br>
   PTXMCAsmStreamer.cpp<br>
   PTXMFInfoExtract.cpp<br>
   PTXRegisterInfo.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/PTX/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMPTXDesc PTXMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMPTXDesc<br>
+  PTXMCTargetDesc.cpp<br>
+  PTXMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/PTX/MCTargetDesc/PTXMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "PTXMCTargetDesc.h"<br>
+#include "PTXMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createPTXMCInstrInfo() {<br>
+static MCInstrInfo *createPTXMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitPTXMCInstrInfo(X);<br>
   return X;<br>
@@ -39,8 +40,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(ThePTX64Target, createPTXMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createPTXMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                            StringRef FS) {<br>
+static MCSubtargetInfo *createPTXMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                 StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitPTXMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -52,3 +53,8 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(ThePTX64Target,<br>
                                           createPTXMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializePTXMCAsmInfo() {<br>
+  RegisterMCAsmInfo<PTXMCAsmInfo> X(ThePTX32Target);<br>
+  RegisterMCAsmInfo<PTXMCAsmInfo> Y(ThePTX64Target);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.cpp (removed)<br>
@@ -1,30 +0,0 @@<br>
-//===-- PTXMCAsmInfo.cpp - PTX asm properties -----------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the PTXMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "PTXMCAsmInfo.h"<br>
-<br>
-using namespace llvm;<br>
-<br>
-PTXMCAsmInfo::PTXMCAsmInfo(const Target &T, const StringRef &TT) {<br>
-  CommentString = "//";<br>
-<br>
-  PrivateGlobalPrefix = "$L__";<br>
-<br>
-  AllowPeriodsInName = false;<br>
-<br>
-  HasSetDirective = false;<br>
-<br>
-  HasDotTypeDotSizeDirective = false;<br>
-<br>
-  HasSingleParameterDotFile = false;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/PTX/PTXMCAsmInfo.h (removed)<br>
@@ -1,28 +0,0 @@<br>
-//=====-- PTXMCAsmInfo.h - PTX asm properties -----------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the PTXMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef PTX_MCASM_INFO_H<br>
-#define PTX_MCASM_INFO_H<br>
-<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-  class StringRef;<br>
-<br>
-  struct PTXMCAsmInfo : public MCAsmInfo {<br>
-    explicit PTXMCAsmInfo(const Target &T, const StringRef &TT);<br>
-  };<br>
-} // namespace llvm<br>
-<br>
-#endif // PTX_MCASM_INFO_H<br>
<br>
Modified: llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/PTX/PTXTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "PTX.h"<br>
-#include "PTXMCAsmInfo.h"<br>
 #include "PTXTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/Target/TargetRegistry.h"<br>
@@ -35,9 +34,6 @@<br>
   RegisterTargetMachine<PTX32TargetMachine> X(ThePTX32Target);<br>
   RegisterTargetMachine<PTX64TargetMachine> Y(ThePTX64Target);<br>
<br>
-  RegisterAsmInfo<PTXMCAsmInfo> Z(ThePTX32Target);<br>
-  RegisterAsmInfo<PTXMCAsmInfo> W(ThePTX64Target);<br>
-<br>
   TargetRegistry::RegisterAsmStreamer(ThePTX32Target, createPTXAsmStreamer);<br>
   TargetRegistry::RegisterAsmStreamer(ThePTX64Target, createPTXAsmStreamer);<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/PowerPC/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -20,7 +20,6 @@<br>
   PPCISelLowering.cpp<br>
   PPCFrameLowering.cpp<br>
   PPCJITInfo.cpp<br>
-  PPCMCAsmInfo.cpp<br>
   PPCMCCodeEmitter.cpp<br>
   PPCMCInstLower.cpp<br>
   PPCPredicates.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMPowerPCDesc PPCMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMPowerPCDesc<br>
+  PPCMCTargetDesc.cpp<br>
+  PPCMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "PPCMCTargetDesc.h"<br>
+#include "PPCMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createPPCMCInstrInfo() {<br>
+static MCInstrInfo *createPPCMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitPPCMCInstrInfo(X);<br>
   return X;<br>
@@ -40,8 +41,8 @@<br>
 }<br>
<br>
<br>
-MCSubtargetInfo *createPPCMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                          StringRef FS) {<br>
+static MCSubtargetInfo *createPPCMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                 StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitPPCMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -53,3 +54,17 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(ThePPC64Target,<br>
                                           createPPCMCSubtargetInfo);<br>
 }<br>
+<br>
+static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
+  Triple TheTriple(TT);<br>
+  bool isPPC64 = TheTriple.getArch() == Triple::ppc64;<br>
+  if (TheTriple.isOSDarwin())<br>
+    return new PPCMCAsmInfoDarwin(isPPC64);<br>
+  return new PPCLinuxMCAsmInfo(isPPC64);<br>
+<br>
+}<br>
+<br>
+extern "C" void LLVMInitializePowerPCMCAsmInfo() {<br>
+  RegisterMCAsmInfoFn C(ThePPC32Target, createMCAsmInfo);<br>
+  RegisterMCAsmInfoFn D(ThePPC64Target, createMCAsmInfo);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.cpp (removed)<br>
@@ -1,58 +0,0 @@<br>
-//===-- PPCMCAsmInfo.cpp - PPC asm properties -------------------*- C++ -*-===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the MCAsmInfoDarwin properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "PPCMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {<br>
-  PCSymbol = ".";<br>
-  CommentString = ";";<br>
-  ExceptionsType = ExceptionHandling::DwarfCFI;<br>
-<br>
-  if (!is64Bit)<br>
-    Data64bitsDirective = 0;      // We can't emit a 64-bit unit in PPC32 mode.<br>
-<br>
-  AssemblerDialect = 1;           // New-Style mnemonics.<br>
-  SupportsDebugInformation= true; // Debug information.<br>
-}<br>
-<br>
-PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {<br>
-  // ".comm align is in bytes but .align is pow-2."<br>
-  AlignmentIsInBytes = false;<br>
-<br>
-  CommentString = "#";<br>
-  GlobalPrefix = "";<br>
-  PrivateGlobalPrefix = ".L";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-<br>
-  // Uses '.section' before '.bss' directive<br>
-  UsesELFSectionDirectiveForBSS = true;<br>
-<br>
-  // Debug Information<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  PCSymbol = ".";<br>
-<br>
-  // Set up DWARF directives<br>
-  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)<br>
-<br>
-  // Exceptions handling<br>
-  if (!is64Bit)<br>
-    ExceptionsType = ExceptionHandling::DwarfCFI;<br>
-<br>
-  ZeroDirective = "\t.space\t";<br>
-  Data64bitsDirective = is64Bit ? "\t.quad\t" : 0;<br>
-  HasLCOMMDirective = true;<br>
-  AssemblerDialect = 0;           // Old-Style mnemonics.<br>
-}<br>
-<br>
<br>
Removed: llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/PPCMCAsmInfo.h (removed)<br>
@@ -1,31 +0,0 @@<br>
-//=====-- PPCMCAsmInfo.h - PPC asm properties -----------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the MCAsmInfoDarwin class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef PPCTARGETASMINFO_H<br>
-#define PPCTARGETASMINFO_H<br>
-<br>
-#include "llvm/MC/MCAsmInfoDarwin.h"<br>
-<br>
-namespace llvm {<br>
-<br>
-  struct PPCMCAsmInfoDarwin : public MCAsmInfoDarwin {<br>
-    explicit PPCMCAsmInfoDarwin(bool is64Bit);<br>
-  };<br>
-<br>
-  struct PPCLinuxMCAsmInfo : public MCAsmInfo {<br>
-    explicit PPCLinuxMCAsmInfo(bool is64Bit);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,7 +12,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "PPC.h"<br>
-#include "PPCMCAsmInfo.h"<br>
 #include "PPCTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/MC/MCStreamer.h"<br>
@@ -21,15 +20,6 @@<br>
 #include "llvm/Support/FormattedStream.h"<br>
 using namespace llvm;<br>
<br>
-static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
-  Triple TheTriple(TT);<br>
-  bool isPPC64 = TheTriple.getArch() == Triple::ppc64;<br>
-  if (TheTriple.isOSDarwin())<br>
-    return new PPCMCAsmInfoDarwin(isPPC64);<br>
-  return new PPCLinuxMCAsmInfo(isPPC64);<br>
-<br>
-}<br>
-<br>
 // This is duplicated code. Refactor this.<br>
 static MCStreamer *createMCStreamer(const Target &T, const std::string &TT,<br>
                                     MCContext &Ctx, TargetAsmBackend &TAB,<br>
@@ -48,9 +38,6 @@<br>
   RegisterTargetMachine<PPC32TargetMachine> A(ThePPC32Target);<br>
   RegisterTargetMachine<PPC64TargetMachine> B(ThePPC64Target);<br>
<br>
-  RegisterAsmInfoFn C(ThePPC32Target, createMCAsmInfo);<br>
-  RegisterAsmInfoFn D(ThePPC64Target, createMCAsmInfo);<br>
-<br>
   // Register the MC Code Emitter<br>
   TargetRegistry::RegisterCodeEmitter(ThePPC32Target, createPPCMCCodeEmitter);<br>
   TargetRegistry::RegisterCodeEmitter(ThePPC64Target, createPPCMCCodeEmitter);<br>
<br>
Modified: llvm/trunk/lib/Target/Sparc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Sparc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -15,7 +15,6 @@<br>
   SparcISelDAGToDAG.cpp<br>
   SparcISelLowering.cpp<br>
   SparcFrameLowering.cpp<br>
-  SparcMCAsmInfo.cpp<br>
   SparcRegisterInfo.cpp<br>
   SparcSubtarget.cpp<br>
   SparcTargetMachine.cpp<br>
<br>
Modified: llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt (original)<br>
+++ llvm/trunk/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt Thu Jul 14 18:50:31 2011<br>
@@ -1 +1,4 @@<br>
-add_llvm_library(LLVMSparcDesc SparcMCTargetDesc.cpp)<br>
+add_llvm_library(LLVMSparcDesc<br>
+  SparcMCTargetDesc.cpp<br>
+  SparcMCAsmInfo.cpp<br>
+  )<br>
<br>
Modified: llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "SparcMCTargetDesc.h"<br>
+#include "SparcMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createSparcMCInstrInfo() {<br>
+static MCInstrInfo *createSparcMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitSparcMCInstrInfo(X);<br>
   return X;<br>
@@ -38,8 +39,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(TheSparcTarget, createSparcMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createSparcMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                            StringRef FS) {<br>
+static MCSubtargetInfo *createSparcMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                   StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitSparcMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -49,3 +50,8 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheSparcTarget,<br>
                                           createSparcMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeSparcMCAsmInfo() {<br>
+  RegisterMCAsmInfo<SparcELFMCAsmInfo> X(TheSparcTarget);<br>
+  RegisterMCAsmInfo<SparcELFMCAsmInfo> Y(TheSparcV9Target);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.cpp (removed)<br>
@@ -1,34 +0,0 @@<br>
-//===-- SparcMCAsmInfo.cpp - Sparc asm properties -------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the SparcMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "SparcMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, StringRef TT) {<br>
-  Data16bitsDirective = "\t.half\t";<br>
-  Data32bitsDirective = "\t.word\t";<br>
-  Data64bitsDirective = 0;  // .xword is only supported by V9.<br>
-  ZeroDirective = "\t.skip\t";<br>
-  CommentString = "!";<br>
-  HasLEB128 = true;<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  SunStyleELFSectionSwitchSyntax = true;<br>
-  UsesELFSectionDirectiveForBSS = true;<br>
-<br>
-  WeakRefDirective = "\t.weak\t";<br>
-<br>
-  PrivateGlobalPrefix = ".L";<br>
-}<br>
-<br>
-<br>
<br>
Removed: llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/Sparc/SparcMCAsmInfo.h (removed)<br>
@@ -1,29 +0,0 @@<br>
-//=====-- SparcMCAsmInfo.h - Sparc asm properties -------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the SparcMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef SPARCTARGETASMINFO_H<br>
-#define SPARCTARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  struct SparcELFMCAsmInfo : public MCAsmInfo {<br>
-    explicit SparcELFMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/Sparc/SparcTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -11,7 +11,6 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "Sparc.h"<br>
-#include "SparcMCAsmInfo.h"<br>
 #include "SparcTargetMachine.h"<br>
 #include "llvm/PassManager.h"<br>
 #include "llvm/Target/TargetRegistry.h"<br>
@@ -21,10 +20,6 @@<br>
   // Register the target.<br>
   RegisterTargetMachine<SparcV8TargetMachine> X(TheSparcTarget);<br>
   RegisterTargetMachine<SparcV9TargetMachine> Y(TheSparcV9Target);<br>
-<br>
-  RegisterAsmInfo<SparcELFMCAsmInfo> A(TheSparcTarget);<br>
-  RegisterAsmInfo<SparcELFMCAsmInfo> B(TheSparcV9Target);<br>
-<br>
 }<br>
<br>
 /// SparcTargetMachine ctor - Create an ILP32 architecture model<br>
<br>
Modified: llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "SystemZMCTargetDesc.h"<br>
+#include "SystemZMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createSystemZMCInstrInfo() {<br>
+static MCInstrInfo *createSystemZMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitSystemZMCInstrInfo(X);<br>
   return X;<br>
@@ -39,8 +40,9 @@<br>
                                       createSystemZMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createSystemZMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                              StringRef FS) {<br>
+static MCSubtargetInfo *createSystemZMCSubtargetInfo(StringRef TT,<br>
+                                                     StringRef CPU,<br>
+                                                     StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitSystemZMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -50,3 +52,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheSystemZTarget,<br>
                                           createSystemZMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeSystemZMCAsmInfo() {<br>
+  RegisterMCAsmInfo<SystemZMCAsmInfo> X(TheSystemZTarget);<br>
+}<br>
<br>
Removed: llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.cpp (removed)<br>
@@ -1,30 +0,0 @@<br>
-//===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the SystemZMCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "SystemZMCAsmInfo.h"<br>
-#include "llvm/MC/MCContext.h"<br>
-#include "llvm/MC/MCSectionELF.h"<br>
-#include "llvm/Support/ELF.h"<br>
-using namespace llvm;<br>
-<br>
-SystemZMCAsmInfo::SystemZMCAsmInfo(const Target &T, StringRef TT) {<br>
-  PrivateGlobalPrefix = ".L";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-  PCSymbol = ".";<br>
-}<br>
-<br>
-const MCSection *SystemZMCAsmInfo::<br>
-getNonexecutableStackSection(MCContext &Ctx) const{<br>
-  return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,<br>
-                           0, SectionKind::getMetadata());<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/SystemZ/SystemZMCAsmInfo.h (removed)<br>
@@ -1,30 +0,0 @@<br>
-//====-- SystemZMCAsmInfo.h - SystemZ asm properties -----------*- C++ -*--===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the SystemZMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef SystemZTARGETASMINFO_H<br>
-#define SystemZTARGETASMINFO_H<br>
-<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-  class StringRef;<br>
-<br>
-  struct SystemZMCAsmInfo : public MCAsmInfo {<br>
-    explicit SystemZMCAsmInfo(const Target &T, StringRef TT);<br>
-    virtual const MCSection *getNonexecutableStackSection(MCContext &Ctx) const;<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/SystemZ/SystemZTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -7,7 +7,6 @@<br>
 //<br>
 //===----------------------------------------------------------------------===//<br>
<br>
-#include "SystemZMCAsmInfo.h"<br>
 #include "SystemZTargetMachine.h"<br>
 #include "SystemZ.h"<br>
 #include "llvm/PassManager.h"<br>
@@ -17,7 +16,6 @@<br>
 extern "C" void LLVMInitializeSystemZTarget() {<br>
   // Register the target.<br>
   RegisterTargetMachine<SystemZTargetMachine> X(TheSystemZTarget);<br>
-  RegisterAsmInfo<SystemZMCAsmInfo> Y(TheSystemZTarget);<br>
 }<br>
<br>
 /// SystemZTargetMachine ctor - Create an ILP64 architecture model<br>
<br>
Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "X86MCTargetDesc.h"<br>
+#include "X86MCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -130,33 +131,55 @@<br>
   return X;<br>
 }<br>
<br>
-MCInstrInfo *createX86MCInstrInfo() {<br>
-  MCInstrInfo *X = new MCInstrInfo();<br>
-  InitX86MCInstrInfo(X);<br>
-  return X;<br>
+// Force static initialization.<br>
+extern "C" void LLVMInitializeX86MCSubtargetInfo() {<br>
+  TargetRegistry::RegisterMCSubtargetInfo(TheX86_32Target,<br>
+                                          X86_MC::createX86MCSubtargetInfo);<br>
+  TargetRegistry::RegisterMCSubtargetInfo(TheX86_64Target,<br>
+                                          X86_MC::createX86MCSubtargetInfo);<br>
 }<br>
<br>
-MCRegisterInfo *createX86MCRegisterInfo() {<br>
-  MCRegisterInfo *X = new MCRegisterInfo();<br>
-  InitX86MCRegisterInfo(X);<br>
+static MCInstrInfo *createX86MCInstrInfo() {<br>
+  MCInstrInfo *X = new MCInstrInfo();<br>
+  InitX86MCInstrInfo(X);<br>
   return X;<br>
 }<br>
<br>
-// Force static initialization.<br>
 extern "C" void LLVMInitializeX86MCInstrInfo() {<br>
   TargetRegistry::RegisterMCInstrInfo(TheX86_32Target, createX86MCInstrInfo);<br>
   TargetRegistry::RegisterMCInstrInfo(TheX86_64Target, createX86MCInstrInfo);<br>
 }<br>
<br>
+static MCRegisterInfo *createX86MCRegisterInfo() {<br>
+  MCRegisterInfo *X = new MCRegisterInfo();<br>
+  InitX86MCRegisterInfo(X);<br>
+  return X;<br>
+}<br>
+<br>
 extern "C" void LLVMInitializeX86MCRegInfo() {<br>
   TargetRegistry::RegisterMCRegInfo(TheX86_32Target, createX86MCRegisterInfo);<br>
   TargetRegistry::RegisterMCRegInfo(TheX86_64Target, createX86MCRegisterInfo);<br>
 }<br>
<br>
<br>
-extern "C" void LLVMInitializeX86MCSubtargetInfo() {<br>
-  TargetRegistry::RegisterMCSubtargetInfo(TheX86_32Target,<br>
-                                          X86_MC::createX86MCSubtargetInfo);<br>
-  TargetRegistry::RegisterMCSubtargetInfo(TheX86_64Target,<br>
-                                          X86_MC::createX86MCSubtargetInfo);<br>
+static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
+  Triple TheTriple(TT);<br>
+<br>
+  if (TheTriple.isOSDarwin() || TheTriple.getEnvironment() == Triple::MachO) {<br>
+    if (TheTriple.getArch() == Triple::x86_64)<br>
+      return new X86_64MCAsmInfoDarwin(TheTriple);<br>
+    else<br>
+      return new X86MCAsmInfoDarwin(TheTriple);<br>
+  }<br>
+<br>
+  if (TheTriple.isOSWindows())<br>
+    return new X86MCAsmInfoCOFF(TheTriple);<br>
+<br>
+  return new X86ELFMCAsmInfo(TheTriple);<br>
+}<br>
+<br>
+extern "C" void LLVMInitializeX86MCAsmInfo() {<br>
+  // Register the target asm info.<br>
+  RegisterMCAsmInfoFn A(TheX86_32Target, createMCAsmInfo);<br>
+  RegisterMCAsmInfoFn B(TheX86_64Target, createMCAsmInfo);<br>
 }<br>
<br>
Removed: llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp (removed)<br>
@@ -1,134 +0,0 @@<br>
-//===-- X86MCAsmInfo.cpp - X86 asm properties -----------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declarations of the X86MCAsmInfo properties.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "X86MCAsmInfo.h"<br>
-#include "X86TargetMachine.h"<br>
-#include "llvm/ADT/Triple.h"<br>
-#include "llvm/MC/MCContext.h"<br>
-#include "llvm/MC/MCExpr.h"<br>
-#include "llvm/MC/MCSectionELF.h"<br>
-#include "llvm/MC/MCStreamer.h"<br>
-#include "llvm/Support/CommandLine.h"<br>
-#include "llvm/Support/ELF.h"<br>
-using namespace llvm;<br>
-<br>
-enum AsmWriterFlavorTy {<br>
-  // Note: This numbering has to match the GCC assembler dialects for inline<br>
-  // asm alternatives to work right.<br>
-  ATT = 0, Intel = 1<br>
-};<br>
-<br>
-static cl::opt<AsmWriterFlavorTy><br>
-AsmWriterFlavor("x86-asm-syntax", cl::init(ATT),<br>
-  cl::desc("Choose style of code to emit from X86 backend:"),<br>
-  cl::values(clEnumValN(ATT,   "att",   "Emit AT&T-style assembly"),<br>
-             clEnumValN(Intel, "intel", "Emit Intel-style assembly"),<br>
-             clEnumValEnd));<br>
-<br>
-<br>
-static const char *const x86_asm_table[] = {<br>
-  "{si}", "S",<br>
-  "{di}", "D",<br>
-  "{ax}", "a",<br>
-  "{cx}", "c",<br>
-  "{memory}", "memory",<br>
-  "{flags}", "",<br>
-  "{dirflag}", "",<br>
-  "{fpsr}", "",<br>
-  "{fpcr}", "",<br>
-  "{cc}", "cc",<br>
-  0,0};<br>
-<br>
-X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple) {<br>
-  AsmTransCBE = x86_asm_table;<br>
-  AssemblerDialect = AsmWriterFlavor;<br>
-<br>
-  bool is64Bit = Triple.getArch() == Triple::x86_64;<br>
-<br>
-  TextAlignFillValue = 0x90;<br>
-<br>
-  if (!is64Bit)<br>
-    Data64bitsDirective = 0;       // we can't emit a 64-bit unit<br>
-<br>
-  // Use ## as a comment string so that .s files generated by llvm can go<br>
-  // through the GCC preprocessor without causing an error.  This is needed<br>
-  // because "clang foo.s" runs the C preprocessor, which is usually reserved<br>
-  // for .S files on other systems.  Perhaps this is because the file system<br>
-  // wasn't always case preserving or something.<br>
-  CommentString = "##";<br>
-  PCSymbol = ".";<br>
-<br>
-  SupportsDebugInformation = true;<br>
-  DwarfUsesInlineInfoSection = true;<br>
-<br>
-  // Exceptions handling<br>
-  ExceptionsType = ExceptionHandling::DwarfCFI;<br>
-}<br>
-<br>
-const MCExpr *<br>
-X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(const MCSymbol *Sym,<br>
-                                                   unsigned Encoding,<br>
-                                                   MCStreamer &Streamer) const {<br>
-  MCContext &Context = Streamer.getContext();<br>
-  const MCExpr *Res =<br>
-    MCSymbolRefExpr::Create(Sym, MCSymbolRefExpr::VK_GOTPCREL, Context);<br>
-  const MCExpr *Four = MCConstantExpr::Create(4, Context);<br>
-  return MCBinaryExpr::CreateAdd(Res, Four, Context);<br>
-}<br>
-<br>
-X86_64MCAsmInfoDarwin::X86_64MCAsmInfoDarwin(const Triple &Triple)<br>
-  : X86MCAsmInfoDarwin(Triple) {<br>
-}<br>
-<br>
-X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) {<br>
-  AsmTransCBE = x86_asm_table;<br>
-  AssemblerDialect = AsmWriterFlavor;<br>
-<br>
-  TextAlignFillValue = 0x90;<br>
-<br>
-  PrivateGlobalPrefix = ".L";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-  PCSymbol = ".";<br>
-<br>
-  // Set up DWARF directives<br>
-  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)<br>
-<br>
-  // Debug Information<br>
-  SupportsDebugInformation = true;<br>
-<br>
-  // Exceptions handling<br>
-  ExceptionsType = ExceptionHandling::DwarfCFI;<br>
-<br>
-  // OpenBSD has buggy support for .quad in 32-bit mode, just split into two<br>
-  // .words.<br>
-  if (T.getOS() == Triple::OpenBSD && T.getArch() == Triple::x86)<br>
-    Data64bitsDirective = 0;<br>
-}<br>
-<br>
-const MCSection *X86ELFMCAsmInfo::<br>
-getNonexecutableStackSection(MCContext &Ctx) const {<br>
-  return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,<br>
-                           0, SectionKind::getMetadata());<br>
-}<br>
-<br>
-X86MCAsmInfoCOFF::X86MCAsmInfoCOFF(const Triple &Triple) {<br>
-  if (Triple.getArch() == Triple::x86_64) {<br>
-    GlobalPrefix = "";<br>
-    PrivateGlobalPrefix = ".L";<br>
-  }<br>
-<br>
-  AsmTransCBE = x86_asm_table;<br>
-  AssemblerDialect = AsmWriterFlavor;<br>
-<br>
-  TextAlignFillValue = 0x90;<br>
-}<br>
<br>
Removed: llvm/trunk/lib/Target/X86/X86MCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86MCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/X86/X86MCAsmInfo.h (removed)<br>
@@ -1,46 +0,0 @@<br>
-//=====-- X86MCAsmInfo.h - X86 asm properties -----------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the X86MCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef X86TARGETASMINFO_H<br>
-#define X86TARGETASMINFO_H<br>
-<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-#include "llvm/MC/MCAsmInfoCOFF.h"<br>
-#include "llvm/MC/MCAsmInfoDarwin.h"<br>
-<br>
-namespace llvm {<br>
-  class Triple;<br>
-<br>
-  struct X86MCAsmInfoDarwin : public MCAsmInfoDarwin {<br>
-    explicit X86MCAsmInfoDarwin(const Triple &Triple);<br>
-  };<br>
-<br>
-  struct X86_64MCAsmInfoDarwin : public X86MCAsmInfoDarwin {<br>
-    explicit X86_64MCAsmInfoDarwin(const Triple &Triple);<br>
-    virtual const MCExpr *<br>
-    getExprForPersonalitySymbol(const MCSymbol *Sym,<br>
-                                unsigned Encoding,<br>
-                                MCStreamer &Streamer) const;<br>
-  };<br>
-<br>
-  struct X86ELFMCAsmInfo : public MCAsmInfo {<br>
-    explicit X86ELFMCAsmInfo(const Triple &Triple);<br>
-    virtual const MCSection *getNonexecutableStackSection(MCContext &Ctx) const;<br>
-  };<br>
-<br>
-  struct X86MCAsmInfoCOFF : public MCAsmInfoCOFF {<br>
-    explicit X86MCAsmInfoCOFF(const Triple &Triple);<br>
-  };<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/X86/X86MCInstLower.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86MCInstLower.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/X86MCInstLower.cpp Thu Jul 14 18:50:31 2011<br>
@@ -16,8 +16,8 @@<br>
 #include "X86MCInstLower.h"<br>
 #include "X86AsmPrinter.h"<br>
 #include "X86COFFMachineModuleInfo.h"<br>
-#include "X86MCAsmInfo.h"<br>
 #include "llvm/CodeGen/MachineModuleInfoImpls.h"<br>
+#include "llvm/MC/MCAsmInfo.h"<br>
 #include "llvm/MC/MCContext.h"<br>
 #include "llvm/MC/MCExpr.h"<br>
 #include "llvm/MC/MCInst.h"<br>
<br>
Modified: llvm/trunk/lib/Target/X86/X86TargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86TargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/X86TargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -11,7 +11,6 @@<br>
 //<br>
 //===----------------------------------------------------------------------===//<br>
<br>
-#include "X86MCAsmInfo.h"<br>
 #include "X86TargetMachine.h"<br>
 #include "X86.h"<br>
 #include "llvm/PassManager.h"<br>
@@ -24,22 +23,6 @@<br>
 #include "llvm/Target/TargetRegistry.h"<br>
 using namespace llvm;<br>
<br>
-static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) {<br>
-  Triple TheTriple(TT);<br>
-<br>
-  if (TheTriple.isOSDarwin() || TheTriple.getEnvironment() == Triple::MachO) {<br>
-    if (TheTriple.getArch() == Triple::x86_64)<br>
-      return new X86_64MCAsmInfoDarwin(TheTriple);<br>
-    else<br>
-      return new X86MCAsmInfoDarwin(TheTriple);<br>
-  }<br>
-<br>
-  if (TheTriple.isOSWindows())<br>
-    return new X86MCAsmInfoCOFF(TheTriple);<br>
-<br>
-  return new X86ELFMCAsmInfo(TheTriple);<br>
-}<br>
-<br>
 static MCStreamer *createMCStreamer(const Target &T, const std::string &TT,<br>
                                     MCContext &Ctx, TargetAsmBackend &TAB,<br>
                                     raw_ostream &_OS,<br>
@@ -62,10 +45,6 @@<br>
   RegisterTargetMachine<X86_32TargetMachine> X(TheX86_32Target);<br>
   RegisterTargetMachine<X86_64TargetMachine> Y(TheX86_64Target);<br>
<br>
-  // Register the target asm info.<br>
-  RegisterAsmInfoFn A(TheX86_32Target, createMCAsmInfo);<br>
-  RegisterAsmInfoFn B(TheX86_64Target, createMCAsmInfo);<br>
-<br>
   // Register the code emitter.<br>
   TargetRegistry::RegisterCodeEmitter(TheX86_32Target,<br>
                                       createX86MCCodeEmitter);<br>
<br>
Modified: llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp (original)<br>
+++ llvm/trunk/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -12,6 +12,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "XCoreMCTargetDesc.h"<br>
+#include "XCoreMCAsmInfo.h"<br>
 #include "llvm/MC/MCInstrInfo.h"<br>
 #include "llvm/MC/MCRegisterInfo.h"<br>
 #include "llvm/MC/MCSubtargetInfo.h"<br>
@@ -28,7 +29,7 @@<br>
<br>
 using namespace llvm;<br>
<br>
-MCInstrInfo *createXCoreMCInstrInfo() {<br>
+static MCInstrInfo *createXCoreMCInstrInfo() {<br>
   MCInstrInfo *X = new MCInstrInfo();<br>
   InitXCoreMCInstrInfo(X);<br>
   return X;<br>
@@ -38,8 +39,8 @@<br>
   TargetRegistry::RegisterMCInstrInfo(TheXCoreTarget, createXCoreMCInstrInfo);<br>
 }<br>
<br>
-MCSubtargetInfo *createXCoreMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
-                                            StringRef FS) {<br>
+static MCSubtargetInfo *createXCoreMCSubtargetInfo(StringRef TT, StringRef CPU,<br>
+                                                   StringRef FS) {<br>
   MCSubtargetInfo *X = new MCSubtargetInfo();<br>
   InitXCoreMCSubtargetInfo(X, TT, CPU, FS);<br>
   return X;<br>
@@ -49,3 +50,7 @@<br>
   TargetRegistry::RegisterMCSubtargetInfo(TheXCoreTarget,<br>
                                           createXCoreMCSubtargetInfo);<br>
 }<br>
+<br>
+extern "C" void LLVMInitializeXCoreMCAsmInfo() {<br>
+  RegisterMCAsmInfo<XCoreMCAsmInfo> X(TheXCoreTarget);<br>
+}<br>
<br>
Modified: llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/XCore/XCoreAsmPrinter.cpp Thu Jul 14 18:50:31 2011<br>
@@ -16,7 +16,6 @@<br>
 #include "XCore.h"<br>
 #include "XCoreInstrInfo.h"<br>
 #include "XCoreSubtarget.h"<br>
-#include "XCoreMCAsmInfo.h"<br>
 #include "XCoreTargetMachine.h"<br>
 #include "llvm/Constants.h"<br>
 #include "llvm/DerivedTypes.h"<br>
@@ -27,6 +26,7 @@<br>
 #include "llvm/CodeGen/MachineConstantPool.h"<br>
 #include "llvm/CodeGen/MachineInstr.h"<br>
 #include "llvm/CodeGen/MachineJumpTableInfo.h"<br>
+#include "llvm/MC/MCAsmInfo.h"<br>
 #include "llvm/MC/MCStreamer.h"<br>
 #include "llvm/MC/MCSymbol.h"<br>
 #include "llvm/Target/Mangler.h"<br>
<br>
Removed: llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.cpp (removed)<br>
@@ -1,29 +0,0 @@<br>
-//===-- XCoreMCAsmInfo.cpp - XCore asm properties -------------------------===//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#include "XCoreMCAsmInfo.h"<br>
-using namespace llvm;<br>
-<br>
-XCoreMCAsmInfo::XCoreMCAsmInfo(const Target &T, StringRef TT) {<br>
-  SupportsDebugInformation = true;<br>
-  Data16bitsDirective = "\t.short\t";<br>
-  Data32bitsDirective = "\t.long\t";<br>
-  Data64bitsDirective = 0;<br>
-  ZeroDirective = "\t.space\t";<br>
-  CommentString = "#";<br>
-<br>
-  PrivateGlobalPrefix = ".L";<br>
-  AscizDirective = ".asciiz";<br>
-  WeakDefDirective = "\t.weak\t";<br>
-  WeakRefDirective = "\t.weak\t";<br>
-<br>
-  // Debug<br>
-  HasLEB128 = true;<br>
-}<br>
-<br>
<br>
Removed: llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h?rev=135218&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h?rev=135218&view=auto</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h (original)<br>
+++ llvm/trunk/lib/Target/XCore/XCoreMCAsmInfo.h (removed)<br>
@@ -1,30 +0,0 @@<br>
-//=====-- XCoreMCAsmInfo.h - XCore asm properties -------------*- C++ -*--====//<br>
-//<br>
-//                     The LLVM Compiler Infrastructure<br>
-//<br>
-// This file is distributed under the University of Illinois Open Source<br>
-// License. See LICENSE.TXT for details.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-//<br>
-// This file contains the declaration of the XCoreMCAsmInfo class.<br>
-//<br>
-//===----------------------------------------------------------------------===//<br>
-<br>
-#ifndef XCORETARGETASMINFO_H<br>
-#define XCORETARGETASMINFO_H<br>
-<br>
-#include "llvm/ADT/StringRef.h"<br>
-#include "llvm/MC/MCAsmInfo.h"<br>
-<br>
-namespace llvm {<br>
-  class Target;<br>
-<br>
-  class XCoreMCAsmInfo : public MCAsmInfo {<br>
-  public:<br>
-    explicit XCoreMCAsmInfo(const Target &T, StringRef TT);<br>
-  };<br>
-<br>
-} // namespace llvm<br>
-<br>
-#endif<br>
<br>
Modified: llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp (original)<br>
+++ llvm/trunk/lib/Target/XCore/XCoreTargetMachine.cpp Thu Jul 14 18:50:31 2011<br>
@@ -10,7 +10,6 @@<br>
 //<br>
 //===----------------------------------------------------------------------===//<br>
<br>
-#include "XCoreMCAsmInfo.h"<br>
 #include "XCoreTargetMachine.h"<br>
 #include "XCore.h"<br>
 #include "llvm/Module.h"<br>
@@ -42,5 +41,4 @@<br>
 // Force static initialization.<br>
 extern "C" void LLVMInitializeXCoreTarget() {<br>
   RegisterTargetMachine<XCoreTargetMachine> X(TheXCoreTarget);<br>
-  RegisterAsmInfo<XCoreMCAsmInfo> Y(TheXCoreTarget);<br>
 }<br>
<br>
Modified: llvm/trunk/tools/llc/llc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/llc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/llc/llc.cpp (original)<br>
+++ llvm/trunk/tools/llc/llc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -201,6 +201,7 @@<br>
<br>
   // Initialize targets first, so that --version shows registered targets.<br>
   InitializeAllTargets();<br>
+  InitializeAllMCAsmInfos();<br>
   InitializeAllMCInstrInfos();<br>
   InitializeAllMCSubtargetInfos();<br>
   InitializeAllAsmPrinters();<br>
<br>
Modified: llvm/trunk/tools/llvm-mc/Disassembler.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/Disassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/Disassembler.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/llvm-mc/Disassembler.cpp (original)<br>
+++ llvm/trunk/tools/llvm-mc/Disassembler.cpp Thu Jul 14 18:50:31 2011<br>
@@ -132,7 +132,7 @@<br>
                               MemoryBuffer &Buffer,<br>
                               raw_ostream &Out) {<br>
   // Set up disassembler.<br>
-  OwningPtr<const MCAsmInfo> AsmInfo(T.createAsmInfo(Triple));<br>
+  OwningPtr<const MCAsmInfo> AsmInfo(T.createMCAsmInfo(Triple));<br>
<br>
   if (!AsmInfo) {<br>
     errs() << "error: no assembly info for target " << Triple << "\n";<br>
<br>
Modified: llvm/trunk/tools/llvm-mc/llvm-mc.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/llvm-mc.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mc/llvm-mc.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/llvm-mc/llvm-mc.cpp (original)<br>
+++ llvm/trunk/tools/llvm-mc/llvm-mc.cpp Thu Jul 14 18:50:31 2011<br>
@@ -196,7 +196,7 @@<br>
   if (!TheTarget)<br>
     return 1;<br>
<br>
-  llvm::OwningPtr<MCAsmInfo> MAI(TheTarget->createAsmInfo(TripleName));<br>
+  llvm::OwningPtr<MCAsmInfo> MAI(TheTarget->createMCAsmInfo(TripleName));<br>
   assert(MAI && "Unable to create target asm info!");<br>
<br>
   AsmLexer Lexer(*MAI);<br>
@@ -306,7 +306,7 @@<br>
   SrcMgr.setIncludeDirs(IncludeDirs);<br>
<br>
<br>
-  llvm::OwningPtr<MCAsmInfo> MAI(TheTarget->createAsmInfo(TripleName));<br>
+  llvm::OwningPtr<MCAsmInfo> MAI(TheTarget->createMCAsmInfo(TripleName));<br>
   assert(MAI && "Unable to create target asm info!");<br>
<br>
   // Package up features to be passed to target/subtarget<br>
@@ -436,6 +436,7 @@<br>
   llvm::InitializeAllTargetInfos();<br>
   // FIXME: We shouldn't need to initialize the Target(Machine)s.<br>
   llvm::InitializeAllTargets();<br>
+  llvm::InitializeAllMCAsmInfos();<br>
   llvm::InitializeAllMCInstrInfos();<br>
   llvm::InitializeAllMCSubtargetInfos();<br>
   llvm::InitializeAllAsmPrinters();<br>
<br>
Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Thu Jul 14 18:50:31 2011<br>
@@ -174,7 +174,7 @@<br>
     outs() << "Disassembly of section " << name << ":\n\n";<br>
<br>
     // Set up disassembler.<br>
-    OwningPtr<const MCAsmInfo> AsmInfo(TheTarget->createAsmInfo(TripleName));<br>
+    OwningPtr<const MCAsmInfo> AsmInfo(TheTarget->createMCAsmInfo(TripleName));<br>
<br>
     if (!AsmInfo) {<br>
       errs() << "error: no assembly info for target " << TripleName << "\n";<br>
@@ -236,6 +236,7 @@<br>
   llvm::InitializeAllTargetInfos();<br>
   // FIXME: We shouldn't need to initialize the Target(Machine)s.<br>
   llvm::InitializeAllTargets();<br>
+  llvm::InitializeAllMCAsmInfos();<br>
   llvm::InitializeAllAsmPrinters();<br>
   llvm::InitializeAllAsmParsers();<br>
   llvm::InitializeAllDisassemblers();<br>
<br>
Modified: llvm/trunk/tools/lto/LTOCodeGenerator.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOCodeGenerator.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOCodeGenerator.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/lto/LTOCodeGenerator.cpp (original)<br>
+++ llvm/trunk/tools/lto/LTOCodeGenerator.cpp Thu Jul 14 18:50:31 2011<br>
@@ -73,6 +73,7 @@<br>
       _nativeObjectFile(NULL)<br>
 {<br>
     InitializeAllTargets();<br>
+    InitializeAllMCAsmInfos();<br>
     InitializeAllMCSubtargetInfos();<br>
     InitializeAllAsmPrinters();<br>
 }<br>
<br>
Modified: llvm/trunk/tools/lto/LTOModule.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOModule.cpp?rev=135219&r1=135218&r2=135219&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOModule.cpp?rev=135219&r1=135218&r2=135219&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/tools/lto/LTOModule.cpp (original)<br>
+++ llvm/trunk/tools/lto/LTOModule.cpp Thu Jul 14 18:50:31 2011<br>
@@ -135,6 +135,7 @@<br>
   static bool Initialized = false;<br>
   if (!Initialized) {<br>
     InitializeAllTargets();<br>
+    InitializeAllMCAsmInfos();<br>
     InitializeAllMCSubtargetInfos();<br>
     InitializeAllAsmParsers();<br>
     Initialized = true;<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br>