Skip to content
  1. Dec 09, 2014
    • Chris Bieneman's avatar
      Adding a new option to CMake to disable C++ atexit on llvm-shlib. · 5d388e11
      Chris Bieneman authored
      Summary:
      This is desirable for WebKit and other clients of the llvm-shlib because C++ exit time destructors have a tendency to crash when invoked from multi-threaded applications.
      
      Ideally this option will be temporary, because the ideal fix is to just not have exit time destructors.
      
      Reviewers: chapuni, ributzka
      
      Reviewed By: ributzka
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6572
      
      llvm-svn: 223805
      5d388e11
  2. Dec 01, 2014
  3. Nov 19, 2014
  4. Nov 17, 2014
  5. Nov 07, 2014
    • Rafael Espindola's avatar
      Pass PRIVATE to target_link_libraries if using shared libraries. · f9dcf902
      Rafael Espindola authored
      A shared library (unlike a .a), has its dependencies recorded in the library and
      we can pass PRIVATE to target_link_libraries.
      
      This patch then removes some bogus dependencies when using
      BUILD_SHARED_LIBS=ON. For example, we go from
      
      build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:
      CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
      || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so
      lib/libLLVMCore.so lib/libLLVMBitReader.so
      lib/libLLVMTransformUtils.so lib/libLLVMInstCombine.so
      lib/libLLVMScalarOpts.so lib/libLLVMipa.so lib/libLLVMAnalysis.so
      lib/libLLVMMCParser.so lib/libLLVMMC.so lib/libLLVMObject.so
      lib/libLLVMTarget.so lib/libLLVMProfileData.so
      
      to
      
      build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:
      CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
      || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so
      lib/libLLVMCore.so lib/libLLVMTransformUtils.so
      lib/libLLVMScalarOpts.so lib/libLLVMAnalysis.so lib/libLLVMMC.so
      lib/libLLVMTarget.so
      
      In fact, build.ninja goes from 5231028 bytes to 4896759 bytes.
      
      With this, old verisons of bfd ld (2.24 is OK, 2.23 warns) will print a bogus
      warning when building with BUILD_SHARED_LIBS.
      
      llvm-svn: 221530
      f9dcf902
  6. Oct 23, 2014
    • Chris Bieneman's avatar
      Adding llvm-shlib to CMake build system with a few new bells and whistles · adffd014
      Chris Bieneman authored
      Summary:
      This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve.
      
      On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS.
      
      Reviewers: rnk
      
      Reviewed By: rnk
      
      Subscribers: rnk, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D5890
      
      llvm-svn: 220490
      adffd014
  7. Sep 27, 2014
  8. Sep 04, 2014
    • Chris Bieneman's avatar
      Enabling LLVM & Clang to be cross-compiled using CMake from a single configuration command line · 5007741d
      Chris Bieneman authored
      The basic idea is similar to the existing cross compilation support. A directory must be configured to build host versions of tablegen tools and llvm-config. This directory can be user provided (and configured), or it can be created during the build. During a build the native build directory will be configured and built to supply the tablegen tools used during the build. A user could also explicitly provide the tablegen executables to run on the CMake command line.
      
      llvm-svn: 217105
      5007741d
  9. Aug 01, 2014
  10. Jul 29, 2014
  11. Jul 04, 2014
  12. Jun 23, 2014
  13. Jun 12, 2014
  14. Jun 06, 2014
  15. May 24, 2014
    • Tim Northover's avatar
      AArch64/ARM64: move ARM64 into AArch64's place · 3b0846e8
      Tim Northover authored
      This commit starts with a "git mv ARM64 AArch64" and continues out
      from there, renaming the C++ classes, intrinsics, and other
      target-local objects for consistency.
      
      "ARM64" test directories are also moved, and tests that began their
      life in ARM64 use an arm64 triple, those from AArch64 use an aarch64
      triple. Both should be equivalent though.
      
      This finishes the AArch64 merge, and everyone should feel free to
      continue committing as normal now.
      
      llvm-svn: 209577
      3b0846e8
    • Tim Northover's avatar
      AArch64/ARM64: remove AArch64 from tree prior to renaming ARM64. · cc08e1fe
      Tim Northover authored
      I'm doing this in two phases for a better "git blame" record. This
      commit removes the previous AArch64 backend and redirects all
      functionality to ARM64. It also deduplicates test-lines and removes
      orphaned AArch64 tests.
      
      The next step will be "git mv ARM64 AArch64" and rewire most of the
      tests.
      
      Hopefully LLVM is still functional, though it would be even better if
      no-one ever had to care because the rename happens straight
      afterwards.
      
      llvm-svn: 209576
      cc08e1fe
  16. May 07, 2014
  17. Apr 18, 2014
    • Reid Kleckner's avatar
      Added Sphinx documentation generation to CMake build system. · 9f5eb637
      Reid Kleckner authored
      The option LLVM_ENABLE_SPHINX option enables the "docs-llvm-html",
      "docs-llvm-man" targets but does not build them by default. The
      following CMake options have been added that control what targets are
      made available
      
      SPHINX_OUTPUT_HTML
      SPHINX_OUTPUT_MAN
      
      If LLVM_BUILD_DOCS is enabled then the enabled docs-llvm-* targets will
      be built by default and if ``make install`` is run then docs-llvm-html
      and docs-llvm-man will be installed (tested on Linux only).
      
      The add_sphinx_target function is in its own file so it can be included
      by other projects that use Sphinx for their documentation.
      
      Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!
      
      llvm-svn: 206655
      9f5eb637
  18. Apr 14, 2014
  19. Apr 03, 2014
  20. Mar 29, 2014
    • Tim Northover's avatar
      ARM64: initial backend import · 00ed9964
      Tim Northover authored
      This adds a second implementation of the AArch64 architecture to LLVM,
      accessible in parallel via the "arm64" triple. The plan over the
      coming weeks & months is to merge the two into a single backend,
      during which time thorough code review should naturally occur.
      
      Everything will be easier with the target in-tree though, hence this
      commit.
      
      llvm-svn: 205090
      00ed9964
  21. Mar 27, 2014
  22. Mar 14, 2014
  23. Mar 11, 2014
    • Sebastian Pop's avatar
      move WITH_POLLY option before add_subdirectory(tools) · f7d02d47
      Sebastian Pop authored
      the first run of the polly buildbot failed, and then it started passing.
      This is due to the fact that the buildbot re-builds in an existing directory,
      and the first run does not have WITH_POLLY set when it enters tools/.
      Thus, cmake ignores the tools/polly dir in the first run, and then because
      it reuses the CMakeCache.txt of the previous run, it has the WITH_POLLY set
      by the previous run, and so it passes the second time.
      
      llvm-svn: 203615
      f7d02d47
  24. Mar 10, 2014
  25. Mar 09, 2014
  26. Mar 04, 2014
  27. Mar 03, 2014
    • Tom Stellard's avatar
      Add patch level to llvm version in CMake and Autoconf · e6ba81da
      Tom Stellard authored
      The shared library generated by autoconf will now be called
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)$(VERSION_SUFFIX).so
      and a symlink named
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX).so will
      also be created in the install directory.
      
      llvm-svn: 202720
      e6ba81da
  28. Mar 01, 2014
  29. Feb 28, 2014
  30. Feb 27, 2014
  31. Feb 26, 2014
  32. Feb 24, 2014
    • Bernard Ogden's avatar
      Permit CMAKE_INSTALL_RPATH to be set on command line · 301bafed
      Bernard Ogden authored
      Commit 201921 overrides setting of CMAKE_INSTALL_RPATH via the
      command line. Last time this happened we applied another patch
      to only set CMAKE_INSTALL_RPATH if already defined (r197825).
      This patch does the same thing again, but only for the UNIX
      case - we leave APPLE alone as presumably the original committer
      is happy with the non-overriding behaviour.
      
      llvm-svn: 202085
      301bafed
  33. Feb 22, 2014
Loading