Skip to content
  1. Mar 26, 2015
    • Sanjoy Das's avatar
      [ADT][CMake][AutoConf] Fail-fast iterators for DenseMap · 8ce6499b
      Sanjoy Das authored
      Summary:
      This patch is an attempt at making `DenseMapIterator`s "fail-fast".
      Fail-fast iterators that have been invalidated due to insertion into
      the host `DenseMap` deterministically trip an assert (in debug mode)
      on access, instead of non-deterministically hitting memory corruption
      issues.
      
      Enabling fail-fast iterators breaks the LLVM C++ ABI, so they are
      predicated on `LLVM_ENABLE_ABI_BREAKING_CHECKS`.
      `LLVM_ENABLE_ABI_BREAKING_CHECKS` by default flips with
      `LLVM_ENABLE_ASSERTS`, but can be clamped to ON or OFF using the CMake /
      autoconf build system.
      
      Reviewers: chandlerc, dexonsmith, rnk, zturner
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D8351
      
      llvm-svn: 233310
      8ce6499b
  2. Mar 12, 2015
  3. Mar 09, 2015
  4. Feb 28, 2015
  5. Feb 26, 2015
  6. Feb 01, 2015
  7. Jan 30, 2015
  8. Jan 14, 2015
  9. Dec 29, 2014
    • Chandler Carruth's avatar
      [multilib] Add support to the autoconf build to substitute · 9db2b524
      Chandler Carruth authored
      a CLANG_LIBDIR_SUFFIX variable. This is necessary before I can add
      support for using that variable to CMake and the C++ code in Clang, and
      the autoconf build system does all substitutions in the LLVM tree.
      
      As mentioned before, I'm not planning to add actual multilib support to
      the autoconf build, just enough stubs for it to keep playing nicely with
      the CMake build once that one has support.
      
      llvm-svn: 224922
      9db2b524
  10. Dec 12, 2014
    • Rafael Espindola's avatar
      Require python 2.7. · 21a40085
      Rafael Espindola authored
      We were already requiring 2.5, which meant that people on old linux distros
      had to upgrade anyway.
      
      Requiring python 2.6 will make supporting 3.X easier as we can use the 3.X
      exception syntax.
      
      According to the discussion on llvmdev, there is not much value is requiring
      just 2.6, we may as well just require 2.7.
      
      llvm-svn: 224129
      21a40085
  11. Nov 19, 2014
  12. Nov 05, 2014
  13. Oct 30, 2014
    • Peter Zotov's avatar
      [OCaml] [autoconf] Migrate to ocamlfind. · 668f9670
      Peter Zotov authored
      This commit updates the OCaml bindings and tests to use ocamlfind.
      The bindings are migrated in order to use ctypes, which are now
      required for MCJIT-backed Llvm_executionengine.
      The tests are migrated in order to use OUnit and to verify that
      the distributed META.llvm allows to build working executables.
      
      Every OCaml toolchain invocation is now chained through ocamlfind,
      which (in theory) allows to cross-compile the OCaml bindings.
      
      The configure script now checks for ctypes (>= 0.2.3) and
      OUnit (>= 2). The code depending on these libraries will be added
      later. The configure script does not check the package versions
      in order to keep changes less invasive.
      
      Additionally, OCaml bindings will now be automatically enabled
      if ocamlfind is detected on the system, rather than ocamlc, as it
      was before.
      
      llvm-svn: 220899
      668f9670
  14. Oct 27, 2014
  15. Oct 17, 2014
  16. Oct 04, 2014
  17. Aug 14, 2014
    • Rafael Espindola's avatar
      Delete support for AuroraUX. · 36d3ee7c
      Rafael Espindola authored
      auroraux.org is not resolving.
      
      I will add this to the release notes as soon as I figure out where to put the
      3.6 release notes :-)
      
      llvm-svn: 215645
      36d3ee7c
  18. Jul 29, 2014
  19. Jun 06, 2014
  20. May 28, 2014
  21. 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
  22. 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
  23. Mar 12, 2014
    • Rafael Espindola's avatar
      Remove projects/sample. · 730df071
      Rafael Espindola authored
      As an example that was not actually being used, it suffered from a slow bitrot.
      
      The two main issues with it were that it had no cmake support and
      included a copy of the autoconf directory. The reality is that
      autoconf is not easily composable. The lack of composabilty is why we
      have clang options in llvm's configure. Suggesting that users include
      a copy of autoconf/ in their projects seems a bad idea.
      
      We are also in the process of switching to cmake, so pushing autoconf
      to new project is probably not what we want.
      
      llvm-svn: 203728
      730df071
  24. Mar 10, 2014
  25. 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
  26. Mar 01, 2014
    • Chandler Carruth's avatar
      [C++11] Replace autoconf --enable-cxx11 with --enable-cxx1y. The · bbae512c
      Chandler Carruth authored
      baseline is now C++11, and we unconditionally add -std=c++11 to the
      flags.
      
      This has the dim potential to break some non-GNU-compatible compiler (in
      terms of -std flags) using the makefiles, but those makefiles are
      littered with GNU-style compile flags so it would be very surprising to
      me for it to actually happen in practice. As always, do let me know if
      there is a toolchain you're using where this doesn't work, and I'll be
      watching the bots.
      
      llvm-svn: 202569
      bbae512c
  27. Feb 28, 2014
  28. Feb 09, 2014
  29. Feb 05, 2014
    • Todd Fiala's avatar
      Fix configure to find arc4random via header files. · 4ccfe392
      Todd Fiala authored
      ISSUE:
      
      On Ubuntu 12.04 LTS, arc4random is provided by libbsd.so, which is a
      transitive dependency of libedit. If a system had libedit on it that
      was implemented in terms of libbsd.so, then the arc4random test,
      previously implemented as a linker test, would succeed with -ledit.
      However, on Ubuntu this would also require a #include <bsd/stdlib.h>.
      This caused a build breakage on configure-based Ubuntu 12.04 with
      libedit installed.
      
      FIX:
      
      This fix changes configure to test for arc4random by searching for it
      in the standard header files. On Ubuntu 12.04, this test now properly
      fails to find arc4random as it is not defined in the default header
      locations. It also tweaks the #define names to match the output of the
      header check command, which is slightly different than the linker
      function check #defines.
      
      I tested the following scenarios:
      
      (1) Ubuntu 12.04 without the libedit package [did not find arc4random,
      as expected]
      
      (2) Ubuntu 12.04 with libedit package [properly did not find
      arc4random, as expected]
      
      (3) Ubuntu 12.04 with most recent libedit, custom built, and not
      dependent on libbsd.so [properly did not find arc4random, as
      expected].
      
      (4) FreeBSD 10.0B1 [properly found arc4random, as expected]
      
      llvm-svn: 200819
      4ccfe392
Loading