[all-commits] [llvm/llvm-project] 12fb0d: [DirectX] Legalize memcpy (#139173)

Deric C. via All-commits all-commits at lists.llvm.org
Mon May 19 09:35:20 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12fb0d451bbdd1d1e8035197e4f5e47e8afa6141
      https://github.com/llvm/llvm-project/commit/12fb0d451bbdd1d1e8035197e4f5e47e8afa6141
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2025-05-19 (Mon, 19 May 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
    A llvm/test/CodeGen/DirectX/legalize-memcpy.ll

  Log Message:
  -----------
  [DirectX] Legalize memcpy (#139173)

Fixes #137188 

This PR legalizes memcpy for DXIL in cases where:
- the src and dst arguments are from Alloca or a GlobalVariable,
- the src and dst are pointers to an ArrayType,
- the array element types of src and dst must be equivalent, and
- the len param is a ConstantInt

These assumptions simplify the legalization and, with the addition of
#138991, covers the currently-known cases of memcpy that appear when
compiling DML shaders.

This PR may be unnecessary if #138788 determines that memset and memcpy
can be eliminated entirely.

---------

Co-authored-by: Finn Plummer <canadienfinn at gmail.com>
Co-authored-by: Greg Roth <grroth at microsoft.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list