This project is mirrored from https://github.com/llvm-doe-org/llvm-project.git. Pull mirroring updated .
  1. 23 Jan, 2022 37 commits
  2. 22 Jan, 2022 3 commits
    • Malhar Jajoo's avatar
      [openmp] Allow x87 fp functions only in Openmp runtime for x86. · c1988dbf
      Malhar Jajoo authored
      This patch allows Openmp runtime atomic functions operating on x87 high-precision
      to be present only in Openmp runtime for x86 architectures
      
      The functions affected are:
      
      __kmpc_atomic_10
      __kmpc_atomic_20
      __kmpc_atomic_cmplx10_add
      __kmpc_atomic_cmplx10_div
      __kmpc_atomic_cmplx10_mul
      __kmpc_atomic_cmplx10_sub
      __kmpc_atomic_float10_add
      __kmpc_atomic_float10_div
      __kmpc_atomic_float10_mul
      __kmpc_atomic_float10_sub
      
      __kmpc_atomic_float10_add_fp
      __kmpc_atomic_float10_div_fp
      __kmpc_atomic_float10_mul_fp
      __kmpc_atomic_float10_sub_fp
      __kmpc_atomic_float10_max
      __kmpc_atomic_float10_min
      
      Differential Revision: https://reviews.llvm.org/D117473
      c1988dbf
    • John Ericson's avatar
      [clang-tools-extra][cmake] Use `GNUInstallDirs` to support custom installation dirs. · 7c16647c
      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
      7c16647c
    • Sanjay Patel's avatar
      [InstCombine] try to fold binop with phi operands · 39e602b6
      Sanjay Patel authored
      This is an alternate version of D115914 that handles/tests all binary opcodes.
      
      I suspect that we don't see these patterns too often because -simplifycfg
      would convert the minimal cases into selects rather than leave them in phi form
      (note: instcombine has logic holes for combining the select patterns too though,
      so that's another potential patch).
      
      We only create a new binop in a predecessor that unconditionally branches to
      the final block.
      https://alive2.llvm.org/ce/z/C57M2F
      https://alive2.llvm.org/ce/z/WHwAoU (not safe to speculate an sdiv for example)
      https://alive2.llvm.org/ce/z/rdVUvW (but it is ok on this path)
      
      Differential Revision: https://reviews.llvm.org/D117110
      39e602b6