From owner-svn-src-vendor@FreeBSD.ORG Sat Mar 6 09:22:30 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 448C01065674; Sat, 6 Mar 2010 09:22:30 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 301E68FC12; Sat, 6 Mar 2010 09:22:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o269MUvF079322; Sat, 6 Mar 2010 09:22:30 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o269MTbr079297; Sat, 6 Mar 2010 09:22:29 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201003060922.o269MTbr079297@svn.freebsd.org> From: Roman Divacky Date: Sat, 6 Mar 2010 09:22:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204792 - in vendor/llvm/dist: . bindings/ocaml/bitwriter bindings/ocaml/executionengine bindings/ocaml/llvm bindings/ocaml/transforms/scalar docs docs/CommandGuide docs/tutorial includ... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Mar 2010 09:22:30 -0000 Author: rdivacky Date: Sat Mar 6 09:22:29 2010 New Revision: 204792 URL: http://svn.freebsd.org/changeset/base/204792 Log: Update LLVM to r97873. Added: vendor/llvm/dist/include/llvm/Transforms/Utils/BuildLibCalls.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SDDbgValue.h vendor/llvm/dist/lib/Transforms/Utils/BuildLibCalls.cpp vendor/llvm/dist/test/CodeGen/ARM/2010-03-04-eabi-fp-spill.ll vendor/llvm/dist/test/CodeGen/ARM/2010-03-04-stm-undef-addr.ll vendor/llvm/dist/test/CodeGen/CellSPU/bss.ll vendor/llvm/dist/test/CodeGen/X86/2010-03-04-Mul8Bug.ll vendor/llvm/dist/test/CodeGen/X86/2010-03-05-ConstantFoldCFG.ll vendor/llvm/dist/test/CodeGen/X86/2010-03-05-EFLAGS-Redef.ll vendor/llvm/dist/test/CodeGen/X86/crash.ll vendor/llvm/dist/test/FrontendC/2010-03-5-LexicalScope.c vendor/llvm/dist/test/Transforms/InstCombine/2010-03-03-ExtElim.ll vendor/llvm/dist/test/Transforms/SimplifyLibCalls/memset_chk.ll Deleted: vendor/llvm/dist/test/Transforms/InstCombine/2006-12-08-ICmp-Combining.ll vendor/llvm/dist/utils/lit/ExampleTests.ObjDir/lit.site.cfg vendor/llvm/dist/utils/lit/ExampleTests/Clang/fsyntax-only.c vendor/llvm/dist/utils/lit/ExampleTests/Clang/lit.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.InTree/test/Bar/bar-test.ll vendor/llvm/dist/utils/lit/ExampleTests/LLVM.InTree/test/Bar/dg.exp vendor/llvm/dist/utils/lit/ExampleTests/LLVM.InTree/test/lit.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.InTree/test/lit.site.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.InTree/test/site.exp vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/lit.local.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/obj/test/Foo/lit.local.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/obj/test/lit.site.cfg vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/obj/test/site.exp vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/src/test/Foo/data.txt vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/src/test/Foo/dg.exp vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/src/test/Foo/pct-S.ll vendor/llvm/dist/utils/lit/ExampleTests/LLVM.OutOfTree/src/test/lit.cfg vendor/llvm/dist/utils/lit/ExampleTests/ShExternal/lit.local.cfg vendor/llvm/dist/utils/lit/ExampleTests/ShInternal/lit.local.cfg vendor/llvm/dist/utils/lit/ExampleTests/TclTest/lit.local.cfg vendor/llvm/dist/utils/lit/ExampleTests/TclTest/stderr-pipe.ll vendor/llvm/dist/utils/lit/ExampleTests/TclTest/tcl-redir-1.ll vendor/llvm/dist/utils/lit/ExampleTests/fail.c vendor/llvm/dist/utils/lit/ExampleTests/lit.cfg vendor/llvm/dist/utils/lit/ExampleTests/pass.c vendor/llvm/dist/utils/lit/ExampleTests/xfail.c vendor/llvm/dist/utils/lit/ExampleTests/xpass.c vendor/llvm/dist/utils/lit/LitConfig.py vendor/llvm/dist/utils/lit/LitFormats.py vendor/llvm/dist/utils/lit/ProgressBar.py vendor/llvm/dist/utils/lit/ShCommands.py vendor/llvm/dist/utils/lit/ShUtil.py vendor/llvm/dist/utils/lit/TclUtil.py vendor/llvm/dist/utils/lit/Test.py vendor/llvm/dist/utils/lit/TestFormats.py vendor/llvm/dist/utils/lit/TestRunner.py vendor/llvm/dist/utils/lit/TestingConfig.py vendor/llvm/dist/utils/lit/Util.py vendor/llvm/dist/utils/unittest/googletest/tempfile.tmp Modified: vendor/llvm/dist/CMakeLists.txt vendor/llvm/dist/Makefile.config.in vendor/llvm/dist/Makefile.rules vendor/llvm/dist/bindings/ocaml/bitwriter/bitwriter_ocaml.c vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.ml vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.mli vendor/llvm/dist/bindings/ocaml/executionengine/executionengine_ocaml.c vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.ml vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.mli vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli vendor/llvm/dist/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c vendor/llvm/dist/docs/CommandGuide/Makefile vendor/llvm/dist/docs/LangRef.html vendor/llvm/dist/docs/Makefile vendor/llvm/dist/docs/tutorial/Makefile vendor/llvm/dist/include/llvm-c/BitWriter.h vendor/llvm/dist/include/llvm-c/Core.h vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGISel.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h vendor/llvm/dist/include/llvm/CompilerDriver/Common.td vendor/llvm/dist/include/llvm/GlobalValue.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/IRBuilder.h vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/Bitcode/Writer/BitWriter.cpp vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.h vendor/llvm/dist/lib/CodeGen/PostRASchedulerList.cpp vendor/llvm/dist/lib/CodeGen/PseudoSourceValue.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm/dist/lib/CodeGen/SjLjEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm/dist/lib/CompilerDriver/Action.cpp vendor/llvm/dist/lib/ExecutionEngine/JIT/JITEmitter.cpp vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp vendor/llvm/dist/lib/Target/Alpha/AlphaCallingConv.td vendor/llvm/dist/lib/Target/CellSPU/SPUMCAsmInfo.cpp vendor/llvm/dist/lib/Target/PIC16/TargetInfo/PIC16TargetInfo.cpp vendor/llvm/dist/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Transforms/InstCombine/InstCombine.h vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombinePHI.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/CMakeLists.txt vendor/llvm/dist/lib/VMCore/ConstantFold.cpp vendor/llvm/dist/lib/VMCore/LLVMContextImpl.h vendor/llvm/dist/lib/VMCore/Makefile vendor/llvm/dist/runtime/Makefile vendor/llvm/dist/test/Bindings/Ocaml/bitwriter.ml vendor/llvm/dist/test/Bindings/Ocaml/scalar_opts.ml vendor/llvm/dist/test/CodeGen/Thumb2/thumb2-uxtb.ll vendor/llvm/dist/test/CodeGen/X86/2008-08-05-SpillerBug.ll vendor/llvm/dist/test/CodeGen/X86/bswap-inline-asm.ll vendor/llvm/dist/test/CodeGen/X86/global-sections.ll vendor/llvm/dist/test/CodeGen/X86/lsr-reuse-trunc.ll vendor/llvm/dist/test/CodeGen/X86/sink-hoist.ll vendor/llvm/dist/test/CodeGen/X86/tailcall2.ll vendor/llvm/dist/test/CodeGen/X86/use-add-flags.ll vendor/llvm/dist/test/Transforms/InstCombine/JavaCompare.ll vendor/llvm/dist/test/Transforms/InstCombine/crash.ll vendor/llvm/dist/test/Transforms/InstCombine/icmp.ll vendor/llvm/dist/test/Transforms/InstCombine/load-cmp.ll vendor/llvm/dist/test/Transforms/InstCombine/objsize.ll vendor/llvm/dist/test/Transforms/InstCombine/or.ll vendor/llvm/dist/test/Transforms/InstCombine/phi.ll vendor/llvm/dist/test/Transforms/Reassociate/crash.ll vendor/llvm/dist/test/lit.cfg vendor/llvm/dist/tools/Makefile vendor/llvm/dist/tools/llvm-config/Makefile vendor/llvm/dist/tools/llvmc/doc/LLVMC-Reference.rst vendor/llvm/dist/tools/llvmc/plugins/Base/Base.td.in vendor/llvm/dist/unittests/ExecutionEngine/JIT/JITTest.cpp vendor/llvm/dist/unittests/VMCore/MetadataTest.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcher.h vendor/llvm/dist/utils/TableGen/DAGISelMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp vendor/llvm/dist/utils/TableGen/LLVMCConfigurationEmitter.cpp vendor/llvm/dist/utils/lit/lit/TestRunner.py vendor/llvm/dist/utils/lit/lit/TestingConfig.py Modified: vendor/llvm/dist/CMakeLists.txt ============================================================================== --- vendor/llvm/dist/CMakeLists.txt Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/CMakeLists.txt Sat Mar 6 09:22:29 2010 (r204792) @@ -52,6 +52,7 @@ set(LLVM_ALL_TARGETS CellSPU CppBackend Mips + MBlaze MSIL MSP430 PIC16 Modified: vendor/llvm/dist/Makefile.config.in ============================================================================== --- vendor/llvm/dist/Makefile.config.in Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/Makefile.config.in Sat Mar 6 09:22:29 2010 (r204792) @@ -76,14 +76,14 @@ endif LLVMMAKE := $(LLVM_SRC_ROOT)/make -PROJ_bindir := $(DESTDIR)$(PROJ_prefix)/bin -PROJ_libdir := $(DESTDIR)$(PROJ_prefix)/lib -PROJ_datadir := $(DESTDIR)$(PROJ_prefix)/share -PROJ_docsdir := $(DESTDIR)$(PROJ_prefix)/docs/llvm -PROJ_etcdir := $(DESTDIR)$(PROJ_prefix)/etc/llvm -PROJ_includedir := $(DESTDIR)$(PROJ_prefix)/include -PROJ_infodir := $(DESTDIR)$(PROJ_prefix)/info -PROJ_mandir := $(DESTDIR)$(PROJ_prefix)/share/man +PROJ_bindir := $(PROJ_prefix)/bin +PROJ_libdir := $(PROJ_prefix)/lib +PROJ_datadir := $(PROJ_prefix)/share +PROJ_docsdir := $(PROJ_prefix)/docs/llvm +PROJ_etcdir := $(PROJ_prefix)/etc/llvm +PROJ_includedir := $(PROJ_prefix)/include +PROJ_infodir := $(PROJ_prefix)/info +PROJ_mandir := $(PROJ_prefix)/share/man # Determine if we're on a unix type operating system LLVM_ON_UNIX:=@LLVM_ON_UNIX@ Modified: vendor/llvm/dist/Makefile.rules ============================================================================== --- vendor/llvm/dist/Makefile.rules Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/Makefile.rules Sat Mar 6 09:22:29 2010 (r204792) @@ -781,7 +781,7 @@ ObjectsBC := $(BaseNameSources:%=$(ObjDi # in the file so they get built before dependencies #--------------------------------------------------------- -$(PROJ_bindir) $(PROJ_libdir) $(PROJ_includedir) $(PROJ_etcdir):: +$(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PROJ_libdir) $(DESTDIR)$(PROJ_includedir) $(DESTDIR)$(PROJ_etcdir):: $(Verb) $(MKDIR) $@ # To create other directories, as needed, and timestamp their creation @@ -904,22 +904,22 @@ install-local:: uninstall-local:: $(Echo) UnInstall circumvented with NO_INSTALL else -install-local:: $(PROJ_etcdir) $(CONFIG_FILES) - $(Echo) Installing Configuration Files To $(PROJ_etcdir) +install-local:: $(DESTDIR)$(PROJ_etcdir) $(CONFIG_FILES) + $(Echo) Installing Configuration Files To $(DESTDIR)$(PROJ_etcdir) $(Verb)for file in $(CONFIG_FILES); do \ if test -f $(PROJ_OBJ_DIR)/$${file} ; then \ - $(DataInstall) $(PROJ_OBJ_DIR)/$${file} $(PROJ_etcdir) ; \ + $(DataInstall) $(PROJ_OBJ_DIR)/$${file} $(DESTDIR)$(PROJ_etcdir) ; \ elif test -f $(PROJ_SRC_DIR)/$${file} ; then \ - $(DataInstall) $(PROJ_SRC_DIR)/$${file} $(PROJ_etcdir) ; \ + $(DataInstall) $(PROJ_SRC_DIR)/$${file} $(DESTDIR)$(PROJ_etcdir) ; \ else \ $(ECHO) Error: cannot find config file $${file}. ; \ fi \ done uninstall-local:: - $(Echo) Uninstalling Configuration Files From $(PROJ_etcdir) + $(Echo) Uninstalling Configuration Files From $(DESTDIR)$(PROJ_etcdir) $(Verb)for file in $(CONFIG_FILES); do \ - $(RM) -f $(PROJ_etcdir)/$${file} ; \ + $(RM) -f $(DESTDIR)$(PROJ_etcdir)/$${file} ; \ done endif @@ -1011,7 +1011,7 @@ endif ifdef BYTECODE_DESTINATION ModuleDestDir := $(BYTECODE_DESTINATION) else -ModuleDestDir := $(PROJ_libdir) +ModuleDestDir := $(DESTDIR)$(PROJ_libdir) endif ifdef NO_INSTALL @@ -1090,17 +1090,17 @@ install-local:: uninstall-local:: $(Echo) Uninstall circumvented with NO_INSTALL else -DestSharedLib = $(PROJ_libdir)/lib$(LIBRARYNAME)$(SHLIBEXT) +DestSharedLib = $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME)$(SHLIBEXT) install-local:: $(DestSharedLib) -$(DestSharedLib): $(LibName.SO) $(PROJ_libdir) +$(DestSharedLib): $(LibName.SO) $(DESTDIR)$(PROJ_libdir) $(Echo) Installing $(BuildMode) Shared Library $(DestSharedLib) $(Verb) $(INSTALL) $(LibName.SO) $(DestSharedLib) uninstall-local:: $(Echo) Uninstalling $(BuildMode) Shared Library $(DestSharedLib) - -$(Verb) $(RM) -f $(PROJ_libdir)/lib$(LIBRARYNAME).* + -$(Verb) $(RM) -f $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME).* endif endif @@ -1144,7 +1144,7 @@ endif ifdef BYTECODE_DESTINATION BytecodeDestDir := $(BYTECODE_DESTINATION) else -BytecodeDestDir := $(PROJ_libdir) +BytecodeDestDir := $(DESTDIR)$(PROJ_libdir) endif DestBytecodeLib = $(BytecodeDestDir)/lib$(LIBRARYNAME).bca @@ -1209,13 +1209,13 @@ install-local:: uninstall-local:: $(Echo) Uninstall circumvented with NO_INSTALL else -DestArchiveLib := $(PROJ_libdir)/lib$(LIBRARYNAME).a +DestArchiveLib := $(DESTDIR)$(PROJ_libdir)/lib$(LIBRARYNAME).a install-local:: $(DestArchiveLib) -$(DestArchiveLib): $(LibName.A) $(PROJ_libdir) +$(DestArchiveLib): $(LibName.A) $(DESTDIR)$(PROJ_libdir) $(Echo) Installing $(BuildMode) Archive Library $(DestArchiveLib) - $(Verb) $(MKDIR) $(PROJ_libdir) + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_libdir) $(Verb) $(INSTALL) $(LibName.A) $(DestArchiveLib) uninstall-local:: @@ -1315,11 +1315,11 @@ install-local:: uninstall-local:: $(Echo) Uninstall circumvented with NO_INSTALL else -DestTool = $(PROJ_bindir)/$(TOOLEXENAME) +DestTool = $(DESTDIR)$(PROJ_bindir)/$(TOOLEXENAME) install-local:: $(DestTool) -$(DestTool): $(ToolBuildPath) $(PROJ_bindir) +$(DestTool): $(ToolBuildPath) $(DESTDIR)$(PROJ_bindir) $(Echo) Installing $(BuildMode) $(DestTool) $(Verb) $(ProgInstall) $(ToolBuildPath) $(DestTool) @@ -1964,25 +1964,25 @@ uninstall-local:: else install-local:: $(Echo) Installing include files - $(Verb) $(MKDIR) $(PROJ_includedir) + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_includedir) $(Verb) if test -d "$(PROJ_SRC_ROOT)/include" ; then \ cd $(PROJ_SRC_ROOT)/include && \ for hdr in `find . -type f '!' '(' -name '*~' \ -o -name '.#*' -o -name '*.in' ')' -print | grep -v CVS | \ grep -v .svn` ; do \ - instdir=`dirname "$(PROJ_includedir)/$$hdr"` ; \ + instdir=`dirname "$(DESTDIR)$(PROJ_includedir)/$$hdr"` ; \ if test \! -d "$$instdir" ; then \ $(EchoCmd) Making install directory $$instdir ; \ $(MKDIR) $$instdir ;\ fi ; \ - $(DataInstall) $$hdr $(PROJ_includedir)/$$hdr ; \ + $(DataInstall) $$hdr $(DESTDIR)$(PROJ_includedir)/$$hdr ; \ done ; \ fi ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT)) $(Verb) if test -d "$(PROJ_OBJ_ROOT)/include" ; then \ cd $(PROJ_OBJ_ROOT)/include && \ for hdr in `find . -type f -print | grep -v CVS` ; do \ - $(DataInstall) $$hdr $(PROJ_includedir)/$$hdr ; \ + $(DataInstall) $$hdr $(DESTDIR)$(PROJ_includedir)/$$hdr ; \ done ; \ fi endif @@ -1994,10 +1994,10 @@ uninstall-local:: $(RM) -f `find . -path '*/Internal' -prune -o '(' -type f \ '!' '(' -name '*~' -o -name '.#*' \ -o -name '*.in' ')' -print ')' | \ - grep -v CVS | sed 's#^#$(PROJ_includedir)/#'` ; \ + grep -v CVS | sed 's#^#$(DESTDIR)$(PROJ_includedir)/#'` ; \ cd $(PROJ_SRC_ROOT)/include && \ $(RM) -f `find . -path '*/Internal' -prune -o '(' -type f -name '*.in' \ - -print ')' | sed 's#\.in$$##;s#^#$(PROJ_includedir)/#'` ; \ + -print ')' | sed 's#\.in$$##;s#^#$(DESTDIR)$(PROJ_includedir)/#'` ; \ fi endif endif Modified: vendor/llvm/dist/bindings/ocaml/bitwriter/bitwriter_ocaml.c ============================================================================== --- vendor/llvm/dist/bindings/ocaml/bitwriter/bitwriter_ocaml.c Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/bitwriter/bitwriter_ocaml.c Sat Mar 6 09:22:29 2010 (r204792) @@ -28,3 +28,18 @@ CAMLprim value llvm_write_bitcode_file(v int res = LLVMWriteBitcodeToFile((LLVMModuleRef) M, String_val(Path)); return Val_bool(res == 0); } + +/* ?unbuffered:bool -> Llvm.llmodule -> Unix.file_descr -> bool */ +CAMLprim value llvm_write_bitcode_to_fd(value U, value M, value FD) { + int Unbuffered; + int res; + + if (U == Val_int(0)) { + Unbuffered = 0; + } else { + Unbuffered = Bool_val(Field(U,0)); + } + + res = LLVMWriteBitcodeToFD((LLVMModuleRef) M, Int_val(FD), 0, Unbuffered); + return Val_bool(res == 0); +} Modified: vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.ml Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.ml Sat Mar 6 09:22:29 2010 (r204792) @@ -16,3 +16,10 @@ (* Writes the bitcode for module the given path. Returns true if successful. *) external write_bitcode_file : Llvm.llmodule -> string -> bool = "llvm_write_bitcode_file" + +external write_bitcode_to_fd : ?unbuffered:bool -> Llvm.llmodule + -> Unix.file_descr -> bool + = "llvm_write_bitcode_to_fd" + +let output_bitcode ?unbuffered channel m = + write_bitcode_to_fd ?unbuffered m (Unix.descr_of_out_channel channel) Modified: vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.mli Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/bitwriter/llvm_bitwriter.mli Sat Mar 6 09:22:29 2010 (r204792) @@ -16,3 +16,15 @@ [path]. Returns [true] if successful, [false] otherwise. *) external write_bitcode_file : Llvm.llmodule -> string -> bool = "llvm_write_bitcode_file" + +(** [write_bitcode_to_fd ~unbuffered fd m] writes the bitcode for module + [m] to the channel [c]. If [unbuffered] is [true], after every write the fd + will be flushed. Returns [true] if successful, [false] otherwise. *) +external write_bitcode_to_fd : ?unbuffered:bool -> Llvm.llmodule + -> Unix.file_descr -> bool + = "llvm_write_bitcode_to_fd" + +(** [output_bitcode ~unbuffered c m] writes the bitcode for module [m] + to the channel [c]. If [unbuffered] is [true], after every write the fd + will be flushed. Returns [true] if successful, [false] otherwise. *) +val output_bitcode : ?unbuffered:bool -> out_channel -> Llvm.llmodule -> bool Modified: vendor/llvm/dist/bindings/ocaml/executionengine/executionengine_ocaml.c ============================================================================== --- vendor/llvm/dist/bindings/ocaml/executionengine/executionengine_ocaml.c Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/executionengine/executionengine_ocaml.c Sat Mar 6 09:22:29 2010 (r204792) @@ -91,7 +91,7 @@ CAMLprim value llvm_genericvalue_of_floa } /* 'a -> t */ -CAMLprim value llvm_genericvalue_of_value(value V) { +CAMLprim value llvm_genericvalue_of_pointer(value V) { CAMLparam1(V); CAMLreturn(alloc_generic_value(LLVMCreateGenericValueOfPointer(Op_val(V)))); } @@ -130,7 +130,7 @@ CAMLprim value llvm_genericvalue_as_floa } /* t -> 'a */ -CAMLprim value llvm_genericvalue_as_value(value GenVal) { +CAMLprim value llvm_genericvalue_as_pointer(value GenVal) { return Val_op(LLVMGenericValueToPointer(Genericvalue_val(GenVal))); } @@ -204,14 +204,14 @@ CAMLprim value llvm_ee_dispose(LLVMExecu } /* llmodule -> ExecutionEngine.t -> unit */ -CAMLprim value llvm_ee_add_mp(LLVMModuleRef M, LLVMExecutionEngineRef EE) { +CAMLprim value llvm_ee_add_module(LLVMModuleRef M, LLVMExecutionEngineRef EE) { LLVMAddModule(EE, M); return Val_unit; } /* llmodule -> ExecutionEngine.t -> llmodule */ -CAMLprim LLVMModuleRef llvm_ee_remove_mp(LLVMModuleRef M, - LLVMExecutionEngineRef EE) { +CAMLprim LLVMModuleRef llvm_ee_remove_module(LLVMModuleRef M, + LLVMExecutionEngineRef EE) { LLVMModuleRef RemovedModule; char *Error; if (LLVMRemoveModule(EE, M, &RemovedModule, &Error)) Modified: vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.ml Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.ml Sat Mar 6 09:22:29 2010 (r204792) @@ -20,7 +20,7 @@ module GenericValue = struct external of_float: Llvm.lltype -> float -> t = "llvm_genericvalue_of_float" external of_pointer: 'a -> t - = "llvm_genericvalue_of_value" + = "llvm_genericvalue_of_pointer" external of_int32: Llvm.lltype -> int32 -> t = "llvm_genericvalue_of_int32" external of_int: Llvm.lltype -> int -> t @@ -33,7 +33,7 @@ module GenericValue = struct external as_float: Llvm.lltype -> t -> float = "llvm_genericvalue_as_float" external as_pointer: t -> 'a - = "llvm_genericvalue_as_value" + = "llvm_genericvalue_as_pointer" external as_int32: t -> int32 = "llvm_genericvalue_as_int32" external as_int: t -> int @@ -65,9 +65,9 @@ module ExecutionEngine = struct external dispose: t -> unit = "llvm_ee_dispose" external add_module: Llvm.llmodule -> t -> unit - = "llvm_ee_add_mp" + = "llvm_ee_add_module" external remove_module: Llvm.llmodule -> t -> Llvm.llmodule - = "llvm_ee_remove_mp" + = "llvm_ee_remove_module" external find_function: string -> t -> Llvm.llvalue option = "llvm_ee_find_function" external run_function: Llvm.llvalue -> GenericValue.t array -> t -> Modified: vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.mli Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/executionengine/llvm_executionengine.mli Sat Mar 6 09:22:29 2010 (r204792) @@ -25,57 +25,58 @@ module GenericValue: sig (** [of_float fpty n] boxes the float [n] in a float-valued generic value according to the floating point type [fpty]. See the fields [llvm::GenericValue::DoubleVal] and [llvm::GenericValue::FloatVal]. *) - val of_float: Llvm.lltype -> float -> t + external of_float : Llvm.lltype -> float -> t = "llvm_genericvalue_of_float" (** [of_pointer v] boxes the pointer value [v] in a generic value. See the field [llvm::GenericValue::PointerVal]. *) - val of_pointer: 'a -> t + external of_pointer : 'a -> t = "llvm_genericvalue_of_pointer" (** [of_int32 n w] boxes the int32 [i] in a generic value with the bitwidth [w]. See the field [llvm::GenericValue::IntVal]. *) - val of_int32: Llvm.lltype -> int32 -> t + external of_int32 : Llvm.lltype -> int32 -> t = "llvm_genericvalue_of_int32" (** [of_int n w] boxes the int [i] in a generic value with the bitwidth [w]. See the field [llvm::GenericValue::IntVal]. *) - val of_int: Llvm.lltype -> int -> t + external of_int : Llvm.lltype -> int -> t = "llvm_genericvalue_of_int" (** [of_natint n w] boxes the native int [i] in a generic value with the bitwidth [w]. See the field [llvm::GenericValue::IntVal]. *) - val of_nativeint: Llvm.lltype -> nativeint -> t - + external of_nativeint : Llvm.lltype -> nativeint -> t + = "llvm_genericvalue_of_nativeint" + (** [of_int64 n w] boxes the int64 [i] in a generic value with the bitwidth [w]. See the field [llvm::GenericValue::IntVal]. *) - val of_int64: Llvm.lltype -> int64 -> t - + external of_int64 : Llvm.lltype -> int64 -> t = "llvm_genericvalue_of_int64" + (** [as_float fpty gv] unboxes the floating point-valued generic value [gv] of floating point type [fpty]. See the fields [llvm::GenericValue::DoubleVal] and [llvm::GenericValue::FloatVal]. *) - val as_float: Llvm.lltype -> t -> float + external as_float : Llvm.lltype -> t -> float = "llvm_genericvalue_as_float" (** [as_pointer gv] unboxes the pointer-valued generic value [gv]. See the field [llvm::GenericValue::PointerVal]. *) - val as_pointer: t -> 'a + external as_pointer : t -> 'a = "llvm_genericvalue_as_pointer" (** [as_int32 gv] unboxes the integer-valued generic value [gv] as an [int32]. Is invalid if [gv] has a bitwidth greater than 32 bits. See the field [llvm::GenericValue::IntVal]. *) - val as_int32: t -> int32 + external as_int32 : t -> int32 = "llvm_genericvalue_as_int32" (** [as_int gv] unboxes the integer-valued generic value [gv] as an [int]. Is invalid if [gv] has a bitwidth greater than the host bit width (but the most significant bit may be lost). See the field [llvm::GenericValue::IntVal]. *) - val as_int: t -> int + external as_int : t -> int = "llvm_genericvalue_as_int" (** [as_natint gv] unboxes the integer-valued generic value [gv] as a [nativeint]. Is invalid if [gv] has a bitwidth greater than [nativeint]. See the field [llvm::GenericValue::IntVal]. *) - val as_nativeint: t -> nativeint + external as_nativeint : t -> nativeint = "llvm_genericvalue_as_nativeint" (** [as_int64 gv] returns the integer-valued generic value [gv] as an [int64]. Is invalid if [gv] has a bitwidth greater than [int64]. See the field [llvm::GenericValue::IntVal]. *) - val as_int64: t -> int64 + external as_int64 : t -> int64 = "llvm_genericvalue_as_int64" end @@ -90,66 +91,72 @@ module ExecutionEngine: sig interpreter. Raises [Error msg] if an error occurrs. The execution engine is not garbage collected and must be destroyed with [dispose ee]. See the function [llvm::EngineBuilder::create]. *) - val create: Llvm.llmodule -> t + external create : Llvm.llmodule -> t = "llvm_ee_create" (** [create_interpreter m] creates a new interpreter, taking ownership of the module [m] if successful. Raises [Error msg] if an error occurrs. The execution engine is not garbage collected and must be destroyed with [dispose ee]. See the function [llvm::EngineBuilder::create]. *) - val create_interpreter: Llvm.llmodule -> t + external create_interpreter : Llvm.llmodule -> t = "llvm_ee_create_interpreter" (** [create_jit m optlevel] creates a new JIT (just-in-time compiler), taking ownership of the module [m] if successful with the desired optimization level [optlevel]. Raises [Error msg] if an error occurrs. The execution engine is not garbage collected and must be destroyed with [dispose ee]. See the function [llvm::EngineBuilder::create]. *) - val create_jit : Llvm.llmodule -> int -> t + external create_jit : Llvm.llmodule -> int -> t = "llvm_ee_create_jit" (** [dispose ee] releases the memory used by the execution engine and must be invoked to avoid memory leaks. *) - val dispose: t -> unit + external dispose : t -> unit = "llvm_ee_dispose" (** [add_module m ee] adds the module [m] to the execution engine [ee]. *) - val add_module: Llvm.llmodule -> t -> unit + external add_module : Llvm.llmodule -> t -> unit = "llvm_ee_add_module" (** [remove_module m ee] removes the module [m] from the execution engine [ee], disposing of [m] and the module referenced by [mp]. Raises [Error msg] if an error occurs. *) - val remove_module: Llvm.llmodule -> t -> Llvm.llmodule + external remove_module : Llvm.llmodule -> t -> Llvm.llmodule + = "llvm_ee_remove_module" (** [find_function n ee] finds the function named [n] defined in any of the modules owned by the execution engine [ee]. Returns [None] if the function is not found and [Some f] otherwise. *) - val find_function: string -> t -> Llvm.llvalue option + external find_function : string -> t -> Llvm.llvalue option + = "llvm_ee_find_function" (** [run_function f args ee] synchronously executes the function [f] with the arguments [args], which must be compatible with the parameter types. *) - val run_function: Llvm.llvalue -> GenericValue.t array -> t -> - GenericValue.t + external run_function : Llvm.llvalue -> GenericValue.t array -> t -> + GenericValue.t + = "llvm_ee_run_function" (** [run_static_ctors ee] executes the static constructors of each module in the execution engine [ee]. *) - val run_static_ctors: t -> unit + external run_static_ctors : t -> unit = "llvm_ee_run_static_ctors" (** [run_static_dtors ee] executes the static destructors of each module in the execution engine [ee]. *) - val run_static_dtors: t -> unit + external run_static_dtors : t -> unit = "llvm_ee_run_static_dtors" (** [run_function_as_main f args env ee] executes the function [f] as a main function, passing it [argv] and [argc] according to the string array [args], and [envp] as specified by the array [env]. Returns the integer return value of the function. *) - val run_function_as_main: Llvm.llvalue -> string array -> - (string * string) array -> t -> int + external run_function_as_main : Llvm.llvalue -> string array -> + (string * string) array -> t -> int + = "llvm_ee_run_function_as_main" (** [free_machine_code f ee] releases the memory in the execution engine [ee] used to store the machine code for the function [f]. *) - val free_machine_code: Llvm.llvalue -> t -> unit + external free_machine_code : Llvm.llvalue -> t -> unit + = "llvm_ee_free_machine_code" (** [target_data ee] is the target data owned by the execution engine [ee]. *) - val target_data: t -> Llvm_target.TargetData.t + external target_data : t -> Llvm_target.TargetData.t + = "LLVMGetExecutionEngineTargetData" end external initialize_native_target : unit -> bool Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.ml Sat Mar 6 09:22:29 2010 (r204792) @@ -90,11 +90,13 @@ module Attribute = struct | Optsize | Ssp | Sspreq + | Alignment | Nocapture | Noredzone | Noimplicitfloat | Naked | Inlinehint + | Stackalignment end module Icmp = struct Modified: vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/llvm/llvm.mli Sat Mar 6 09:22:29 2010 (r204792) @@ -139,11 +139,13 @@ module Attribute : sig | Optsize | Ssp | Sspreq + | Alignment | Nocapture | Noredzone | Noimplicitfloat | Naked | Inlinehint + | Stackalignment end (** The predicate for an integer comparison ([icmp]) instruction. Modified: vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml Sat Mar 6 09:22:29 2010 (r204792) @@ -10,9 +10,38 @@ external add_constant_propagation : [ unit = "llvm_add_constant_propagation" -external add_instruction_combining : [ unit - = "llvm_add_instruction_combining" +external add_sccp : [ unit + = "llvm_add_sccp" +external add_dead_store_elimination : [ unit + = "llvm_add_dead_store_elimination" +external add_aggressive_dce : [ unit + = "llvm_add_aggressive_dce" +external +add_scalar_repl_aggregation : [ unit + = "llvm_add_scalar_repl_aggregation" +external add_ind_var_simplification : [ unit + = "llvm_add_ind_var_simplification" +external +add_instruction_combination : [ unit + = "llvm_add_instruction_combination" +external add_licm : [ unit + = "llvm_add_licm" +external add_loop_unswitch : [ unit + = "llvm_add_loop_unswitch" +external add_loop_unroll : [ unit + = "llvm_add_loop_unroll" +external add_loop_rotation : [ unit + = "llvm_add_loop_rotation" +external add_loop_index_split : [ unit + = "llvm_add_loop_index_split" external add_memory_to_register_promotion : [ unit @@ -21,12 +50,26 @@ external add_memory_to_register_demotion : [ unit = "llvm_add_memory_to_register_demotion" -external add_reassociation : [ unit +external add_reassociation : [ unit = "llvm_add_reassociation" -external add_gvn : [ unit - = "llvm_add_gvn" +external add_jump_threading : [ unit + = "llvm_add_jump_threading" external add_cfg_simplification : [ unit = "llvm_add_cfg_simplification" +external +add_tail_call_elimination : [ unit + = "llvm_add_tail_call_elimination" +external add_gvn : [ unit + = "llvm_add_gvn" +external add_memcpy_opt : [ unit + = "llvm_add_memcpy_opt" +external add_loop_deletion : [ unit + = "llvm_add_loop_deletion" +external +add_lib_call_simplification : [ unit + = "llvm_add_lib_call_simplification" Modified: vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli Sat Mar 6 09:22:29 2010 (r204792) @@ -17,10 +17,59 @@ external add_constant_propagation : [ unit = "llvm_add_constant_propagation" +(** See the [llvm::createSCCPPass] function. *) +external add_sccp : [ unit + = "llvm_add_sccp" + +(** See [llvm::createDeadStoreEliminationPass] function. *) +external add_dead_store_elimination : [ unit + = "llvm_add_dead_store_elimination" + +(** See The [llvm::createAggressiveDCEPass] function. *) +external add_aggressive_dce : [ unit + = "llvm_add_aggressive_dce" + +(** See the [llvm::createScalarReplAggregatesPass] function. *) +external +add_scalar_repl_aggregation : [ unit + = "llvm_add_scalar_repl_aggregation" + +(** See the [llvm::createIndVarSimplifyPass] function. *) +external add_ind_var_simplification : [ unit + = "llvm_add_ind_var_simplification" + (** See the [llvm::createInstructionCombiningPass] function. *) -external add_instruction_combining : [ unit - = "llvm_add_instruction_combining" +external +add_instruction_combination : [ unit + = "llvm_add_instruction_combination" + +(** See the [llvm::createLICMPass] function. *) +external add_licm : [ unit + = "llvm_add_licm" + +(** See the [llvm::createLoopUnswitchPass] function. *) +external add_loop_unswitch : [ unit + = "llvm_add_loop_unswitch" + +(** See the [llvm::createLoopUnrollPass] function. *) +external add_loop_unroll : [ unit + = "llvm_add_loop_unroll" + +(** See the [llvm::createLoopRotatePass] function. *) +external add_loop_rotation : [ unit + = "llvm_add_loop_rotation" + +(** See the [llvm::createLoopIndexSplitPass] function. *) +external add_loop_index_split : [ unit + = "llvm_add_loop_index_split" (** See the [llvm::createPromoteMemoryToRegisterPass] function. *) external @@ -35,16 +84,40 @@ add_memory_to_register_demotion : [ unit +external add_reassociation : [ unit = "llvm_add_reassociation" -(** See the [llvm::createGVNPass] function. *) -external add_gvn : [ unit - = "llvm_add_gvn" +(** See the [llvm::createJumpThreadingPass] function. *) +external add_jump_threading : [ unit + = "llvm_add_jump_threading" (** See the [llvm::createCFGSimplificationPass] function. *) external add_cfg_simplification : [ unit = "llvm_add_cfg_simplification" + +(** See the [llvm::createTailCallEliminationPass] function. *) +external +add_tail_call_elimination : [ unit + = "llvm_add_tail_call_elimination" + +(** See the [llvm::createGVNPass] function. *) +external add_gvn : [ unit + = "llvm_add_gvn" + +(** See the [llvm::createMemCpyOptPass] function. *) +external add_memcpy_opt : [ unit + = "llvm_add_memcpy_opt" + +(** See the [llvm::createLoopDeletionPass] function. *) +external add_loop_deletion : [ unit + = "llvm_add_loop_deletion" + +(** See the [llvm::createSimplifyLibCallsPass] function. *) +external +add_lib_call_simplification : [ unit + = "llvm_add_lib_call_simplification" Modified: vendor/llvm/dist/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c ============================================================================== --- vendor/llvm/dist/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c Sat Mar 6 09:22:29 2010 (r204792) @@ -26,12 +26,72 @@ CAMLprim value llvm_add_constant_propaga } /* [ unit */ -CAMLprim value llvm_add_instruction_combining(LLVMPassManagerRef PM) { +CAMLprim value llvm_add_sccp(LLVMPassManagerRef PM) { + LLVMAddSCCPPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_dead_store_elimination(LLVMPassManagerRef PM) { + LLVMAddDeadStoreEliminationPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_aggressive_dce(LLVMPassManagerRef PM) { + LLVMAddAggressiveDCEPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_scalar_repl_aggregation(LLVMPassManagerRef PM) { + LLVMAddScalarReplAggregatesPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_ind_var_simplification(LLVMPassManagerRef PM) { + LLVMAddIndVarSimplifyPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_instruction_combination(LLVMPassManagerRef PM) { LLVMAddInstructionCombiningPass(PM); return Val_unit; } /* [ unit */ +CAMLprim value llvm_add_licm(LLVMPassManagerRef PM) { + LLVMAddLICMPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_loop_unswitch(LLVMPassManagerRef PM) { + LLVMAddLoopUnrollPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_loop_unroll(LLVMPassManagerRef PM) { + LLVMAddLoopUnrollPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_loop_rotation(LLVMPassManagerRef PM) { + LLVMAddLoopRotatePass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_loop_index_split(LLVMPassManagerRef PM) { + LLVMAddLoopIndexSplitPass(PM); + return Val_unit; +} + +/* [ unit */ CAMLprim value llvm_add_memory_to_register_promotion(LLVMPassManagerRef PM) { LLVMAddPromoteMemoryToRegisterPass(PM); return Val_unit; @@ -50,8 +110,8 @@ CAMLprim value llvm_add_reassociation(LL } /* [ unit */ -CAMLprim value llvm_add_gvn(LLVMPassManagerRef PM) { - LLVMAddGVNPass(PM); +CAMLprim value llvm_add_jump_threading(LLVMPassManagerRef PM) { + LLVMAddJumpThreadingPass(PM); return Val_unit; } @@ -60,3 +120,33 @@ CAMLprim value llvm_add_cfg_simplificati LLVMAddCFGSimplificationPass(PM); return Val_unit; } + +/* [ unit */ +CAMLprim value llvm_add_tail_call_elimination(LLVMPassManagerRef PM) { + LLVMAddTailCallEliminationPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_gvn(LLVMPassManagerRef PM) { + LLVMAddGVNPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_memcpy_opt(LLVMPassManagerRef PM) { + LLVMAddMemCpyOptPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_loop_deletion(LLVMPassManagerRef PM) { + LLVMAddLoopDeletionPass(PM); + return Val_unit; +} + +/* [ unit */ +CAMLprim value llvm_add_lib_call_simplification(LLVMPassManagerRef PM) { + LLVMAddSimplifyLibCallsPass(PM); + return Val_unit; +} Modified: vendor/llvm/dist/docs/CommandGuide/Makefile ============================================================================== --- vendor/llvm/dist/docs/CommandGuide/Makefile Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/docs/CommandGuide/Makefile Sat Mar 6 09:22:29 2010 (r204792) @@ -77,9 +77,9 @@ EXTRA_DIST := $(POD) index.html clean-local:: $(Verb) $(RM) -f pod2htm*.*~~ $(HTML) $(MAN) $(PS) -HTML_DIR := $(PROJ_docsdir)/html/CommandGuide -MAN_DIR := $(PROJ_mandir)/man1 -PS_DIR := $(PROJ_docsdir)/ps +HTML_DIR := $(DESTDIR)$(PROJ_docsdir)/html/CommandGuide +MAN_DIR := $(DESTDIR)$(PROJ_mandir)/man1 +PS_DIR := $(DESTDIR)$(PROJ_docsdir)/ps install-local:: $(HTML) $(INSTALL_MANS) $(PS) $(Echo) Installing HTML CommandGuide Documentation Modified: vendor/llvm/dist/docs/LangRef.html ============================================================================== --- vendor/llvm/dist/docs/LangRef.html Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/docs/LangRef.html Sat Mar 6 09:22:29 2010 (r204792) @@ -2520,6 +2520,23 @@ call void asm alignstack "eieio", ""() metadata nodes, which can be looked up in the module symbol table. For example: "!foo = metadata !{!4, !3}". +

Metadata can be used as function arguments. Here llvm.dbg.value + function is using two metadata arguments. + +

+
+       call void @llvm.dbg.value(metadata !24, i64 0, metadata !25)
+     
+

+ +

Metadata can be attached with an instruction. Here metadata !21 is + attached with add instruction using !dbg identifier. + +

+
+      %indvar.next = add i64 %indvar, 1, !dbg !21
+    
+

@@ -7453,7 +7470,7 @@ LLVM.

Chris Lattner
The LLVM Compiler Infrastructure
- Last modified: $Date: 2010-03-02 07:36:51 +0100 (Tue, 02 Mar 2010) $ + Last modified: $Date: 2010-03-05 00:44:48 +0100 (Fri, 05 Mar 2010) $ Modified: vendor/llvm/dist/docs/Makefile ============================================================================== --- vendor/llvm/dist/docs/Makefile Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/docs/Makefile Sat Mar 6 09:22:29 2010 (r204792) @@ -48,11 +48,11 @@ generated:: doxygen ocamldoc install-html: $(PROJ_OBJ_DIR)/html.tar.gz $(Echo) Installing HTML documentation - $(Verb) $(MKDIR) $(PROJ_docsdir)/html - $(Verb) $(MKDIR) $(PROJ_docsdir)/html/img - $(Verb) $(DataInstall) $(HTML) $(PROJ_docsdir)/html - $(Verb) $(DataInstall) $(IMAGES) $(PROJ_docsdir)/html/img - $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(PROJ_docsdir) + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/img + $(Verb) $(DataInstall) $(HTML) $(DESTDIR)$(PROJ_docsdir)/html + $(Verb) $(DataInstall) $(IMAGES) $(DESTDIR)$(PROJ_docsdir)/html/img + $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/html.tar.gz $(DESTDIR)$(PROJ_docsdir) $(PROJ_OBJ_DIR)/html.tar.gz: $(HTML) $(Echo) Packaging HTML documentation @@ -63,11 +63,11 @@ $(PROJ_OBJ_DIR)/html.tar.gz: $(HTML) install-doxygen: doxygen $(Echo) Installing doxygen documentation - $(Verb) $(MKDIR) $(PROJ_docsdir)/html/doxygen - $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(PROJ_docsdir) + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/html/doxygen + $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(DESTDIR)$(PROJ_docsdir) $(Verb) cd $(PROJ_OBJ_DIR)/doxygen && \ $(FIND) . -type f -exec \ - $(DataInstall) {} $(PROJ_docsdir)/html/doxygen \; + $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/html/doxygen \; doxygen: regendoc $(PROJ_OBJ_DIR)/doxygen.tar.gz @@ -94,11 +94,11 @@ $(LLVM_SRC_ROOT)/docs/userloc.html: install-ocamldoc: ocamldoc $(Echo) Installing ocamldoc documentation - $(Verb) $(MKDIR) $(PROJ_docsdir)/ocamldoc/html - $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_docsdir) + $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html + $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(DESTDIR)$(PROJ_docsdir) $(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \ $(FIND) . -type f -exec \ - $(DataInstall) {} $(PROJ_docsdir)/ocamldoc/html \; + $(DataInstall) {} $(DESTDIR)$(PROJ_docsdir)/ocamldoc/html \; ocamldoc: regen-ocamldoc $(Echo) Packaging ocamldoc documentation @@ -120,4 +120,4 @@ regen-ocamldoc: uninstall-local:: $(Echo) Uninstalling Documentation - $(Verb) $(RM) -rf $(PROJ_docsdir) + $(Verb) $(RM) -rf $(DESTDIR)$(PROJ_docsdir) Modified: vendor/llvm/dist/docs/tutorial/Makefile ============================================================================== --- vendor/llvm/dist/docs/tutorial/Makefile Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/docs/tutorial/Makefile Sat Mar 6 09:22:29 2010 (r204792) @@ -12,7 +12,7 @@ include $(LEVEL)/Makefile.common HTML := $(wildcard $(PROJ_SRC_DIR)/*.html) EXTRA_DIST := $(HTML) index.html -HTML_DIR := $(PROJ_docsdir)/html/tutorial +HTML_DIR := $(DESTDIR)$(PROJ_docsdir)/html/tutorial install-local:: $(HTML) $(Echo) Installing HTML Tutorial Documentation Modified: vendor/llvm/dist/include/llvm-c/BitWriter.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/BitWriter.h Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/include/llvm-c/BitWriter.h Sat Mar 6 09:22:29 2010 (r204792) @@ -28,13 +28,16 @@ extern "C" { /*===-- Operations on modules ---------------------------------------------===*/ -/* Writes a module to an open file descriptor. Returns 0 on success. - Closes the Handle. Use dup first if this is not what you want. */ -int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle); - -/* Writes a module to the specified path. Returns 0 on success. */ +/** Writes a module to the specified path. Returns 0 on success. */ int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path); +/** Writes a module to an open file descriptor. Returns 0 on success. */ +int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose, + int Unbuffered); + +/** Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file + descriptor. Returns 0 on success. Closes the Handle. */ +int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle); #ifdef __cplusplus } Modified: vendor/llvm/dist/include/llvm-c/Core.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Core.h Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/include/llvm-c/Core.h Sat Mar 6 09:22:29 2010 (r204792) @@ -112,11 +112,13 @@ typedef enum { LLVMOptimizeForSizeAttribute = 1<<13, LLVMStackProtectAttribute = 1<<14, LLVMStackProtectReqAttribute = 1<<15, + LLVMAlignment = 31<<16, LLVMNoCaptureAttribute = 1<<21, LLVMNoRedZoneAttribute = 1<<22, LLVMNoImplicitFloatAttribute = 1<<23, LLVMNakedAttribute = 1<<24, - LLVMInlineHintAttribute = 1<<25 + LLVMInlineHintAttribute = 1<<25, + LLVMStackAlignment = 7<<26 } LLVMAttribute; typedef enum { Modified: vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/include/llvm/ADT/ScopedHashTable.h Sat Mar 6 09:22:29 2010 (r204792) @@ -139,7 +139,7 @@ public: } V lookup(const K &Key) { - return TopLevelMap[Key].getValue(); + return TopLevelMap[Key]->getValue(); } void insert(const K &Key, const V &Val) { Modified: vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h ============================================================================== --- vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h Sat Mar 6 09:22:29 2010 (r204792) @@ -124,6 +124,10 @@ namespace llvm { /// character is included in the result string. bool GetConstantStringInfo(Value *V, std::string &Str, uint64_t Offset = 0, bool StopAtNul = true); + + /// GetStringLength - If we can compute the length of the string pointed to by + /// the specified pointer, return 'len+1'. If we can't, return 0. + uint64_t GetStringLength(Value *V); } // end namespace llvm #endif Modified: vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h ============================================================================== --- vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h Sat Mar 6 09:09:54 2010 (r204791) +++ vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h Sat Mar 6 09:22:29 2010 (r204792) @@ -419,6 +419,30 @@ private: void AddRegOperandsToUseLists(MachineRegisterInfo &RegInfo); }; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***