svn commit: r219067 - in vendor/llvm/dist: . cmake/modules docs include/llvm include/llvm/ADT include/llvm/Analysis include/llvm/CodeGen include/llvm/MC include/llvm/MC/MCParser include/llvm/Suppor...

Dimitry Andric dim at FreeBSD.org
Sat Feb 26 22:03:51 UTC 2011


Author: dim
Date: Sat Feb 26 22:03:50 2011
New Revision: 219067
URL: http://svn.freebsd.org/changeset/base/219067

Log:
  Vendor import of llvm trunk r126547:
  http://llvm.org/svn/llvm-project/llvm/trunk@126547

Added:
  vendor/llvm/dist/test/CodeGen/ARM/2009-10-16-Scope.ll
  vendor/llvm/dist/test/CodeGen/ARM/2010-08-04-StackVariable.ll
  vendor/llvm/dist/test/CodeGen/ARM/available_externally.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-10-16-Scope.ll
  vendor/llvm/dist/test/CodeGen/X86/2010-08-04-StackVariable.ll
  vendor/llvm/dist/test/CodeGen/X86/2011-02-21-VirtRegRewriter-KillSubReg.ll
  vendor/llvm/dist/test/CodeGen/X86/2011-02-23-UnfoldBug.ll
  vendor/llvm/dist/test/CodeGen/X86/phi-constants.ll
  vendor/llvm/dist/test/CodeGen/X86/vec_anyext.ll
  vendor/llvm/dist/test/CodeGen/X86/vec_sext.ll
  vendor/llvm/dist/test/CodeGen/X86/vec_zext.ll
  vendor/llvm/dist/test/CodeGen/XCore/events.ll
  vendor/llvm/dist/test/FrontendC/2011-02-21-DATA-common.c
  vendor/llvm/dist/test/MC/ARM/bracket-darwin.s
  vendor/llvm/dist/test/MC/ARM/bracket-exprs.s
  vendor/llvm/dist/test/MC/ARM/darwin-ARM-reloc.s
  vendor/llvm/dist/test/MC/ARM/darwin-Thumb-reloc.s
  vendor/llvm/dist/test/MC/ARM/full_line_comment.s
  vendor/llvm/dist/test/MC/Disassembler/X86/enhanced.txt
  vendor/llvm/dist/test/MC/ELF/bracket-exprs.s
  vendor/llvm/dist/test/MC/ELF/bracket.s
  vendor/llvm/dist/test/MC/ELF/org.s
  vendor/llvm/dist/test/MC/ELF/pr9292.s
  vendor/llvm/dist/test/MC/ELF/relocation-pc.s
  vendor/llvm/dist/test/Transforms/InstCombine/or-xor.ll
  vendor/llvm/dist/test/Transforms/LoopDeletion/multiple-exits.ll
  vendor/llvm/dist/test/Transforms/SimplifyCFG/select-gep.ll
  vendor/llvm/dist/utils/llvmbuild   (contents, props changed)
Deleted:
  vendor/llvm/dist/test/CodeGen/X86/codegen-dce.ll
  vendor/llvm/dist/test/CodeGen/X86/dbg-live-in-location.ll
  vendor/llvm/dist/test/CodeGen/X86/non-globl-eh-frame.ll
  vendor/llvm/dist/test/DebugInfo/2009-03-03-deadstore.ll
  vendor/llvm/dist/test/DebugInfo/2009-03-03-store-to-load-forward.ll
  vendor/llvm/dist/test/DebugInfo/2009-10-16-Scope.ll
  vendor/llvm/dist/test/DebugInfo/2010-08-04-StackVariable.ll
  vendor/llvm/dist/test/MC/AsmParser/full_line_comment.s
  vendor/llvm/dist/test/MC/AsmParser/paren.s
  vendor/llvm/dist/test/MC/MachO/darwin-ARM-reloc.s
  vendor/llvm/dist/test/MC/MachO/darwin-Thumb-reloc.s
  vendor/llvm/dist/test/Transforms/InstCombine/2003-11-13-ConstExprCastCall.ll
Modified:
  vendor/llvm/dist/CMakeLists.txt
  vendor/llvm/dist/Makefile.rules
  vendor/llvm/dist/cmake/modules/AddLLVM.cmake
  vendor/llvm/dist/cmake/modules/CMakeLists.txt
  vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake
  vendor/llvm/dist/cmake/modules/LLVM.cmake
  vendor/llvm/dist/docs/GettingStartedVS.html
  vendor/llvm/dist/docs/LangRef.html
  vendor/llvm/dist/include/llvm/ADT/APInt.h
  vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableIntervalMap.h
  vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
  vendor/llvm/dist/include/llvm/Analysis/DIBuilder.h
  vendor/llvm/dist/include/llvm/CMakeLists.txt
  vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
  vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineConstantPool.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h
  vendor/llvm/dist/include/llvm/IntrinsicsXCore.td
  vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h
  vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParserExtension.h
  vendor/llvm/dist/include/llvm/MC/MCStreamer.h
  vendor/llvm/dist/include/llvm/Support/NoFolder.h
  vendor/llvm/dist/include/llvm/Support/PathV1.h
  vendor/llvm/dist/include/llvm/Target/TargetLowering.h
  vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h
  vendor/llvm/dist/lib/Analysis/DIBuilder.cpp
  vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp
  vendor/llvm/dist/lib/CodeGen/AllocationOrder.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp
  vendor/llvm/dist/lib/CodeGen/InlineSpiller.cpp
  vendor/llvm/dist/lib/CodeGen/LowerSubregs.cpp
  vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp
  vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp
  vendor/llvm/dist/lib/CodeGen/RegAllocBase.h
  vendor/llvm/dist/lib/CodeGen/RegAllocBasic.cpp
  vendor/llvm/dist/lib/CodeGen/RegAllocGreedy.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  vendor/llvm/dist/lib/CodeGen/SplitKit.cpp
  vendor/llvm/dist/lib/CodeGen/SplitKit.h
  vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  vendor/llvm/dist/lib/CodeGen/VirtRegRewriter.cpp
  vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfo.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp
  vendor/llvm/dist/lib/MC/MCDisassembler/EDOperand.cpp
  vendor/llvm/dist/lib/MC/MCDisassembler/EDToken.cpp
  vendor/llvm/dist/lib/MC/MCObjectStreamer.cpp
  vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp
  vendor/llvm/dist/lib/MC/MCParser/ELFAsmParser.cpp
  vendor/llvm/dist/lib/MC/MCParser/MCAsmParserExtension.cpp
  vendor/llvm/dist/lib/MC/MCSectionMachO.cpp
  vendor/llvm/dist/lib/MC/MCStreamer.cpp
  vendor/llvm/dist/lib/Support/APInt.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMHazardRecognizer.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrFormats.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp
  vendor/llvm/dist/lib/Target/ARM/MLxExpansionPass.cpp
  vendor/llvm/dist/lib/Target/ARM/NEONMoveFix.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaISelLowering.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaISelLowering.h
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinISelLowering.cpp
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinISelLowering.h
  vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.cpp
  vendor/llvm/dist/lib/Target/CellSPU/SPUISelLowering.h
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelLowering.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.h
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h
  vendor/llvm/dist/lib/Target/README.txt
  vendor/llvm/dist/lib/Target/Sparc/DelaySlotFiller.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.h
  vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.h
  vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp
  vendor/llvm/dist/lib/Target/X86/Disassembler/X86Disassembler.cpp
  vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
  vendor/llvm/dist/lib/Target/X86/README.txt
  vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h
  vendor/llvm/dist/lib/Target/X86/X86InstrFormats.td
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td
  vendor/llvm/dist/lib/Target/X86/X86InstrSystem.td
  vendor/llvm/dist/lib/Target/X86/X86MCCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp
  vendor/llvm/dist/lib/Target/X86/X86Subtarget.h
  vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.h
  vendor/llvm/dist/lib/Target/XCore/XCoreInstrInfo.td
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopDeletion.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp
  vendor/llvm/dist/lib/Transforms/Utils/Local.cpp
  vendor/llvm/dist/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp
  vendor/llvm/dist/test/CMakeLists.txt
  vendor/llvm/dist/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
  vendor/llvm/dist/test/CodeGen/ARM/fcopysign.ll
  vendor/llvm/dist/test/CodeGen/ARM/vstlane.ll
  vendor/llvm/dist/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
  vendor/llvm/dist/test/CodeGen/SPARC/2011-01-22-SRet.ll
  vendor/llvm/dist/test/CodeGen/X86/2010-06-28-DbgEntryPC.ll
  vendor/llvm/dist/test/CodeGen/X86/add.ll
  vendor/llvm/dist/test/CodeGen/X86/break-sse-dep.ll
  vendor/llvm/dist/test/CodeGen/X86/codegen-prepare-extload.ll
  vendor/llvm/dist/test/CodeGen/X86/constant-pool-sharing.ll
  vendor/llvm/dist/test/CodeGen/X86/ctpop-combine.ll
  vendor/llvm/dist/test/CodeGen/X86/dbg-value-location.ll
  vendor/llvm/dist/test/CodeGen/X86/divide-by-constant.ll
  vendor/llvm/dist/test/CodeGen/X86/dll-linkage.ll
  vendor/llvm/dist/test/CodeGen/X86/fast-isel-cmp-branch.ll
  vendor/llvm/dist/test/CodeGen/X86/fast-isel-gep.ll
  vendor/llvm/dist/test/CodeGen/X86/gather-addresses.ll
  vendor/llvm/dist/test/CodeGen/X86/i128-ret.ll
  vendor/llvm/dist/test/CodeGen/X86/lea.ll
  vendor/llvm/dist/test/CodeGen/X86/lsr-overflow.ll
  vendor/llvm/dist/test/CodeGen/X86/lsr-reuse-trunc.ll
  vendor/llvm/dist/test/CodeGen/X86/memcmp.ll
  vendor/llvm/dist/test/CodeGen/X86/movgs.ll
  vendor/llvm/dist/test/CodeGen/X86/optimize-max-3.ll
  vendor/llvm/dist/test/CodeGen/X86/pr9127.ll
  vendor/llvm/dist/test/CodeGen/X86/red-zone.ll
  vendor/llvm/dist/test/CodeGen/X86/remat-mov-0.ll
  vendor/llvm/dist/test/CodeGen/X86/test-shrink.ll
  vendor/llvm/dist/test/CodeGen/X86/use-add-flags.ll
  vendor/llvm/dist/test/CodeGen/X86/vec_shuffle-37.ll
  vendor/llvm/dist/test/CodeGen/X86/xor.ll
  vendor/llvm/dist/test/CodeGen/XCore/resources.ll
  vendor/llvm/dist/test/MC/AsmParser/exprs.s
  vendor/llvm/dist/test/MC/X86/x86-32.s
  vendor/llvm/dist/test/MC/X86/x86-64.s
  vendor/llvm/dist/test/Transforms/InstCombine/call.ll
  vendor/llvm/dist/test/lit.cfg
  vendor/llvm/dist/tools/bugpoint/OptimizerDriver.cpp
  vendor/llvm/dist/tools/gold/gold-plugin.cpp
  vendor/llvm/dist/tools/llvm-config/CMakeLists.txt
  vendor/llvm/dist/tools/llvm-mc/Disassembler.cpp
  vendor/llvm/dist/tools/lto/LTOCodeGenerator.cpp
  vendor/llvm/dist/tools/lto/LTOCodeGenerator.h
  vendor/llvm/dist/tools/lto/LTOModule.cpp
  vendor/llvm/dist/tools/lto/lto.cpp
  vendor/llvm/dist/unittests/ADT/APIntTest.cpp
  vendor/llvm/dist/unittests/CMakeLists.txt
  vendor/llvm/dist/unittests/Transforms/Utils/Local.cpp
  vendor/llvm/dist/utils/FileCheck/CMakeLists.txt
  vendor/llvm/dist/utils/FileUpdate/CMakeLists.txt
  vendor/llvm/dist/utils/KillTheDoctor/CMakeLists.txt
  vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.cpp
  vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.h
  vendor/llvm/dist/utils/TableGen/CMakeLists.txt
  vendor/llvm/dist/utils/TableGen/ClangSACheckersEmitter.cpp
  vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp
  vendor/llvm/dist/utils/buildit/GNUmakefile
  vendor/llvm/dist/utils/buildit/build_llvm
  vendor/llvm/dist/utils/count/CMakeLists.txt
  vendor/llvm/dist/utils/not/CMakeLists.txt
  vendor/llvm/dist/utils/valgrind/i386-pc-linux-gnu.supp

Modified: vendor/llvm/dist/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/CMakeLists.txt	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/CMakeLists.txt	Sat Feb 26 22:03:50 2011	(r219067)
@@ -12,6 +12,8 @@ set(CMAKE_MODULE_PATH
 
 set(PACKAGE_VERSION "2.9")
 
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
 include(VersionFromVCS)
 
 option(LLVM_APPEND_VC_REV
@@ -238,7 +240,6 @@ endif()
 
 option(LLVM_BUILD_TESTS
   "Build LLVM unit tests. If OFF, just generate build targes." OFF)
-option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)
 if( LLVM_INCLUDE_TESTS )
   add_subdirectory(test)
   add_subdirectory(utils/unittest)

Modified: vendor/llvm/dist/Makefile.rules
==============================================================================
--- vendor/llvm/dist/Makefile.rules	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/Makefile.rules	Sat Feb 26 22:03:50 2011	(r219067)
@@ -973,7 +973,9 @@ $(NativeExportsFile): $(EXPORTED_SYMBOL_
 	$(Verb) echo "{" > $@
 	$(Verb) grep -q "\<" $< && echo "  global:" >> $@ || :
 	$(Verb) sed -e 's/$$/;/' -e 's/^/    /' < $< >> $@
+ifneq ($(HOST_OS),OpenBSD)
 	$(Verb) echo "  local: *;" >> $@
+endif
 	$(Verb) echo "};" >> $@
 clean-local::
 	-$(Verb) $(RM) -f $(NativeExportsFile)

Modified: vendor/llvm/dist/cmake/modules/AddLLVM.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/cmake/modules/AddLLVM.cmake	Sat Feb 26 22:03:50 2011	(r219067)
@@ -5,7 +5,6 @@ macro(add_llvm_library name)
   llvm_process_sources( ALL_FILES ${ARGN} )
   add_library( ${name} ${ALL_FILES} )
   set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
-  set_property( GLOBAL APPEND PROPERTY LLVM_LIB_TARGETS ${name} )
   if( LLVM_COMMON_DEPENDS )
     add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
   endif( LLVM_COMMON_DEPENDS )
@@ -25,6 +24,7 @@ macro(add_llvm_library name)
   if( CURRENT_LLVM_TARGET )
     add_dependencies(${name} ${CURRENT_LLVM_TARGET})
   endif()
+  set_target_properties(${name} PROPERTIES FOLDER "Libraries")
 endmacro(add_llvm_library name)
 
 
@@ -55,6 +55,8 @@ ${name} ignored.")
       LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
       ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
   endif()
+
+  set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
 endmacro(add_llvm_loadable_module name)
 
 
@@ -95,6 +97,7 @@ macro(add_llvm_tool name)
   if( LLVM_BUILD_TOOLS )
     install(TARGETS ${name} RUNTIME DESTINATION bin)
   endif()
+  set_target_properties(${name} PROPERTIES FOLDER "Tools")
 endmacro(add_llvm_tool name)
 
 
@@ -107,9 +110,16 @@ macro(add_llvm_example name)
   if( LLVM_BUILD_EXAMPLES )
     install(TARGETS ${name} RUNTIME DESTINATION examples)
   endif()
+  set_target_properties(${name} PROPERTIES FOLDER "Examples")
 endmacro(add_llvm_example name)
 
 
+macro(add_llvm_utility name)
+  add_llvm_executable(${name} ${ARGN})
+  set_target_properties(${name} PROPERTIES FOLDER "Utils")
+endmacro(add_llvm_utility name)
+
+
 macro(add_llvm_target target_name)
   if( TABLEGEN_OUTPUT )
     add_custom_target(${target_name}Table_gen
@@ -120,6 +130,7 @@ macro(add_llvm_target target_name)
   add_llvm_library(LLVM${target_name} ${ARGN} ${TABLEGEN_OUTPUT})
   if ( TABLEGEN_OUTPUT )
     add_dependencies(LLVM${target_name} ${target_name}Table_gen)
+    set_target_properties(${target_name}Table_gen PROPERTIES FOLDER "Tablegenning")
   endif (TABLEGEN_OUTPUT)
   set( CURRENT_LLVM_TARGET LLVM${target_name} )
 endmacro(add_llvm_target)

Modified: vendor/llvm/dist/cmake/modules/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/cmake/modules/CMakeLists.txt	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/cmake/modules/CMakeLists.txt	Sat Feb 26 22:03:50 2011	(r219067)
@@ -1,7 +1,6 @@
 set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/share/llvm/cmake")
 
 get_property(llvm_libs GLOBAL PROPERTY LLVM_LIBS)
-get_property(llvm_lib_targets GLOBAL PROPERTY LLVM_LIB_TARGETS)
 
 configure_file(
   LLVM.cmake

Modified: vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/cmake/modules/HandleLLVMOptions.cmake	Sat Feb 26 22:03:50 2011	(r219067)
@@ -159,3 +159,4 @@ endif( MSVC )
 add_llvm_definitions( -D__STDC_LIMIT_MACROS )
 add_llvm_definitions( -D__STDC_CONSTANT_MACROS )
 
+option(LLVM_INCLUDE_TESTS "Generate build targets for the LLVM unit tests." ON)

Modified: vendor/llvm/dist/cmake/modules/LLVM.cmake
==============================================================================
--- vendor/llvm/dist/cmake/modules/LLVM.cmake	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/cmake/modules/LLVM.cmake	Sat Feb 26 22:03:50 2011	(r219067)
@@ -4,14 +4,14 @@ set(LLVM_PACKAGE_VERSION @PACKAGE_VERSIO
 
 set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
 
-set(llvm_libs @llvm_libs@)
-
-set(llvm_lib_targets @llvm_lib_targets@)
+set_property( GLOBAL PROPERTY LLVM_LIBS "@llvm_libs@")
 
 set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
 
 set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)
 
+set(TARGET_TRIPLE "@TARGET_TRIPLE@")
+
 set(LLVM_TOOLS_BINARY_DIR @LLVM_TOOLS_BINARY_DIR@)
 
 set(LLVM_ENABLE_THREADS @LLVM_ENABLE_THREADS@)

Modified: vendor/llvm/dist/docs/GettingStartedVS.html
==============================================================================
--- vendor/llvm/dist/docs/GettingStartedVS.html	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/docs/GettingStartedVS.html	Sat Feb 26 22:03:50 2011	(r219067)
@@ -348,8 +348,6 @@ out:</p>
 <ul>
   <li><a href="http://llvm.org/">LLVM homepage</a></li>
   <li><a href="http://llvm.org/doxygen/">LLVM doxygen tree</a></li>
-  <li><a href="http://llvm.org/docs/Projects.html">Starting a Project
-      that Uses LLVM</a></li>
 </ul>
 
 </div>
@@ -365,7 +363,7 @@ out:</p>
 
   <a href="mailto:jeffc at jolt-lang.org">Jeff Cohen</a><br>
   <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-02-09 05:19:28 +0100 (Wed, 09 Feb 2011) $
+  Last modified: $Date: 2011-02-20 16:34:12 +0100 (Sun, 20 Feb 2011) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/docs/LangRef.html	Sat Feb 26 22:03:50 2011	(r219067)
@@ -4575,12 +4575,12 @@ entry:
    type <tt>ty2</tt>.</p>
 
 <h5>Arguments:</h5>
-<p>The '<tt>trunc</tt>' instruction takes a <tt>value</tt> to trunc, which must
-   be an <a href="#t_integer">integer</a> type, and a type that specifies the
-   size and type of the result, which must be
-   an <a href="#t_integer">integer</a> type. The bit size of <tt>value</tt> must
-   be larger than the bit size of <tt>ty2</tt>. Equal sized types are not
-   allowed.</p>
+<p>The '<tt>trunc</tt>' instruction takes a value to trunc, and a type to trunc it to.
+   Both types must be of <a href="#t_integer">integer</a> types, or vectors
+   of the same number of integers.
+   The bit size of the <tt>value</tt> must be larger than
+   the bit size of the destination type, <tt>ty2</tt>.
+   Equal sized types are not allowed.</p>
 
 <h5>Semantics:</h5>
 <p>The '<tt>trunc</tt>' instruction truncates the high order bits
@@ -4590,9 +4590,10 @@ entry:
 
 <h5>Example:</h5>
 <pre>
-  %X = trunc i32 257 to i8              <i>; yields i8:1</i>
-  %Y = trunc i32 123 to i1              <i>; yields i1:true</i>
-  %Z = trunc i32 122 to i1              <i>; yields i1:false</i>
+  %X = trunc i32 257 to i8                        <i>; yields i8:1</i>
+  %Y = trunc i32 123 to i1                        <i>; yields i1:true</i>
+  %Z = trunc i32 122 to i1                        <i>; yields i1:false</i>
+  %W = trunc &lt;2 x i16&gt; &lt;i16 8, i16 7&gt; to &lt;2 x i8&gt; <i>; yields &lt;i8 8, i8 7&gt;</i>
 </pre>
 
 </div>
@@ -4614,10 +4615,11 @@ entry:
 
 
 <h5>Arguments:</h5>
-<p>The '<tt>zext</tt>' instruction takes a value to cast, which must be of
-   <a href="#t_integer">integer</a> type, and a type to cast it to, which must
-   also be of <a href="#t_integer">integer</a> type. The bit size of the
-   <tt>value</tt> must be smaller than the bit size of the destination type,
+<p>The '<tt>zext</tt>' instruction takes a value to cast, and a type to cast it to.
+   Both types must be of <a href="#t_integer">integer</a> types, or vectors
+   of the same number of integers.
+   The bit size of the <tt>value</tt> must be smaller than
+   the bit size of the destination type,
    <tt>ty2</tt>.</p>
 
 <h5>Semantics:</h5>
@@ -4630,6 +4632,7 @@ entry:
 <pre>
   %X = zext i32 257 to i64              <i>; yields i64:257</i>
   %Y = zext i1 true to i32              <i>; yields i32:1</i>
+  %Z = zext &lt;2 x i16&gt; &lt;i16 8, i16 7&gt; to &lt;2 x i32&gt; <i>; yields &lt;i32 8, i32 7&gt;</i>
 </pre>
 
 </div>
@@ -4649,10 +4652,11 @@ entry:
 <p>The '<tt>sext</tt>' sign extends <tt>value</tt> to the type <tt>ty2</tt>.</p>
 
 <h5>Arguments:</h5>
-<p>The '<tt>sext</tt>' instruction takes a value to cast, which must be of
-   <a href="#t_integer">integer</a> type, and a type to cast it to, which must
-   also be of <a href="#t_integer">integer</a> type.  The bit size of the
-   <tt>value</tt> must be smaller than the bit size of the destination type,
+<p>The '<tt>sext</tt>' instruction takes a value to cast, and a type to cast it to.
+   Both types must be of <a href="#t_integer">integer</a> types, or vectors
+   of the same number of integers.
+   The bit size of the <tt>value</tt> must be smaller than
+   the bit size of the destination type,
    <tt>ty2</tt>.</p>
 
 <h5>Semantics:</h5>
@@ -4666,6 +4670,7 @@ entry:
 <pre>
   %X = sext i8  -1 to i16              <i>; yields i16   :65535</i>
   %Y = sext i1 true to i32             <i>; yields i32:-1</i>
+  %Z = sext &lt;2 x i16&gt; &lt;i16 8, i16 7&gt; to &lt;2 x i32&gt; <i>; yields &lt;i32 8, i32 7&gt;</i>
 </pre>
 
 </div>
@@ -7781,7 +7786,7 @@ LLVM</a>.</p>
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-02-09 17:44:44 +0100 (Wed, 09 Feb 2011) $
+  Last modified: $Date: 2011-02-24 22:01:34 +0100 (Thu, 24 Feb 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/include/llvm/ADT/APInt.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/APInt.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/ADT/APInt.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -1193,6 +1193,12 @@ public:
   /// @brief Count the number of leading one bits.
   unsigned countLeadingOnes() const;
 
+  /// Computes the number of leading bits of this APInt that are equal to its
+  /// sign bit.
+  unsigned getNumSignBits() const {
+    return isNegative() ? countLeadingOnes() : countLeadingZeros();
+  }
+
   /// countTrailingZeros - This function is an APInt version of the
   /// countTrailingZeros_{32,64} functions in MathExtras.h. It counts
   /// the number of zeros from the least significant bit to the first set bit.

Modified: vendor/llvm/dist/include/llvm/ADT/ArrayRef.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ArrayRef.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/ADT/ArrayRef.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -64,7 +64,10 @@ namespace llvm {
     /*implicit*/ ArrayRef(const std::vector<T> &Vec)
       : Data(Vec.empty() ? (T*)0 : &Vec[0]), Length(Vec.size()) {}
     
-    // TODO: C arrays.
+    /// Construct an ArrayRef from a C array.
+    template <size_t N>
+    /*implicit*/ ArrayRef(const T (&Arr)[N])
+      : Data(Arr), Length(N) {}
     
     /// @}
     /// @name Simple Operations

Modified: vendor/llvm/dist/include/llvm/ADT/ImmutableIntervalMap.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ImmutableIntervalMap.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/ADT/ImmutableIntervalMap.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -215,7 +215,7 @@ public:
 
     ImmutableIntervalMap add(ImmutableIntervalMap Old, 
                              key_type_ref K, data_type_ref D) {
-      TreeTy *T = F.add(Old.Root, std::make_pair<key_type, data_type>(K, D));
+      TreeTy *T = F.add(Old.Root, std::pair<key_type, data_type>(K, D));
       return ImmutableIntervalMap(F.getCanonicalTree(T));
     }
 

Modified: vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h
==============================================================================
--- vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/ADT/ImmutableMap.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -108,7 +108,7 @@ public:
     ImmutableMap getEmptyMap() { return ImmutableMap(F.getEmptyTree()); }
 
     ImmutableMap add(ImmutableMap Old, key_type_ref K, data_type_ref D) {
-      TreeTy *T = F.add(Old.Root, std::make_pair<key_type,data_type>(K,D));
+      TreeTy *T = F.add(Old.Root, std::pair<key_type,data_type>(K,D));
       return ImmutableMap(Canonicalize ? F.getCanonicalTree(T): T);
     }
 

Modified: vendor/llvm/dist/include/llvm/Analysis/DIBuilder.h
==============================================================================
--- vendor/llvm/dist/include/llvm/Analysis/DIBuilder.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/Analysis/DIBuilder.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -58,7 +58,7 @@ namespace llvm {
     const MDNode *getCU() { return TheCU; }
     enum ComplexAddrKind { OpPlus=1, OpDeref };
 
-    /// CreateCompileUnit - A CompileUnit provides an anchor for all debugging
+    /// createCompileUnit - A CompileUnit provides an anchor for all debugging
     /// information generated during this instance of compilation.
     /// @param Lang     Source programming language, eg. dwarf::DW_LANG_C99
     /// @param File     File name
@@ -72,67 +72,67 @@ namespace llvm {
     ///                 by a tool analyzing generated debugging information.
     /// @param RV       This indicates runtime version for languages like 
     ///                 Objective-C.
-    void CreateCompileUnit(unsigned Lang, StringRef File, StringRef Dir, 
+    void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir, 
                            StringRef Producer,
                            bool isOptimized, StringRef Flags, unsigned RV);
 
-    /// CreateFile - Create a file descriptor to hold debugging information
+    /// createFile - Create a file descriptor to hold debugging information
     /// for a file.
-    DIFile CreateFile(StringRef Filename, StringRef Directory);
+    DIFile createFile(StringRef Filename, StringRef Directory);
                            
-    /// CreateEnumerator - Create a single enumerator value.
-    DIEnumerator CreateEnumerator(StringRef Name, uint64_t Val);
+    /// createEnumerator - Create a single enumerator value.
+    DIEnumerator createEnumerator(StringRef Name, uint64_t Val);
 
-    /// CreateBasicType - Create debugging information entry for a basic 
+    /// createBasicType - Create debugging information entry for a basic 
     /// type.
     /// @param Name        Type name.
     /// @param SizeInBits  Size of the type.
     /// @param AlignInBits Type alignment.
     /// @param Encoding    DWARF encoding code, e.g. dwarf::DW_ATE_float.
-    DIType CreateBasicType(StringRef Name, uint64_t SizeInBits, 
+    DIType createBasicType(StringRef Name, uint64_t SizeInBits, 
                            uint64_t AlignInBits, unsigned Encoding);
 
-    /// CreateQualifiedType - Create debugging information entry for a qualified
+    /// createQualifiedType - Create debugging information entry for a qualified
     /// type, e.g. 'const int'.
     /// @param Tag         Tag identifing type, e.g. dwarf::TAG_volatile_type
     /// @param FromTy      Base Type.
-    DIType CreateQualifiedType(unsigned Tag, DIType FromTy);
+    DIType createQualifiedType(unsigned Tag, DIType FromTy);
 
-    /// CreatePointerType - Create debugging information entry for a pointer.
+    /// createPointerType - Create debugging information entry for a pointer.
     /// @param PointeeTy   Type pointed by this pointer.
     /// @param SizeInBits  Size.
     /// @param AlignInBits Alignment. (optional)
     /// @param Name        Pointer type name. (optional)
-    DIType CreatePointerType(DIType PointeeTy, uint64_t SizeInBits,
+    DIType createPointerType(DIType PointeeTy, uint64_t SizeInBits,
                              uint64_t AlignInBits = 0, 
                              StringRef Name = StringRef());
 
-    /// CreateReferenceType - Create debugging information entry for a c++
+    /// createReferenceType - Create debugging information entry for a c++
     /// style reference.
-    DIType CreateReferenceType(DIType RTy);
+    DIType createReferenceType(DIType RTy);
 
-    /// CreateTypedef - Create debugging information entry for a typedef.
+    /// createTypedef - Create debugging information entry for a typedef.
     /// @param Ty          Original type.
     /// @param Name        Typedef name.
     /// @param File        File where this type is defined.
     /// @param LineNo      Line number.
-    DIType CreateTypedef(DIType Ty, StringRef Name, DIFile File, 
+    DIType createTypedef(DIType Ty, StringRef Name, DIFile File, 
                          unsigned LineNo);
 
-    /// CreateFriend - Create debugging information entry for a 'friend'.
-    DIType CreateFriend(DIType Ty, DIType FriendTy);
+    /// createFriend - Create debugging information entry for a 'friend'.
+    DIType createFriend(DIType Ty, DIType FriendTy);
 
-    /// CreateInheritance - Create debugging information entry to establish
+    /// createInheritance - Create debugging information entry to establish
     /// inheritance relationship between two types.
     /// @param Ty           Original type.
     /// @param BaseTy       Base type. Ty is inherits from base.
     /// @param BaseOffset   Base offset.
     /// @param Flags        Flags to describe inheritance attribute, 
     ///                     e.g. private
-    DIType CreateInheritance(DIType Ty, DIType BaseTy, uint64_t BaseOffset,
+    DIType createInheritance(DIType Ty, DIType BaseTy, uint64_t BaseOffset,
                              unsigned Flags);
 
-    /// CreateMemberType - Create debugging information entry for a member.
+    /// createMemberType - Create debugging information entry for a member.
     /// @param Name         Member name.
     /// @param File         File where this member is defined.
     /// @param LineNo       Line number.
@@ -141,12 +141,12 @@ namespace llvm {
     /// @param OffsetInBits Member offset.
     /// @param Flags        Flags to encode member attribute, e.g. private
     /// @param Ty           Parent type.
-    DIType CreateMemberType(StringRef Name, DIFile File,
+    DIType createMemberType(StringRef Name, DIFile File,
                             unsigned LineNo, uint64_t SizeInBits, 
                             uint64_t AlignInBits, uint64_t OffsetInBits, 
                             unsigned Flags, DIType Ty);
 
-    /// CreateClassType - Create debugging information entry for a class.
+    /// createClassType - Create debugging information entry for a class.
     /// @param Scope        Scope in which this class is defined.
     /// @param Name         class name.
     /// @param File         File where this member is defined.
@@ -161,14 +161,14 @@ namespace llvm {
     ///                     DW_AT_containing_type. See DWARF documentation
     ///                     for more info.
     /// @param TemplateParms Template type parameters.
-    DIType CreateClassType(DIDescriptor Scope, StringRef Name, DIFile File,
+    DIType createClassType(DIDescriptor Scope, StringRef Name, DIFile File,
                            unsigned LineNumber, uint64_t SizeInBits,
                            uint64_t AlignInBits, uint64_t OffsetInBits,
                            unsigned Flags, DIType DerivedFrom, 
                            DIArray Elements, MDNode *VTableHolder = 0,
                            MDNode *TemplateParms = 0);
 
-    /// CreateStructType - Create debugging information entry for a struct.
+    /// createStructType - Create debugging information entry for a struct.
     /// @param Scope        Scope in which this struct is defined.
     /// @param Name         Struct name.
     /// @param File         File where this member is defined.
@@ -178,12 +178,12 @@ namespace llvm {
     /// @param Flags        Flags to encode member attribute, e.g. private
     /// @param Elements     Struct elements.
     /// @param RunTimeLang  Optional parameter, Objective-C runtime version.
-    DIType CreateStructType(DIDescriptor Scope, StringRef Name, DIFile File,
+    DIType createStructType(DIDescriptor Scope, StringRef Name, DIFile File,
                             unsigned LineNumber, uint64_t SizeInBits,
                             uint64_t AlignInBits, unsigned Flags,
                             DIArray Elements, unsigned RunTimeLang = 0);
 
-    /// CreateUnionType - Create debugging information entry for an union.
+    /// createUnionType - Create debugging information entry for an union.
     /// @param Scope        Scope in which this union is defined.
     /// @param Name         Union name.
     /// @param File         File where this member is defined.
@@ -193,12 +193,12 @@ namespace llvm {
     /// @param Flags        Flags to encode member attribute, e.g. private
     /// @param Elements     Union elements.
     /// @param RunTimeLang  Optional parameter, Objective-C runtime version.
-    DIType CreateUnionType(DIDescriptor Scope, StringRef Name, DIFile File,
+    DIType createUnionType(DIDescriptor Scope, StringRef Name, DIFile File,
                            unsigned LineNumber, uint64_t SizeInBits,
                            uint64_t AlignInBits, unsigned Flags,
                            DIArray Elements, unsigned RunTimeLang = 0);
 
-    /// CreateTemplateTypeParameter - Create debugging information for template
+    /// createTemplateTypeParameter - Create debugging information for template
     /// type parameter.
     /// @param Scope        Scope in which this type is defined.
     /// @param Name         Type parameter name.
@@ -207,11 +207,11 @@ namespace llvm {
     /// @param LineNo       Line number.
     /// @param ColumnNo     Column Number.
     DITemplateTypeParameter
-    CreateTemplateTypeParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
+    createTemplateTypeParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
                                 MDNode *File = 0, unsigned LineNo = 0,
                                 unsigned ColumnNo = 0);
 
-    /// CreateTemplateValueParameter - Create debugging information for template
+    /// createTemplateValueParameter - Create debugging information for template
     /// value parameter.
     /// @param Scope        Scope in which this type is defined.
     /// @param Name         Value parameter name.
@@ -221,28 +221,28 @@ namespace llvm {
     /// @param LineNo       Line number.
     /// @param ColumnNo     Column Number.
     DITemplateValueParameter
-    CreateTemplateValueParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
+    createTemplateValueParameter(DIDescriptor Scope, StringRef Name, DIType Ty,
                                  uint64_t Value,
                                  MDNode *File = 0, unsigned LineNo = 0,
                                  unsigned ColumnNo = 0);
 
-    /// CreateArrayType - Create debugging information entry for an array.
+    /// createArrayType - Create debugging information entry for an array.
     /// @param Size         Array size.
     /// @param AlignInBits  Alignment.
     /// @param Ty           Element type.
     /// @param Subscripts   Subscripts.
-    DIType CreateArrayType(uint64_t Size, uint64_t AlignInBits, 
+    DIType createArrayType(uint64_t Size, uint64_t AlignInBits, 
                            DIType Ty, DIArray Subscripts);
 
-    /// CreateVectorType - Create debugging information entry for a vector type.
+    /// createVectorType - Create debugging information entry for a vector type.
     /// @param Size         Array size.
     /// @param AlignInBits  Alignment.
     /// @param Ty           Element type.
     /// @param Subscripts   Subscripts.
-    DIType CreateVectorType(uint64_t Size, uint64_t AlignInBits, 
+    DIType createVectorType(uint64_t Size, uint64_t AlignInBits, 
                             DIType Ty, DIArray Subscripts);
 
-    /// CreateEnumerationType - Create debugging information entry for an 
+    /// createEnumerationType - Create debugging information entry for an 
     /// enumeration.
     /// @param Scope        Scope in which this enumeration is defined.
     /// @param Name         Union name.
@@ -251,40 +251,40 @@ namespace llvm {
     /// @param SizeInBits   Member size.
     /// @param AlignInBits  Member alignment.
     /// @param Elements     Enumeration elements.
-    DIType CreateEnumerationType(DIDescriptor Scope, StringRef Name, 
+    DIType createEnumerationType(DIDescriptor Scope, StringRef Name, 
                                  DIFile File, unsigned LineNumber, 
                                  uint64_t SizeInBits, 
                                  uint64_t AlignInBits, DIArray Elements);
 
-    /// CreateSubroutineType - Create subroutine type.
+    /// createSubroutineType - Create subroutine type.
     /// @param File          File in which this subroutine is defined.
     /// @param ParamterTypes An array of subroutine parameter types. This
     ///                      includes return type at 0th index.
-    DIType CreateSubroutineType(DIFile File, DIArray ParameterTypes);
+    DIType createSubroutineType(DIFile File, DIArray ParameterTypes);
 
-    /// CreateArtificialType - Create a new DIType with "artificial" flag set.
-    DIType CreateArtificialType(DIType Ty);
+    /// createArtificialType - Create a new DIType with "artificial" flag set.
+    DIType createArtificialType(DIType Ty);
 
-    /// CreateTemporaryType - Create a temporary forward-declared type.
-    DIType CreateTemporaryType();
-    DIType CreateTemporaryType(DIFile F);
+    /// createTemporaryType - Create a temporary forward-declared type.
+    DIType createTemporaryType();
+    DIType createTemporaryType(DIFile F);
 
-    /// RetainType - Retain DIType in a module even if it is not referenced 
+    /// retainType - Retain DIType in a module even if it is not referenced 
     /// through debug info anchors.
-    void RetainType(DIType T);
+    void retainType(DIType T);
 
-    /// CreateUnspecifiedParameter - Create unspeicified type descriptor
+    /// createUnspecifiedParameter - Create unspeicified type descriptor
     /// for a subroutine type.
-    DIDescriptor CreateUnspecifiedParameter();
+    DIDescriptor createUnspecifiedParameter();
 
-    /// GetOrCreateArray - Get a DIArray, create one if required.
-    DIArray GetOrCreateArray(Value *const *Elements, unsigned NumElements);
+    /// getOrCreateArray - Get a DIArray, create one if required.
+    DIArray getOrCreateArray(Value *const *Elements, unsigned NumElements);
 
-    /// GetOrCreateSubrange - Create a descriptor for a value range.  This
+    /// getOrCreateSubrange - Create a descriptor for a value range.  This
     /// implicitly uniques the values returned.
-    DISubrange GetOrCreateSubrange(int64_t Lo, int64_t Hi);
+    DISubrange getOrCreateSubrange(int64_t Lo, int64_t Hi);
 
-    /// CreateGlobalVariable - Create a new descriptor for the specified global.
+    /// createGlobalVariable - Create a new descriptor for the specified global.
     /// @param Name        Name of the variable.
     /// @param File        File where this variable is defined.
     /// @param LineNo      Line number.
@@ -293,11 +293,11 @@ namespace llvm {
     ///                      externally visible or not.
     /// @param Val         llvm::Value of the variable.
     DIGlobalVariable
-    CreateGlobalVariable(StringRef Name, DIFile File, unsigned LineNo,
+    createGlobalVariable(StringRef Name, DIFile File, unsigned LineNo,
                          DIType Ty, bool isLocalToUnit, llvm::Value *Val);
 
 
-    /// CreateStaticVariable - Create a new descriptor for the specified 
+    /// createStaticVariable - Create a new descriptor for the specified 
     /// variable.
     /// @param Conext      Variable scope. 
     /// @param Name        Name of the variable.
@@ -309,12 +309,12 @@ namespace llvm {
     ///                      externally visible or not.
     /// @param Val         llvm::Value of the variable.
     DIGlobalVariable
-    CreateStaticVariable(DIDescriptor Context, StringRef Name, 
+    createStaticVariable(DIDescriptor Context, StringRef Name, 
                          StringRef LinkageName, DIFile File, unsigned LineNo, 
                          DIType Ty, bool isLocalToUnit, llvm::Value *Val);
 
 
-    /// CreateLocalVariable - Create a new descriptor for the specified 
+    /// createLocalVariable - Create a new descriptor for the specified 
     /// local variable.
     /// @param Tag         Dwarf TAG. Usually DW_TAG_auto_variable or
     ///                    DW_TAG_arg_variable.
@@ -326,14 +326,14 @@ namespace llvm {
     /// @param AlwaysPreserve Boolean. Set to true if debug info for this
     ///                       variable should be preserved in optimized build.
     /// @param Flags          Flags, e.g. artificial variable.
-    DIVariable CreateLocalVariable(unsigned Tag, DIDescriptor Scope,
+    DIVariable createLocalVariable(unsigned Tag, DIDescriptor Scope,
                                    StringRef Name,
                                    DIFile File, unsigned LineNo,
                                    DIType Ty, bool AlwaysPreserve = false,
                                    unsigned Flags = 0);
 
 
-    /// CreateComplexVariable - Create a new descriptor for the specified
+    /// createComplexVariable - Create a new descriptor for the specified
     /// variable which has a complex address expression for its address.
     /// @param Tag         Dwarf TAG. Usually DW_TAG_auto_variable or
     ///                    DW_TAG_arg_variable.
@@ -344,12 +344,12 @@ namespace llvm {
     /// @param Ty          Variable Type
     /// @param Addr        A pointer to a vector of complex address operations.
     /// @param NumAddr     Num of address operations in the vector.
-    DIVariable CreateComplexVariable(unsigned Tag, DIDescriptor Scope,
+    DIVariable createComplexVariable(unsigned Tag, DIDescriptor Scope,
                                      StringRef Name, DIFile F, unsigned LineNo,
                                      DIType Ty, Value *const *Addr,
                                      unsigned NumAddr);
 
-    /// CreateFunction - Create a new descriptor for the specified subprogram.
+    /// createFunction - Create a new descriptor for the specified subprogram.
     /// See comments in DISubprogram for descriptions of these fields.
     /// @param Scope         Function scope.
     /// @param Name          Function name.
@@ -363,7 +363,7 @@ namespace llvm {
     ///                      This flags are used to emit dwarf attributes.
     /// @param isOptimized   True if optimization is ON.
     /// @param Fn            llvm::Function pointer.
-    DISubprogram CreateFunction(DIDescriptor Scope, StringRef Name,
+    DISubprogram createFunction(DIDescriptor Scope, StringRef Name,
                                 StringRef LinkageName,
                                 DIFile File, unsigned LineNo,
                                 DIType Ty, bool isLocalToUnit,
@@ -372,7 +372,7 @@ namespace llvm {
                                 bool isOptimized = false,
                                 Function *Fn = 0);
 
-    /// CreateMethod - Create a new descriptor for the specified C++ method.
+    /// createMethod - Create a new descriptor for the specified C++ method.
     /// See comments in DISubprogram for descriptions of these fields.
     /// @param Scope         Function scope.
     /// @param Name          Function name.
@@ -390,7 +390,7 @@ namespace llvm {
     ///                      This flags are used to emit dwarf attributes.
     /// @param isOptimized   True if optimization is ON.
     /// @param Fn            llvm::Function pointer.
-    DISubprogram CreateMethod(DIDescriptor Scope, StringRef Name,
+    DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                               StringRef LinkageName,
                               DIFile File, unsigned LineNo,
                               DIType Ty, bool isLocalToUnit,
@@ -401,55 +401,55 @@ namespace llvm {
                               bool isOptimized = false,
                               Function *Fn = 0);
 
-    /// CreateNameSpace - This creates new descriptor for a namespace
+    /// createNameSpace - This creates new descriptor for a namespace
     /// with the specified parent scope.
     /// @param Scope       Namespace scope
     /// @param Name        Name of this namespace
     /// @param File        Source file
     /// @param LineNo      Line number
-    DINameSpace CreateNameSpace(DIDescriptor Scope, StringRef Name,
+    DINameSpace createNameSpace(DIDescriptor Scope, StringRef Name,
                                 DIFile File, unsigned LineNo);
 
 
-    /// CreateLexicalBlock - This creates a descriptor for a lexical block
+    /// createLexicalBlock - This creates a descriptor for a lexical block
     /// with the specified parent context.
     /// @param Scope       Parent lexical scope.
     /// @param File        Source file
     /// @param Line        Line number
     /// @param Col         Column number
-    DILexicalBlock CreateLexicalBlock(DIDescriptor Scope, DIFile File,
+    DILexicalBlock createLexicalBlock(DIDescriptor Scope, DIFile File,
                                       unsigned Line, unsigned Col);
 
-    /// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call.
+    /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
     /// @param Storage     llvm::Value of the variable
     /// @param VarInfo     Variable's debug info descriptor.
     /// @param InsertAtEnd Location for the new intrinsic.
-    Instruction *InsertDeclare(llvm::Value *Storage, DIVariable VarInfo,
+    Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
                                BasicBlock *InsertAtEnd);
 
-    /// InsertDeclare - Insert a new llvm.dbg.declare intrinsic call.
+    /// insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
     /// @param Storage      llvm::Value of the variable
     /// @param VarInfo      Variable's debug info descriptor.
     /// @param InsertBefore Location for the new intrinsic.
-    Instruction *InsertDeclare(llvm::Value *Storage, DIVariable VarInfo,
+    Instruction *insertDeclare(llvm::Value *Storage, DIVariable VarInfo,
                                Instruction *InsertBefore);
 
 
-    /// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
+    /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
     /// @param Val          llvm::Value of the variable
     /// @param Offset       Offset
     /// @param VarInfo      Variable's debug info descriptor.
     /// @param InsertAtEnd Location for the new intrinsic.
-    Instruction *InsertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
+    Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
                                          DIVariable VarInfo, 
                                          BasicBlock *InsertAtEnd);
     
-    /// InsertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
+    /// insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
     /// @param Val          llvm::Value of the variable
     /// @param Offset       Offset
     /// @param VarInfo      Variable's debug info descriptor.
     /// @param InsertBefore Location for the new intrinsic.
-    Instruction *InsertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
+    Instruction *insertDbgValueIntrinsic(llvm::Value *Val, uint64_t Offset,
                                          DIVariable VarInfo, 
                                          Instruction *InsertBefore);
 

Modified: vendor/llvm/dist/include/llvm/CMakeLists.txt
==============================================================================
--- vendor/llvm/dist/include/llvm/CMakeLists.txt	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CMakeLists.txt	Sat Feb 26 22:03:50 2011	(r219067)
@@ -4,6 +4,7 @@ tablegen(Intrinsics.gen -gen-intrinsic)
 
 add_custom_target(intrinsics_gen ALL
   DEPENDS ${llvm_builded_incs_dir}/Intrinsics.gen)
+set_target_properties(intrinsics_gen PROPERTIES FOLDER "Tablegenning")
 
 set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} intrinsics_gen PARENT_SCOPE)
 
@@ -16,4 +17,5 @@ if( MSVC_IDE OR XCODE )
     # We need at least one source file:
     ${LLVM_MAIN_SRC_DIR}/lib/Transforms/Hello/Hello.cpp
     ${headers})
+  set_target_properties(llvm_headers_do_not_build PROPERTIES FOLDER "Misc")
 endif()

Modified: vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -445,7 +445,8 @@ namespace llvm {
 
     /// EmitVisibility - This emits visibility information about symbol, if
     /// this is suported by the target.
-    void EmitVisibility(MCSymbol *Sym, unsigned Visibility) const;
+    void EmitVisibility(MCSymbol *Sym, unsigned Visibility,
+                        bool IsDefinition = true) const;
 
     void EmitLinkage(unsigned Linkage, MCSymbol *GVSym) const;
 

Modified: vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -101,13 +101,16 @@ public:
 #endif
 
   struct LiveOutInfo {
-    unsigned NumSignBits;
+    unsigned NumSignBits : 31;
+    bool IsValid : 1;
     APInt KnownOne, KnownZero;
-    LiveOutInfo() : NumSignBits(0), KnownOne(1, 0), KnownZero(1, 0) {}
+    LiveOutInfo() : NumSignBits(0), IsValid(true), KnownOne(1, 0),
+                    KnownZero(1, 0) {}
   };
-  
-  /// LiveOutRegInfo - Information about live out vregs.
-  IndexedMap<LiveOutInfo, VirtReg2IndexFunctor> LiveOutRegInfo;
+
+  /// VisitedBBs - The set of basic blocks visited thus far by instruction
+  /// selection.
+  DenseSet<const BasicBlock*> VisitedBBs;
 
   /// PHINodesToUpdate - A list of phi instructions whose operand list will
   /// be updated after processing the current basic block.
@@ -143,12 +146,62 @@ public:
     return R = CreateRegs(V->getType());
   }
 
+  /// GetLiveOutRegInfo - Gets LiveOutInfo for a register, returning NULL if the
+  /// register is a PHI destination and the PHI's LiveOutInfo is not valid.
+  const LiveOutInfo *GetLiveOutRegInfo(unsigned Reg) {
+    if (!LiveOutRegInfo.inBounds(Reg))
+      return NULL;
+
+    const LiveOutInfo *LOI = &LiveOutRegInfo[Reg];
+    if (!LOI->IsValid)
+      return NULL;
+
+    return LOI;
+  }
+
+  /// GetLiveOutRegInfo - Gets LiveOutInfo for a register, returning NULL if the
+  /// register is a PHI destination and the PHI's LiveOutInfo is not valid. If
+  /// the register's LiveOutInfo is for a smaller bit width, it is extended to
+  /// the larger bit width by zero extension. The bit width must be no smaller
+  /// than the LiveOutInfo's existing bit width.
+  const LiveOutInfo *GetLiveOutRegInfo(unsigned Reg, unsigned BitWidth);
+
+  /// AddLiveOutRegInfo - Adds LiveOutInfo for a register.
+  void AddLiveOutRegInfo(unsigned Reg, unsigned NumSignBits,
+                         const APInt &KnownZero, const APInt &KnownOne) {
+    // Only install this information if it tells us something.
+    if (NumSignBits == 1 && KnownZero == 0 && KnownOne == 0)
+      return;
+
+    LiveOutRegInfo.grow(Reg);
+    LiveOutInfo &LOI = LiveOutRegInfo[Reg];
+    LOI.NumSignBits = NumSignBits;
+    LOI.KnownOne = KnownOne;
+    LOI.KnownZero = KnownZero;
+  }
+
+  /// ComputePHILiveOutRegInfo - Compute LiveOutInfo for a PHI's destination
+  /// register based on the LiveOutInfo of its operands.
+  void ComputePHILiveOutRegInfo(const PHINode*);
+
+  /// InvalidatePHILiveOutRegInfo - Invalidates a PHI's LiveOutInfo, to be
+  /// called when a block is visited before all of its predecessors.
+  void InvalidatePHILiveOutRegInfo(const PHINode *PN) {
+    unsigned Reg = ValueMap[PN];
+    LiveOutRegInfo.grow(Reg);
+    LiveOutRegInfo[Reg].IsValid = false;
+  }
+
   /// setByValArgumentFrameIndex - Record frame index for the byval
   /// argument.
   void setByValArgumentFrameIndex(const Argument *A, int FI);
   
   /// getByValArgumentFrameIndex - Get frame index for the byval argument.
   int getByValArgumentFrameIndex(const Argument *A);
+
+private:
+  /// LiveOutRegInfo - Information about live out vregs.
+  IndexedMap<LiveOutInfo, VirtReg2IndexFunctor> LiveOutRegInfo;
 };
 
 /// AddCatchInfo - Extract the personality and type infos from an eh.selector

Modified: vendor/llvm/dist/include/llvm/CodeGen/MachineConstantPool.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/MachineConstantPool.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CodeGen/MachineConstantPool.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -16,6 +16,7 @@
 #ifndef LLVM_CODEGEN_MACHINECONSTANTPOOL_H
 #define LLVM_CODEGEN_MACHINECONSTANTPOOL_H
 
+#include "llvm/ADT/DenseSet.h"
 #include <cassert>
 #include <climits>
 #include <vector>
@@ -130,6 +131,8 @@ class MachineConstantPool {
   const TargetData *TD;   ///< The machine's TargetData.
   unsigned PoolAlignment; ///< The alignment for the pool.
   std::vector<MachineConstantPoolEntry> Constants; ///< The pool of constants.
+  /// MachineConstantPoolValues that use an existing MachineConstantPoolEntry.
+  DenseSet<MachineConstantPoolValue*> MachineCPVsSharingEntries;
 public:
   /// @brief The only constructor.
   explicit MachineConstantPool(const TargetData *td)

Modified: vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -281,7 +281,7 @@ public:
 
   /// addLiveIn - Add the specified physical register as a live-in value and
   /// create a corresponding virtual register for it.
-  unsigned addLiveIn(unsigned PReg, const TargetRegisterClass *RC, DebugLoc DL);
+  unsigned addLiveIn(unsigned PReg, const TargetRegisterClass *RC);
 
   //===--------------------------------------------------------------------===//
   // BasicBlock accessor functions.

Modified: vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -17,8 +17,6 @@
 #include "llvm/Target/TargetRegisterInfo.h"
 #include "llvm/ADT/BitVector.h"
 #include "llvm/ADT/IndexedMap.h"
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/Support/DebugLoc.h"
 #include <vector>
 
 namespace llvm {
@@ -66,10 +64,7 @@ class MachineRegisterInfo {
   /// stored in the second element.
   std::vector<std::pair<unsigned, unsigned> > LiveIns;
   std::vector<unsigned> LiveOuts;
-
-  /// LiveInLocs - Keep track of location livein registers.
-  DenseMap<unsigned, DebugLoc> LiveInLocs;
-
+  
   MachineRegisterInfo(const MachineRegisterInfo&); // DO NOT IMPLEMENT
   void operator=(const MachineRegisterInfo&);      // DO NOT IMPLEMENT
 public:
@@ -276,12 +271,7 @@ public:
     LiveIns.push_back(std::make_pair(Reg, vreg));
   }
   void addLiveOut(unsigned Reg) { LiveOuts.push_back(Reg); }
-
-  /// addLiveInLoc - Keep track of location info for live in reg.
-  void addLiveInLoc(unsigned VReg, DebugLoc DL) {
-    LiveInLocs[VReg] = DL;
-  }
-
+  
   // Iteration support for live in/out sets.  These sets are kept in sorted
   // order by their register number.
   typedef std::vector<std::pair<unsigned,unsigned> >::const_iterator

Modified: vendor/llvm/dist/include/llvm/IntrinsicsXCore.td
==============================================================================
--- vendor/llvm/dist/include/llvm/IntrinsicsXCore.td	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/IntrinsicsXCore.td	Sat Feb 26 22:03:50 2011	(r219067)
@@ -33,4 +33,23 @@ let TargetPrefix = "xcore" in {  // All 
                                   [NoCapture<0>]>;
   def int_xcore_setc : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
                                   [NoCapture<0>]>;
+  def int_xcore_inshr : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty, llvm_i32_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_outshr : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty, llvm_i32_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_setpt : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_getts : Intrinsic<[llvm_i32_ty],[llvm_anyptr_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_syncr : Intrinsic<[],[llvm_anyptr_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_settw : Intrinsic<[],[llvm_anyptr_ty, llvm_i32_ty],
+                                  [NoCapture<0>]>;
+  def int_xcore_setv : Intrinsic<[],[llvm_anyptr_ty, llvm_ptr_ty],
+                                 [NoCapture<0>]>;
+  def int_xcore_eeu : Intrinsic<[],[llvm_anyptr_ty], [NoCapture<0>]>;
+
+  // Intrinsics for events.
+  def int_xcore_waitevent : Intrinsic<[llvm_ptr_ty],[], [IntrReadMem]>;
+  def int_xcore_clre : Intrinsic<[],[],[]>;
 }

Modified: vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h
==============================================================================
--- vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -246,6 +246,11 @@ namespace llvm {
     /// declare a symbol as having hidden visibility.
     MCSymbolAttr HiddenVisibilityAttr;       // Defaults to MCSA_Hidden.
 
+    /// HiddenDeclarationVisibilityAttr - This attribute, if not MCSA_Invalid,
+    /// is used to declare an undefined symbol as having hidden visibility.
+    MCSymbolAttr HiddenDeclarationVisibilityAttr;   // Defaults to MCSA_Hidden.
+
+
     /// ProtectedVisibilityAttr - This attribute, if not MCSA_Invalid, is used
     /// to declare a symbol as having protected visibility.
     MCSymbolAttr ProtectedVisibilityAttr;    // Defaults to MCSA_Protected
@@ -425,6 +430,9 @@ namespace llvm {
     const char *getLinkOnceDirective() const { return LinkOnceDirective; }
 
     MCSymbolAttr getHiddenVisibilityAttr() const { return HiddenVisibilityAttr;}
+    MCSymbolAttr getHiddenDeclarationVisibilityAttr() const {
+      return HiddenDeclarationVisibilityAttr;
+    }
     MCSymbolAttr getProtectedVisibilityAttr() const {
       return ProtectedVisibilityAttr;
     }

Modified: vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParserExtension.h
==============================================================================
--- vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParserExtension.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/MC/MCParser/MCAsmParserExtension.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -38,6 +38,8 @@ protected:
     return (Obj->*Handler)(Directive, DirectiveLoc);
   }
 
+  bool BracketExpressionsSupported;
+
 public:
   virtual ~MCAsmParserExtension();
 
@@ -68,6 +70,8 @@ public:
 
   const AsmToken &getTok() { return getParser().getTok(); }
 
+  bool HasBracketExpressions() const { return BracketExpressionsSupported; }
+
   /// @}
 };
 

Modified: vendor/llvm/dist/include/llvm/MC/MCStreamer.h
==============================================================================
--- vendor/llvm/dist/include/llvm/MC/MCStreamer.h	Sat Feb 26 21:27:41 2011	(r219066)
+++ vendor/llvm/dist/include/llvm/MC/MCStreamer.h	Sat Feb 26 22:03:50 2011	(r219067)
@@ -57,13 +57,10 @@ namespace llvm {
     MCDwarfFrameInfo *getCurrentFrameInfo();
     void EnsureValidFrame();
 
-    /// CurSectionStack - This is stack of CurSection values saved by
-    /// PushSection.
-    SmallVector<const MCSection *, 4> CurSectionStack;
-
-    /// PrevSectionStack - This is stack of PrevSection values saved by
-    /// PushSection.
-    SmallVector<const MCSection *, 4> PrevSectionStack;
+    /// SectionStack - This is stack of current and previous section
+    /// values saved by PushSection.
+    SmallVector<std::pair<const MCSection *,
+                const MCSection *>, 4> SectionStack;
 
   protected:
     MCStreamer(MCContext &Ctx);
@@ -117,16 +114,16 @@ namespace llvm {
     /// getCurrentSection - Return the current section that the streamer is
     /// emitting code to.
     const MCSection *getCurrentSection() const {
-      if (!CurSectionStack.empty())
-        return CurSectionStack.back();
+      if (!SectionStack.empty())
+        return SectionStack.back().first;
       return NULL;
     }
 
     /// getPreviousSection - Return the previous section that the streamer is
     /// emitting code to.

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list