Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/llvm/dist/llvm Import LLVM r232565 post-3.6.0. ...



details:   https://anonhg.NetBSD.org/src/rev/3447a800055f
branches:  trunk
changeset: 336771:3447a800055f
user:      joerg <joerg%NetBSD.org@localhost>
date:      Wed Mar 18 17:23:18 2015 +0000

description:
Import LLVM r232565 post-3.6.0. Various bugfixes, especially for ARM.

diffstat:

 external/bsd/llvm/dist/llvm/CMakeLists.txt                                            |    2 +-
 external/bsd/llvm/dist/llvm/autoconf/configure.ac                                     |    4 +-
 external/bsd/llvm/dist/llvm/bindings/go/llvm/linker.go                                |   11 +-
 external/bsd/llvm/dist/llvm/bindings/ocaml/linker/linker_ocaml.c                      |    6 +-
 external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.ml                      |    8 +-
 external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.mli                     |    9 +-
 external/bsd/llvm/dist/llvm/cmake/modules/AddLLVM.cmake                               |    5 -
 external/bsd/llvm/dist/llvm/configure                                                 |   20 +-
 external/bsd/llvm/dist/llvm/docs/ReleaseNotes.rst                                     |  130 +++-
 external/bsd/llvm/dist/llvm/docs/index.rst                                            |    5 -
 external/bsd/llvm/dist/llvm/examples/Kaleidoscope/Chapter4/CMakeLists.txt             |    1 +
 external/bsd/llvm/dist/llvm/include/llvm-c/Linker.h                                   |   10 +-
 external/bsd/llvm/dist/llvm/include/llvm/CodeGen/MachineModuleInfo.h                  |    6 -
 external/bsd/llvm/dist/llvm/include/llvm/CodeGen/RegAllocPBQP.h                       |    4 +-
 external/bsd/llvm/dist/llvm/include/llvm/CodeGen/SelectionDAG.h                       |    6 +-
 external/bsd/llvm/dist/llvm/include/llvm/CodeGen/SelectionDAGNodes.h                  |   31 +-
 external/bsd/llvm/dist/llvm/include/llvm/Config/config.h.cmake                        |    3 -
 external/bsd/llvm/dist/llvm/include/llvm/Config/llvm-config.h.cmake                   |    7 +-
 external/bsd/llvm/dist/llvm/include/llvm/Config/llvm-config.h.in                      |    3 +
 external/bsd/llvm/dist/llvm/include/llvm/IR/Constants.h                               |    6 +
 external/bsd/llvm/dist/llvm/include/llvm/IR/Metadata.h                                |    1 +
 external/bsd/llvm/dist/llvm/lib/Analysis/IPA/InlineCost.cpp                           |   12 +-
 external/bsd/llvm/dist/llvm/lib/Analysis/ScalarEvolutionExpander.cpp                  |    9 +-
 external/bsd/llvm/dist/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp                   |    4 +-
 external/bsd/llvm/dist/llvm/lib/Bitcode/Reader/BitReader.cpp                          |   21 +-
 external/bsd/llvm/dist/llvm/lib/Bitcode/Reader/BitcodeReader.cpp                      |   18 +-
 external/bsd/llvm/dist/llvm/lib/Bitcode/Reader/BitcodeReader.h                        |    2 +
 external/bsd/llvm/dist/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp                      |    7 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp                     |   15 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/AsmPrinter/EHStreamer.h                       |   17 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp                 |  149 +-----
 external/bsd/llvm/dist/llvm/lib/CodeGen/AsmPrinter/Win64Exception.h                   |    4 -
 external/bsd/llvm/dist/llvm/lib/CodeGen/MachineModuleInfo.cpp                         |    8 -
 external/bsd/llvm/dist/llvm/lib/CodeGen/Passes.cpp                                    |    2 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp                  |   48 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp         |   25 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h                  |    1 +
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp            |   14 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp          |   62 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp                 |   13 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp          |   39 +-
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h            |    2 -
 external/bsd/llvm/dist/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp             |   64 +--
 external/bsd/llvm/dist/llvm/lib/ExecutionEngine/CMakeLists.txt                        |    1 -
 external/bsd/llvm/dist/llvm/lib/ExecutionEngine/LLVMBuild.txt                         |    2 +-
 external/bsd/llvm/dist/llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt            |    1 +
 external/bsd/llvm/dist/llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp   |  294 ++++++++++
 external/bsd/llvm/dist/llvm/lib/IR/Constants.cpp                                      |   23 +-
 external/bsd/llvm/dist/llvm/lib/IR/Core.cpp                                           |   22 +-
 external/bsd/llvm/dist/llvm/lib/IR/DebugInfo.cpp                                      |    3 +
 external/bsd/llvm/dist/llvm/lib/IR/Metadata.cpp                                       |   22 +
 external/bsd/llvm/dist/llvm/lib/IR/Type.cpp                                           |    7 +-
 external/bsd/llvm/dist/llvm/lib/Linker/LinkModules.cpp                                |    2 +-
 external/bsd/llvm/dist/llvm/lib/MC/MCParser/AsmParser.cpp                             |   28 +-
 external/bsd/llvm/dist/llvm/lib/MC/MCSectionCOFF.cpp                                  |    8 +-
 external/bsd/llvm/dist/llvm/lib/MC/WinCOFFObjectWriter.cpp                            |   17 +-
 external/bsd/llvm/dist/llvm/lib/Support/PrettyStackTrace.cpp                          |   39 +-
 external/bsd/llvm/dist/llvm/lib/Support/regcomp.c                                     |   21 +
 external/bsd/llvm/dist/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp                |   18 +-
 external/bsd/llvm/dist/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp                       |   34 +-
 external/bsd/llvm/dist/llvm/lib/Target/ARM/ARMISelLowering.cpp                        |  149 +---
 external/bsd/llvm/dist/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp                 |   72 +-
 external/bsd/llvm/dist/llvm/lib/Target/Mips/Mips64InstrInfo.td                        |   10 +
 external/bsd/llvm/dist/llvm/lib/Target/Mips/MipsISelLowering.cpp                      |   56 +-
 external/bsd/llvm/dist/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp                    |   28 +-
 external/bsd/llvm/dist/llvm/lib/Target/Mips/MipsSEISelLowering.cpp                    |    4 +
 external/bsd/llvm/dist/llvm/lib/Target/PowerPC/PPCInstrInfo.td                        |    3 +-
 external/bsd/llvm/dist/llvm/lib/Target/R600/AMDGPUSubtarget.cpp                       |   19 +
 external/bsd/llvm/dist/llvm/lib/Target/R600/AMDGPUSubtarget.h                         |   12 +
 external/bsd/llvm/dist/llvm/lib/Target/R600/AMDGPUTargetTransformInfo.cpp             |    2 +-
 external/bsd/llvm/dist/llvm/lib/Target/R600/SIAnnotateControlFlow.cpp                 |   26 +-
 external/bsd/llvm/dist/llvm/lib/Target/R600/SIRegisterInfo.cpp                        |   62 +-
 external/bsd/llvm/dist/llvm/lib/Target/R600/SIRegisterInfo.h                          |   12 +-
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86.td                                     |   14 +-
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86AsmPrinter.cpp                          |    4 +-
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86ISelLowering.cpp                        |  173 +++++
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td                   |    2 +-
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86IntrinsicsInfo.h                        |    2 -
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86Subtarget.cpp                           |    2 +-
 external/bsd/llvm/dist/llvm/lib/Target/X86/X86Subtarget.h                             |    8 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |   11 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp       |    2 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp         |   41 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp        |    2 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/EarlyCSE.cpp                        |    3 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/GVN.cpp                             |   13 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/LoopRotation.cpp                    |    2 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp                 |   10 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp           |   10 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Utils/Local.cpp                            |    2 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp                |   62 +-
 external/bsd/llvm/dist/llvm/lib/Transforms/Utils/ValueMapper.cpp                      |  110 ++-
 external/bsd/llvm/dist/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp                |    2 +
 external/bsd/llvm/dist/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp                |   22 +-
 external/bsd/llvm/dist/llvm/test/Analysis/ScalarEvolution/pr22856.ll                  |   33 +
 external/bsd/llvm/dist/llvm/test/Bindings/OCaml/linker.ml                             |    2 +-
 external/bsd/llvm/dist/llvm/test/Bindings/llvm-c/Inputs/invalid.ll.bc                 |  Bin 
 external/bsd/llvm/dist/llvm/test/Bindings/llvm-c/add_named_metadata_operand.ll        |    2 +
 external/bsd/llvm/dist/llvm/test/Bindings/llvm-c/invalid-bitcode.test                 |    3 +
 external/bsd/llvm/dist/llvm/test/Bindings/llvm-c/set_metadata.ll                      |    2 +
 external/bsd/llvm/dist/llvm/test/CodeGen/AArch64/setcc-type-mismatch.ll               |   11 +
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/Windows/read-only-data.ll                |    2 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/Windows/structors.ll                     |    2 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/alloc-no-stack-realign.ll                |   17 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/memcpy-inline.ll                         |   15 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/setcc-type-mismatch.ll                   |   11 +
 external/bsd/llvm/dist/llvm/test/CodeGen/ARM/sub-cmp-peephole.ll                      |   60 ++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/add.ll                          |  115 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/and.ll                          |   94 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/ashr.ll                         |  188 ++++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/lshr.ll                         |  176 +++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/mul.ll                          |   59 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/or.ll                           |   95 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/sdiv.ll                         |  136 ++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/shl.ll                          |  188 ++++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/srem.ll                         |  129 ++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/sub.ll                          |  114 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/udiv.ll                         |  108 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/urem.ll                         |  145 ++++
 external/bsd/llvm/dist/llvm/test/CodeGen/Mips/llvm-ir/xor.ll                          |   94 +++
 external/bsd/llvm/dist/llvm/test/CodeGen/PowerPC/vsel-prom.ll                         |   23 +
 external/bsd/llvm/dist/llvm/test/CodeGen/R600/ds_read2st64.ll                         |    4 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/R600/endcf-loop-header.ll                    |   34 +
 external/bsd/llvm/dist/llvm/test/CodeGen/R600/si-triv-disjoint-mem-access.ll          |    2 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/R600/tti-unroll-prefs.ll                     |   58 +
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/and-load-fold.ll                         |   15 +
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/avx2-intrinsics-x86.ll                   |   10 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/coff-comdat.ll                           |   16 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/constant-combines.ll                     |   35 +
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/dllexport-x86_64.ll                      |    6 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/dllexport.ll                             |   11 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/fold-vex.ll                              |   39 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/global-sections.ll                       |    8 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/masked_memop.ll                          |    7 +-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/pr15267.ll                               |   75 ++-
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/pshufb-mask-comments.ll                  |   12 +
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/sse-unaligned-mem-feature.ll             |   13 +
 external/bsd/llvm/dist/llvm/test/CodeGen/X86/win_cst_pool.ll                          |    8 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/COFF/asm.ll                                |    4 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/COFF/multifile.ll                          |    4 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/COFF/multifunction.ll                      |    4 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/COFF/simple.ll                             |    4 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/COFF/tail-call-without-lexical-scopes.ll   |    2 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/X86/coff_debug_info_type.ll                |    2 +-
 external/bsd/llvm/dist/llvm/test/DebugInfo/X86/decl-derived-member.ll                 |  155 ++--
 external/bsd/llvm/dist/llvm/test/DebugInfo/location-verifier.ll                       |   33 +
 external/bsd/llvm/dist/llvm/test/Instrumentation/MemorySanitizer/atomics.ll           |    2 +
 external/bsd/llvm/dist/llvm/test/Linker/distinct-cycles.ll                            |   13 +
 external/bsd/llvm/dist/llvm/test/MC/ARM/pr22395-2.s                                   |   37 +
 external/bsd/llvm/dist/llvm/test/MC/ARM/pr22395.s                                     |   63 ++
 external/bsd/llvm/dist/llvm/test/MC/COFF/bss_section.ll                               |    2 +-
 external/bsd/llvm/dist/llvm/test/MC/COFF/const-gv-with-rel-init.ll                    |    4 +-
 external/bsd/llvm/dist/llvm/test/MC/COFF/diff.s                                       |   25 +
 external/bsd/llvm/dist/llvm/test/MC/COFF/global_ctors_dtors.ll                        |   12 +-
 external/bsd/llvm/dist/llvm/test/MC/COFF/initialised-data.ll                          |    2 +-
 external/bsd/llvm/dist/llvm/test/MC/COFF/section-passthru-flags.s                     |    4 +-
 external/bsd/llvm/dist/llvm/test/MC/COFF/weak-symbol.ll                               |    8 +-
 external/bsd/llvm/dist/llvm/test/MC/ELF/uleb.s                                        |    9 +-
 external/bsd/llvm/dist/llvm/test/Transforms/EarlyCSE/basic.ll                         |   11 +-
 external/bsd/llvm/dist/llvm/test/Transforms/GVN/edge.ll                               |   48 +-
 external/bsd/llvm/dist/llvm/test/Transforms/Inline/inline-indirect.ll                 |   19 +
 external/bsd/llvm/dist/llvm/test/Transforms/InstCombine/loadstore-metadata.ll         |    2 +
 external/bsd/llvm/dist/llvm/test/Transforms/InstMerge/st_sink_bugfix_22613.ll         |  114 +++
 external/bsd/llvm/dist/llvm/test/Transforms/InstSimplify/load.ll                      |   19 +
 external/bsd/llvm/dist/llvm/test/Transforms/LoopRotate/crash.ll                       |   18 +
 external/bsd/llvm/dist/llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll     |    4 +-
 external/bsd/llvm/dist/llvm/test/Transforms/LoopUnroll/runtime-loop.ll                |    4 +-
 external/bsd/llvm/dist/llvm/test/Transforms/LoopUnroll/runtime-loop1.ll               |    2 +-
 external/bsd/llvm/dist/llvm/test/Transforms/LoopUnroll/tripcount-overflow.ll          |   29 +-
 external/bsd/llvm/dist/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll    |   82 ++
 external/bsd/llvm/dist/llvm/test/Transforms/MemCpyOpt/callslot_aa.ll                  |   22 +
 external/bsd/llvm/dist/llvm/test/Transforms/SLPVectorizer/X86/bad_types.ll            |   50 +
 external/bsd/llvm/dist/llvm/test/Transforms/Util/combine-alias-scope-metadata.ll      |   24 +
 external/bsd/llvm/dist/llvm/test/tools/gold/no-map-whole-file.ll                      |    9 +
 external/bsd/llvm/dist/llvm/tools/gold/gold-plugin.cpp                                |   19 +-
 external/bsd/llvm/dist/llvm/tools/lli/CMakeLists.txt                                  |    1 +
 external/bsd/llvm/dist/llvm/tools/llvm-c-test/CMakeLists.txt                          |    1 +
 external/bsd/llvm/dist/llvm/tools/llvm-c-test/llvm-c-test.h                           |    4 +
 external/bsd/llvm/dist/llvm/tools/llvm-c-test/main.c                                  |    4 +
 external/bsd/llvm/dist/llvm/tools/llvm-c-test/metadata.c                              |   43 +
 external/bsd/llvm/dist/llvm/unittests/ExecutionEngine/CMakeLists.txt                  |    1 +
 external/bsd/llvm/dist/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt            |    1 +
 182 files changed, 4404 insertions(+), 1001 deletions(-)

diffs (truncated from 8647 to 300 lines):

diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/CMakeLists.txt
--- a/external/bsd/llvm/dist/llvm/CMakeLists.txt        Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/CMakeLists.txt        Wed Mar 18 17:23:18 2015 +0000
@@ -48,7 +48,7 @@
 
 set(LLVM_VERSION_MAJOR 3)
 set(LLVM_VERSION_MINOR 6)
-set(LLVM_VERSION_PATCH 0)
+set(LLVM_VERSION_PATCH 1)
 
 if (NOT PACKAGE_VERSION)
   set(PACKAGE_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/autoconf/configure.ac
--- a/external/bsd/llvm/dist/llvm/autoconf/configure.ac Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/autoconf/configure.ac Wed Mar 18 17:23:18 2015 +0000
@@ -32,11 +32,11 @@
 dnl Initialize autoconf and define the package name, version number and
 dnl address for reporting bugs.
 
-AC_INIT([LLVM],[3.6.0],[http://llvm.org/bugs/])
+AC_INIT([LLVM],[3.6.1],[http://llvm.org/bugs/])
 
 LLVM_VERSION_MAJOR=3
 LLVM_VERSION_MINOR=6
-LLVM_VERSION_PATCH=0
+LLVM_VERSION_PATCH=1
 LLVM_VERSION_SUFFIX=
 
 AC_DEFINE_UNQUOTED([LLVM_VERSION_MAJOR], $LLVM_VERSION_MAJOR, [Major version of the LLVM API])
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/bindings/go/llvm/linker.go
--- a/external/bsd/llvm/dist/llvm/bindings/go/llvm/linker.go    Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/bindings/go/llvm/linker.go    Wed Mar 18 17:23:18 2015 +0000
@@ -20,9 +20,16 @@
 import "C"
 import "errors"
 
-func LinkModules(Dest, Src Module) error {
+type LinkerMode C.LLVMLinkerMode
+
+const (
+       LinkerDestroySource  = C.LLVMLinkerDestroySource
+       LinkerPreserveSource = C.LLVMLinkerPreserveSource
+)
+
+func LinkModules(Dest, Src Module, Mode LinkerMode) error {
        var cmsg *C.char
-       failed := C.LLVMLinkModules(Dest.C, Src.C, 0, &cmsg)
+       failed := C.LLVMLinkModules(Dest.C, Src.C, C.LLVMLinkerMode(Mode), &cmsg)
        if failed != 0 {
                err := errors.New(C.GoString(cmsg))
                C.LLVMDisposeMessage(cmsg)
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/bindings/ocaml/linker/linker_ocaml.c
--- a/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/linker_ocaml.c  Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/linker_ocaml.c  Wed Mar 18 17:23:18 2015 +0000
@@ -23,11 +23,11 @@
 
 void llvm_raise(value Prototype, char *Message);
 
-/* llmodule -> llmodule -> unit */
-CAMLprim value llvm_link_modules(LLVMModuleRef Dst, LLVMModuleRef Src) {
+/* llmodule -> llmodule -> Mode.t -> unit */
+CAMLprim value llvm_link_modules(LLVMModuleRef Dst, LLVMModuleRef Src, value Mode) {
   char* Message;
 
-  if (LLVMLinkModules(Dst, Src, 0, &Message))
+  if (LLVMLinkModules(Dst, Src, Int_val(Mode), &Message))
     llvm_raise(*caml_named_value("Llvm_linker.Error"), Message);
 
   return Val_unit;
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.ml
--- a/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.ml  Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.ml  Wed Mar 18 17:23:18 2015 +0000
@@ -11,5 +11,11 @@
 
 let () = Callback.register_exception "Llvm_linker.Error" (Error "")
 
-external link_modules : Llvm.llmodule -> Llvm.llmodule -> unit
+module Mode = struct
+  type t =
+  | DestroySource
+  | PreserveSource
+end
+
+external link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit
                       = "llvm_link_modules"
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.mli
--- a/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.mli Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/bindings/ocaml/linker/llvm_linker.mli Wed Mar 18 17:23:18 2015 +0000
@@ -14,6 +14,13 @@
 
 exception Error of string
 
+(** Linking mode. *)
+module Mode : sig
+  type t =
+  | DestroySource
+  | PreserveSource
+end
+
 (** [link_modules dst src mode] links [src] into [dst], raising [Error]
     if the linking fails. *)
-val link_modules : Llvm.llmodule -> Llvm.llmodule -> unit
\ No newline at end of file
+val link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit
\ No newline at end of file
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/cmake/modules/AddLLVM.cmake
--- a/external/bsd/llvm/dist/llvm/cmake/modules/AddLLVM.cmake   Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/cmake/modules/AddLLVM.cmake   Wed Mar 18 17:23:18 2015 +0000
@@ -334,11 +334,6 @@
         PREFIX ""
         )
     endif()
-    if (MSVC)
-      set_target_properties(${name}
-        PROPERTIES
-        IMPORT_SUFFIX ".imp")
-    endif ()
   endif()
 
   if(ARG_MODULE OR ARG_SHARED)
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/configure
--- a/external/bsd/llvm/dist/llvm/configure     Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/configure     Wed Mar 18 17:23:18 2015 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for LLVM 3.6.0.
+# Generated by GNU Autoconf 2.60 for LLVM 3.6.1.
 #
 # Report bugs to <http://llvm.org/bugs/>.
 #
@@ -561,8 +561,8 @@
 # Identity of this package.
 PACKAGE_NAME='LLVM'
 PACKAGE_TARNAME='llvm'
-PACKAGE_VERSION='3.6.0'
-PACKAGE_STRING='LLVM 3.6.0'
+PACKAGE_VERSION='3.6.1'
+PACKAGE_STRING='LLVM 3.6.1'
 PACKAGE_BUGREPORT='http://llvm.org/bugs/'
 
 ac_unique_file="lib/IR/Module.cpp"
@@ -1314,7 +1314,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures LLVM 3.6.0 to adapt to many kinds of systems.
+\`configure' configures LLVM 3.6.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1380,7 +1380,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of LLVM 3.6.0:";;
+     short | recursive ) echo "Configuration of LLVM 3.6.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1550,7 +1550,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-LLVM configure 3.6.0
+LLVM configure 3.6.1
 generated by GNU Autoconf 2.60
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1566,7 +1566,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by LLVM $as_me 3.6.0, which was
+It was created by LLVM $as_me 3.6.1, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
@@ -1922,7 +1922,7 @@
 
 LLVM_VERSION_MAJOR=3
 LLVM_VERSION_MINOR=6
-LLVM_VERSION_PATCH=0
+LLVM_VERSION_PATCH=1
 LLVM_VERSION_SUFFIX=
 
 
@@ -18901,7 +18901,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by LLVM $as_me 3.6.0, which was
+This file was extended by LLVM $as_me 3.6.1, which was
 generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18954,7 +18954,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-LLVM config.status 3.6.0
+LLVM config.status 3.6.1
 configured by $0, generated by GNU Autoconf 2.60,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -r f10b7d1bce48 -r 3447a800055f external/bsd/llvm/dist/llvm/docs/ReleaseNotes.rst
--- a/external/bsd/llvm/dist/llvm/docs/ReleaseNotes.rst Wed Mar 18 13:30:13 2015 +0000
+++ b/external/bsd/llvm/dist/llvm/docs/ReleaseNotes.rst Wed Mar 18 17:23:18 2015 +0000
@@ -5,11 +5,6 @@
 .. contents::
     :local:
 
-.. warning::
-   These are in-progress notes for the upcoming LLVM 3.6 release.  You may
-   prefer the `LLVM 3.5 Release Notes <http://llvm.org/releases/3.5.0/docs
-   /ReleaseNotes.html>`_.
-
 
 Introduction
 ============
@@ -26,10 +21,6 @@
 <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>`_ is a good place to send
 them.
 
-Note that if you are reading this file from a Subversion checkout or the main
-LLVM web page, this document applies to the *next* release, not the current
-one.  To see the release notes for a specific release, please see the `releases
-page <http://llvm.org/releases/>`_.
 
 Non-comprehensive list of changes in this release
 =================================================
@@ -46,7 +37,8 @@
 * Added support for a `native object file-based bitcode wrapper format
   <BitCodeFormat.html#native-object-file>`_.
 
-* ... next change ...
+* Added support for MSVC's ``__vectorcall`` calling convention as
+  ``x86_vectorcallcc``.
 
 .. NOTE
    If you would like to document a larger change, then you can add a
@@ -302,12 +294,13 @@
 All users should transition to MCJIT.
 
 
-object::Binary doesn't owns the file buffer
+object::Binary doesn't own the file buffer
 -------------------------------------------
 
 It is now just a wrapper, which simplifies using object::Binary with other
 users of the underlying file.
 
+
 IR in object files is now supported
 -----------------------------------
 
@@ -327,7 +320,7 @@
 Change in the representation of lazy loaded funcs
 -------------------------------------------------
 
-Lazy loaded functions are now represented is a way that ``isDeclaration``
+Lazy loaded functions are now represented in a way that ``isDeclaration``
 returns the correct answer even before reading the body.
 
 
@@ -342,10 +335,11 @@
 
 This was done to simplify compatibility with python 3.
 
+
 The leak detector has been removed
 ----------------------------------
 
-In practice tools like asan and valgrind were finding way more bugs than
+In practice, tools like asan and valgrind were finding way more bugs than
 the old leak detector, so it was removed.
 
 
@@ -360,12 +354,25 @@
     @g = global i32 0, comdat($c)
     @c = global i32 0, comdat
 
-The version without the parentheses is a syntatic sugar for a comdat with
+The version without the parentheses is a syntactic sugar for a comdat with
 the same name as the global.
 
 
-Diagnotic infrastructure used by lib/Linker and lib/Bitcode
------------------------------------------------------------
+Added support for Win64 unwind information
+------------------------------------------
+
+LLVM now obeys the `Win64 prologue and epilogue conventions
+<https://msdn.microsoft.com/en-us/library/tawsa7cb.aspx>`_ documented by
+Microsoft. Unwind information is also emitted into the .xdata section.
+
+As a result of the ABI-required prologue changes, it is now no longer possible
+to unwind the stack using a standard frame pointer walk on Win64. Instead,
+users should call ``CaptureStackBackTrace``, or implement equivalent
+functionality by consulting the unwind tables present in the binary.



Home | Main Index | Thread Index | Old Index