1. Mar 25, 2024
  2. Mar 24, 2024
  3. Mar 23, 2024
    • Michał Górny's avatar
      [Libomptarget] Fix linking to LLVM dylib (#86397) · 3f5e649f
      Michał Górny authored
      Use `LINK_COMPONENTS` parameter of `add_llvm_library` rather than
      passing LLVM components directly to `target_link_libraries`, in order to
      ensure that LLVM dylib is linked correctly when used. Otherwise, CMake
      insists on linking to static libraries that aren't present on
      distributions doing pure dylib installs, such as Gentoo.
      
      This fixes a regression introduced
      in dcbddc25.
      3f5e649f
    • Nikolas Klauser's avatar
      [libc++] Vectorize mismatch (#73255) · b68e2eba
      Nikolas Klauser authored
      ```
      ---------------------------------------------------
      Benchmark                           old         new
      ---------------------------------------------------
      bm_mismatch<char>/1           0.835 ns      2.37 ns
      bm_mismatch<char>/2            1.44 ns      2.60 ns
      bm_mismatch<char>/3            2.06 ns      2.83 ns
      bm_mismatch<char>/4            2.60 ns      3.29 ns
      bm_mismatch<char>/5            3.15 ns      3.77 ns
      bm_mismatch<char>/6            3.82 ns      4.17 ns
      bm_mismatch<char>/7            4.29 ns      4.52 ns
      bm_mismatch<char>/8            4.78 ns      4.86 ns
      bm_mismatch<char>/16           9.06 ns      7.54 ns
      bm_mismatch<char>/64           31.7 ns      19.1 ns
      bm_mismatch<char>/512           249 ns      8.16 ns
      bm_mismatch<char>/4096         1956 ns      44.2 ns
      bm_mismatch<char>/32768       15498 ns       501 ns
      bm_mismatch<char>/262144     123965 ns      4479 ns
      bm_mismatch<char>/1048576    495668 ns     21306 ns
      bm_mismatch<short>/1          0.710 ns      2.12 ns
      bm_mismatch<short>/2           1.03 ns      2.66 ns
      bm_mismatch<short>/3           1.29 ns      3.56 ns
      bm_mismatch<short>/4           1.68 ns      4.29 ns
      bm_mismatch<short>/5           1.96 ns      5.18 ns
      bm_mismatch<short>/6           2.59 ns      5.91 ns
      bm_mismatch<short>/7           2.86 ns      6.63 ns
      bm_mismatch<short>/8           3.19 ns      7.33 ns
      bm_mismatch<short>/16          5.48 ns      13.0 ns
      bm_mismatch<short>/64          16.6 ns      4.06 ns
      bm_mismatch<short>/512          130 ns      13.8 ns
      bm_mismatch<short>/4096         985 ns      93.8 ns
      bm_mismatch<short>/32768       7846 ns      1002 ns
      bm_mismatch<short>/262144     63217 ns     10637 ns
      bm_mismatch<short>/1048576   251782 ns     42471 ns
      bm_mismatch<int>/1            0.716 ns      1.91 ns
      bm_mismatch<int>/2             1.21 ns      2.49 ns
      bm_mismatch<int>/3             1.38 ns      3.46 ns
      bm_mismatch<int>/4             1.71 ns      4.04 ns
      bm_mismatch<int>/5             2.00 ns      4.98 ns
      bm_mismatch<int>/6             2.43 ns      5.67 ns
      bm_mismatch<int>/7             3.05 ns      6.38 ns
      bm_mismatch<int>/8             3.22 ns      7.09 ns
      bm_mismatch<int>/16            5.18 ns      12.8 ns
      bm_mismatch<int>/64            16.6 ns      5.28 ns
      bm_mismatch<int>/512            129 ns      25.2 ns
      bm_mismatch<int>/4096          1009 ns       201 ns
      bm_mismatch<int>/32768         7776 ns      2144 ns
      bm_mismatch<int>/262144       62371 ns     20551 ns
      bm_mismatch<int>/1048576     254750 ns     90097 ns
      ```
      b68e2eba
    • Harvin Iriawan's avatar
      [CodeGen] Update for scalable MemoryType in MMO (#70452) · 57146dae
      Harvin Iriawan authored
      
      
      Remove getSizeOrUnknown call when MachineMemOperand is created.  For Scalable
      TypeSize, the MemoryType created becomes a scalable_vector.
      
      2 MMOs that have scalable memory access can then use the updated BasicAA that
      understands scalable LocationSize.
      
      Original Patch by Harvin Iriawan
      Co-authored-by: default avatarDavid Green <david.green@arm.com>
      57146dae
    • Nikolas Klauser's avatar
      [libc++] Don't push and pop extensions diagnostics when using clang modules (#85917) · f886dfed
      Nikolas Klauser authored
      Clang modules take a significant compile time hit when pushing and
      popping diagnostics. Since all the headers are marked as system headers
      in the modulemap, we can simply disable this pushing and popping when
      building with clang modules.
      f886dfed
    • Evgenii Kudriashov's avatar
      [GlobalISel] Introduce G_TRAP, G_DEBUGTRAP, G_UBSANTRAP (#84941) · d365a45c
      Evgenii Kudriashov authored
      Here we introduce three new GMIR instructions to cover a set of trap
      intrinsics. The idea behind it is that generic intrinsics shouldn't be
      used with G_INTRINSIC opcode.
      
      These new instructions can match perfectly with existing trap ISD nodes.
      It allows X86, AArch64, RISCV and Mips to reuse SelectionDAG patterns for
      selection and avoid manual selection. However AMDGPU is an exception. It
      selects traps during legalization regardless SelectionDAG or GlobalISel.
      
      Since there are not many places where traps are used, this change
      attempts to clean up all the usages of G_INTRINSIC with trap intrinsics. So,
      there is no stage when both G_TRAP and
      G_INTRINSIC_W_SIDE_EFFECTS(@llvm.trap) are allowed.
      d365a45c
    • XChy's avatar
      [CodeGen][NFC] Update tests in AArch64/and-sink.ll · d7c67283
      XChy authored
      d7c67283
    • Muhammad Omair Javaid's avatar
    • Owen Pan's avatar
    • Owen Pan's avatar
      579dc7f8