Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/llvm/llvm-project.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
  1. Apr 07, 2022
  2. Mar 22, 2022
  3. Feb 26, 2022
  4. Feb 25, 2022
  5. Feb 17, 2022
    • Jameson Nash's avatar
      clang-analyzer plugins require LLVM_ENABLE_PLUGINS also · 9d59cfc6
      Jameson Nash authored
      The clang-analyzer plugins are not linked to a particular tool, so they
      can only be compiled if plugins are broadly supported. We could opt
      instead to decide whether to link them to specifically against clang or
      with undefined symbols, depending on the value of LLVM_ENABLE_PLUGINS,
      but we do not currently expect there to be a use case for that rather
      niche configuration.
      
      Differential Revision: https://reviews.llvm.org/D119591
      9d59cfc6
  6. Feb 10, 2022
  7. Feb 04, 2022
  8. Jan 27, 2022
  9. Jan 22, 2022
  10. Jan 16, 2022
    • John Ericson's avatar
      Revert "[cmake] Use `GNUInstallDirs` to support custom installation dirs." · da77db58
      John Ericson authored
      https://lab.llvm.org/buildbot/#/builders/46/builds/21146 Still have
      this odd error, not sure how to reproduce, so I will just try breaking
      up my patch.
      
      This reverts commit 4a678f80.
      da77db58
    • John Ericson's avatar
      [cmake] Use `GNUInstallDirs` to support custom installation dirs. · 4a678f80
      John Ericson authored
      This is the original patch in my GNUInstallDirs series, now last to merge as the final piece!
      
      It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up
      
       - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested.
      
       - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself.
      
      I figured it was time to make a new revision.
      
      I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful.
      
      ---
      
      As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`.
      
      These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder.
      
      Reviewed By: #libunwind, #libc, #libc_abi, compnerd
      
      Differential Revision: https://reviews.llvm.org/D99484
      4a678f80
  11. Jan 15, 2022
    • John Ericson's avatar
      Revert "[cmake] Use `GNUInstallDirs` to support custom installation dirs." · 6e52bfe0
      John Ericson authored
      Sorry for the disruption, I will try again later.
      
      This reverts commit efeb5019.
      6e52bfe0
    • John Ericson's avatar
      [cmake] Use `GNUInstallDirs` to support custom installation dirs. · efeb5019
      John Ericson authored
      This is the original patch in my GNUInstallDirs series, now last to merge as the final piece!
      
      It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up
      
       - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested.
      
       - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself.
      
      I figured it was time to make a new revision.
      
      I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful.
      
      ---
      
      As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`.
      
      These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder.
      
      Reviewed By: #libunwind, #libc, #libc_abi, compnerd
      
      Differential Revision: https://reviews.llvm.org/D99484
      efeb5019
  12. Jan 08, 2022
    • John Ericson's avatar
      [CMake] Factor out config prefix finding logic · 44e33657
      John Ericson authored
      See the docs in the new function for details.
      
       I think I found every instance of this copy pasted code. Polly could
       also use it, but currently does something different, so I will save the
       behavior change for a future revision.
      
      We get the shared, non-installed CMake modules following the pattern
      established in D116472.
      
      It might be good to have LLD and Flang also use this, but that would be
      a functional change and so I leave it as future work.
      
      Reviewed By: beanz, lebedev.ri
      
      Differential Revision: https://reviews.llvm.org/D116521
      44e33657
  13. Jan 04, 2022
    • John Ericson's avatar
      [clang][cmake] Rearrange top-level CMakeLists.txt for D116492 · a3ab2c94
      John Ericson authored
      In that revision, I make LLD match Clang in deprecating `llvm-config`.
      This patch isn't to worthwhile on its own --- there isn't a sense in
      which the new order is "better" in isolation --- but by putting the
      steps that LLD also neeeds to do first, I make the diff between LLD and
      Clang's top-level `CMakeLists.txt` very legible.
      
      Longer term I hope:
      
       1. We can remove calling `llvm-config` altogether, and just go strait to
          finding the CMake config file. This is what Flang does, at least.
      
       2. Hopefully the diffable part is smaller then --- i.e. there is less
          duplicated boilerplate.
      
       3. Any duplicate boilerplate that remains can be factored out.
      
      I didn't both trying to factor anything out in e.g. the top level common
      CMake Utility modules because this deprecated-but-not-removed state is a
      merely transitional.
      
      Reviewed By: beanz
      
      Differential Revision: https://reviews.llvm.org/D116548
      a3ab2c94
  14. Dec 29, 2021
  15. Dec 15, 2021
    • Fangrui Song's avatar
      [Driver] Add CLANG_DEFAULT_PIE_ON_LINUX to emulate GCC --enable-default-pie · 1042de90
      Fangrui Song authored
      In 2015-05, GCC added the configure option `--enable-default-pie`. When enabled,
      
      * in the absence of -fno-pic/-fpie/-fpic (and their upper-case variants), -fPIE is the default.
      * in the absence of -no-pie/-pie/-shared/-static/-static-pie, -pie is the default.
      
      This has been adopted by all(?) major distros.
      
      I think default PIE is the majority in the Linux world, but
      --disable-default-pie users is not that uncommon because GCC upstream hasn't
      switched the default yet (https://gcc.gnu.org/PR103398).
      
      This patch add CLANG_DEFAULT_PIE_ON_LINUX which allows distros to use default PIE.
      The option is justified as its adoption can be very high among Linux distros
      to make Clang default match GCC, and is likely a future-new-default, at which
      point we will remove CLANG_DEFAULT_PIE_ON_LINUX.
      The lit feature `default-pie-on-linux` can be handy to exclude default PIE sensitive tests.
      
      Reviewed By: foutrelis, sylvestre.ledru, thesamesam
      
      Differential Revision: https://reviews.llvm.org/D113372
      1042de90
  16. Nov 18, 2021
  17. Oct 07, 2021
  18. Sep 25, 2021
  19. Sep 21, 2021
  20. Sep 17, 2021
  21. Mar 28, 2021
  22. Mar 26, 2021
    • Shoaib Meenai's avatar
      [clang] Pass option directly to command. NFC · 33930a07
      Shoaib Meenai authored
      This code was written back when LLVM's minimum required CMake version
      was 2.8.8, and I assume ExternalProject_Add_Step didn't take this option
      at that point. It does now though, so we should just use the option.
      Setting the _EP_* property is entirely equivalent (and is in fact how
      these commands behave internally), but that also feels like an internal
      implementation detail we shouldn't be relying on.
      
      Reviewed By: beanz
      
      Differential Revision: https://reviews.llvm.org/D99322
      33930a07
    • Shoaib Meenai's avatar
      [clang] Always execute multi-stage install steps · 0135bc99
      Shoaib Meenai authored
      We want installs to be executed even if binaries haven't changed, e.g.
      so that we can install to multiple places. This is consistent with how
      non-multi-stage install targets (e.g. the regular install-distribution
      target) behave.
      
      Reviewed By: phosek
      
      Differential Revision: https://reviews.llvm.org/D99321
      0135bc99
  23. Mar 17, 2021
  24. Mar 16, 2021
  25. Mar 09, 2021
    • Martin Storsjö's avatar
      [clang] Don't set CLANG_DEFAULT_UNWINDLIB to none if rtlib is set to compiler-rt · e81d8137
      Martin Storsjö authored
      002dd47b was meant to not be any
      functional change, but it turned out it was.
      
      With CLANG_DEFAULT_RTLIB set to compiler-rt, CLANG_DEFAULT_UNWINDLIB used
      to bet set to an empty string, but now was set to "none".
      
      If one only overrode rtlib to libgcc, one previously would get libgcc
      as unwind lib, but now didn't. This caused test failures, fixed in
      41476d89.
      
      Secondly, for the android target, the previous default was to link
      libunwind, which this now changed.
      
      Reinstate the exact same behaviour as before (removing the previously
      typoed cmake check) and fix the option comment in one place to match
      the other one above.
      
      Differential Revision: https://reviews.llvm.org/D98142
      e81d8137
  26. Mar 06, 2021
  27. Feb 04, 2021
    • Jan Svoboda's avatar
      [clang][cli] Command line round-trip for HeaderSearch options · 225ccf0c
      Jan Svoboda authored
      This patch implements generation of remaining header search arguments.
      It's done manually in C++ as opposed to TableGen, because we need the flexibility and don't anticipate reuse.
      
      This patch also tests the generation of header search options via a round-trip. This way, the code gets exercised whenever Clang is built and tested in asserts mode. All `check-clang` tests pass.
      
      Reviewed By: dexonsmith
      
      Differential Revision: https://reviews.llvm.org/D94472
      225ccf0c
  28. Jan 30, 2021
  29. Jan 19, 2021
    • Raul Tambre's avatar
      [CMake] Remove dead code setting policies to NEW · 480643a9
      Raul Tambre authored
      cmake_minimum_required(VERSION) calls cmake_policy(VERSION),
      which sets all policies up to VERSION to NEW.
      LLVM started requiring CMake 3.13 last year, so we can remove
      a bunch of code setting policies prior to 3.13 to NEW as it
      no longer has any effect.
      
      Reviewed By: phosek, #libunwind, #libc, #libc_abi, ldionne
      
      Differential Revision: https://reviews.llvm.org/D94374
      480643a9
  30. Dec 17, 2020
  31. Dec 02, 2020
Loading