1. Dec 05, 2023
  2. Dec 04, 2023
    • Ulrich Weigand's avatar
      [SystemZ] Fix naming of vlrlr/vstrlr builtins · dca432cb
      Ulrich Weigand authored
      The builtins that expand to the vlrl/vlrlr and vstrl/vstrlr
      instructions are currently named inconsistently between GCC
      and clang.  Rename the clang versions to match GCC.
      dca432cb
    • Ulrich Weigand's avatar
      [SystemZ] Implement vector rotate in terms of funnel shift · c61eb440
      Ulrich Weigand authored
      Clang currently implements a set of vector rotate builtins
      (__builtin_s390_verll*) in terms of platform-specific LLVM
      intrinsics.  To simplify the IR (and allow for common code
      optimizations if applicable), this patch removes those LLVM
      intrinsics and implements the builtins in terms of the
      platform-independent funnel shift intrinsics instead.
      
      Also, fix the prototype of the __builtin_s390_verll*
      builtins for full compatibility with GCC.
      c61eb440
    • Guray Ozen's avatar
      [mlir][nvvm] Introduce `nvvm.fence.proxy` (#74057) · 80ff67be
      Guray Ozen authored
      This PR introduce `nvvm.fence.proxy` OP for the following cases:
      
      ```
      nvvm.fence.proxy { kind = #nvvm.proxy_kind<alias>}
      nvvm.fence.proxy { kind = #nvvm.proxy_kind<async>}
      nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.global>}
      nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cta>}
      nvvm.fence.proxy { kind = #nvvm.proxy_kind<async.shared>, space = #nvvm.shared_space<cluster>}
      ```
      80ff67be
    • Guray Ozen's avatar
      [mlir][nvgpu] Add address space attribute converter in nvgpu-to-nvvm pass (#74075) · 3a03da37
      Guray Ozen authored
      GPU dialect has `#gpu.address_space<workgroup>` for shared memory of
      NVGPU (address space =3). Howeverm when IR combine NVGPU and GPU
      dialect, `nvgpu-to-nvvm` pass fails due to missing attribute conversion.
      
      This PR adds `populateGpuMemorySpaceAttributeConversions` to
      nvgou-to-nvvm lowering, so we can use `#gpu.address_space<workgroup>`
      `nvgpu-to-nvvm` pass
      3a03da37
    • Ulrich Weigand's avatar
      0c568c25